Ethereal 用户手册

18094 for Ethereal 0.10.14

Ulf Lamping

 

Richard Sharpe

NS Computer Software and Services P/L

Ed Warnicke

 

允许基于GNU的标准对该文档进行复制、分发、或修改。包括版本2及由Free Software Foundation(免费软件基金会)发布的任何后续版本。

在该文档中的所有徽标及商标的所有权属于各自的所有者。

翻译者列表(说明:任何人可对该文档进行再翻译及修订,请按顺序留下姓名)

胡彼德 peterhu318@hotmail.com 2006.6.6 完整除附录以后的所有章节翻译,历时约一个月

 


目录

前言

1.

2. 谁适合看这篇文档?

3. 感谢

4. 关于这篇文档

5. 何处可以得到该文档的最新版本?

6. 提供关于该文档的反馈

1. 介绍

1.1. Ethereal是什么?

1.1.1. 该软件的特定功能

1.1.2. 软件特色

1.1.3. 从许多不同网络介质实时捕获a

1.1.4. 导入其它程序的捕获文件

1.1.5. 导出捕获的文件,以便其它捕获程序读取

1.1.6. 协议解码器

1.1.7. 开放源代码软件

1.1.8. Ethereal不能做什么

1.2. Ethereal的运行平台

1.2.1. Unix

1.2.2. Linux

1.2.3. Microsoft Windows

1.3. 从可处获得Ethereal?

1.4. A rose by any other name

1.5. Ethereal的开发历史

1.6. Ethereal的开发及维护

1.7. 报告问题及帮助

1.7.1. 网站

1.7.2. Wiki

1.7.3. 常见问题FAQ

1.7.4. 邮件讨论组

1.7.5. 报告问题

1.7.6. 报告UNIX/LINUX平台下的Crash情况(Crash:系统异常退出)

1.7.7. 报告WIN平台的Crash情况

2. 编译及安装

2.1. 介绍

2.2. 获得源代码及可执行代码

2.3. UNIX平台下编译之前需要做的工作

2.4. UNIX下编译

2.5. UNIX平台下安装已编译的

2.5.1. RedHat平台安装基于rpm的包

2.5.2. Debian下安装deb

2.6. UNIX平台下安装常见问题及解决办法

2.7. Windows平台下进行编译

2.8. Windows下安装

2.8.1. 安装Ethereal

2.8.2. 安装WinPcap

2.8.3. 更新Ethereal

2.8.4. 更新WinPcap

2.8.5. 卸载Ethereal

2.8.6. 卸载WinPcap

3. 用户界面

3.1. 介绍

3.2. 启动Ethereal

3.3. 主窗口

3.4. 菜单

3.5. File”(文件)菜单

3.6. Edit”(编辑)菜单

3.7. View”(查看)菜单

3.8. Go”菜单

3.9. Capture”(捕获)菜单

3.10. Analyze”(分析)菜单

3.11. Statistics”(统计)菜单

3.12. Help”(帮助)菜单

3.13. Main”(主)工具条

3.14. Filter”(过滤)工具条

3.15. Packet List”(包列表)面板

3.16. Packet Details”(包的详细信息)面板

3.17. Packet Bytes”(包的字节)面板

3.18. 状态栏

4. 捕获动态的网络数据包

4.1. 介绍

4.2. 首要条件

4.3. 开始捕获

4.4. Capture Interfaces”(捕获界面)对话窗

4.5. Capture Options”(选项)对话窗

4.5.1. Capture”(捕获)子窗口

4.5.2. Capture Files(s)”(捕获到文件)子窗口

4.5.3. Stop capture...”(停止捕获)子窗口

4.5.4. Display Options”(显示选项)子窗口

4.5.5. Name Resolution”(名称解析)子窗口

4.5.6. 按钮

4.6. 捕获到文件及文件保存的模式

4.7. 链路层头的类型

4.8. 捕获时进行过滤

4.9. 当进行捕获时… ...

4.9.1. 停止捕获

4.9.2. 重新开始捕获

5. 文件输入/输出及打印

5.1. 介绍

5.2. 打开捕获的文件

5.2.1. Open Capture File”(打开捕获文件)对话框

5.2.2. 输入文件格式

5.3. 保存捕获的包

5.3.1. Save Capture File As”(保存到)对话框

5.3.2. 输出文件格式

5.4. 合并捕获文件

5.4.1. Merge with Capture File”(合并捕获文件)对话框

5.5. 文件设置

5.5.1. List Files”(列出文件)对话框

5.6. 导出数据

5.6.1. Export as Plain Text File”(以纯文本方式导出)对话框

5.6.2. Export as PostScript File”(以PostScript格式导出)对话框

5.6.3. Export as CSV file”(以CSV格式导出)对话框

5.6.4. Export as PSML file”(以PSML格式导出)对话框

5.6.5. Export as PDML file”(以PDML格式导出)对话框

5.6.6. Export selected packet bytes”(导出选择的包字节)对话框

5.7. 打印包

5.7.1. Print”(打印)对话框

5.8. Packet Range”子窗口

5.9. Packet Format”子窗口

6. 使用捕获的包

6.1. 查看捕获的包

6.2. 过滤后查看

6.3. 建立显示过滤表达式

6.3.1. 显示过滤字段

6.3.2. 比较

6.3.3. 表达式组合

6.3.4. 一个常犯的错误

6.4. Filter Expression”(过滤表达式)对话框

6.5. 定义&保存过滤表达式

6.6. 查找包

6.6.1. Find Packet”(查找包)对话框

6.6.2. Find Next”(查找下一个)命令

6.6.3. Find Previous”(查找前一个)命令

6.7. 转到一个特定的包

6.7.1. Go Back”(回跳)命令

6.7.2. Go Forward”(前跳)命令

6.7.3. Go to Packet”(转到包)对话框

6.7.4. Go to Corresponding Packet”(转到相应的包)命令

6.7.5. Go to First Packet”(转到第一个包)命令

6.7.6. Go to Last Packet”(转到最后一个包)命令

6.8. 对包进行标记

6.9. 时间显示格式及参考时间

6.9.1. 包的参考时间

7. 进阶

7.1. 介绍

7.2. 跟随TCP数据流

7.2.1. Follow TCP Stream”(跟随TCP数据流)对话框

7.3. 时间戳

7.3.1. Ethereal内部时间格式

7.3.2. 捕获文件的格式

7.3.3. 精度

7.4. 时区

7.4.1. 正确设置计算机的时间!

7.4.2. Ethereal与时区

7.5. 包的重新封装

7.5.1. 什么是封装?

7.5.2. Ethereal如何处理

7.6. 名称解析

7.6.1. 名称解析的缺点

7.6.2. 以太网名称解析(MAC)

7.6.3. IP 名称解析(网络层)

7.6.4. IPX 名称解析(网络层)

7.6.5. TCP/UDP 端口名解析(传输层)

7.7. 校验和

7.7.1. Ethereal校验和确认

7.7.2. 校验和卸载

8. 统计

8.1. 介绍

8.2. 汇总窗口

8.3. 协议分层窗口

8.4. 端点

8.4.1. 什么是端点?

8.4.2. 端点窗口

8.4.3. 特定协议的端点列表窗口

8.5. 会话

8.5.1. 什么是会话?

8.5.2. 会话窗口

8.5.3. 特定协议的会话列表窗口

8.6. "IO图形"窗口

8.7. 服务响应时间

8.7.1. DCE-RPC服务响应时间窗口

8.8. 特定协议统计窗口

9. 定制Ethereal

9.1. 介绍

9.2. 从命令行启动Ethereal

9.3. 包的着色

9.4. 控制协议解码

9.4.1. "Enabled协议"对话框

9.4.2. 用户指定的解码器

9.4.3. 显示用户指定的解码器

9.5. 参数设置

A. Configuration (and other) Files and Folders

A.1. Windows folders

A.1.1. Windows profiles

A.1.2. Windows NT/2000/XP roaming profiles

A.1.3. Windows temporary folder

B. Protocols and Protocol Fields

C. Ethereal Messages

C.1. Packet List Messages

C.1.1. [Malformed Packet]

C.1.2. [Packet size limited during capture]

C.2. Packet Details Messages

C.2.1. [Response in frame: 123]

C.2.2. [Request in frame: 123]

C.2.3. [Time from request: 0.123 seconds]

D. Related command line tools

D.1. Introduction

D.2. tcpdump: Capturing with tcpdump for viewing with Ethereal

D.3. tethereal: Terminal-based Ethereal

D.4. capinfos: Print information about capture files

D.5. editcap: Edit capture files

D.6. mergecap: Merging multiple capture files into one

D.7. text2pcap: Converting ASCII hexdumps to network captures

D.8. idl2eth: Creating dissectors from Corba IDL files

D.8.1. What is it?

D.8.2. Why do this?

D.8.3. How to use idl2eth

D.8.4. TODO

D.8.5. Limitations

D.8.6. Notes

E. This Document's License (GPL)

前言Preface

1. 

Ethereal是一个许多网络管理员喜欢使用的软件,但是由于Ethereal的文档不是很丰富,网络管理员有时不能通过Ethereal得到他们想要的东西

这篇文档就是Ethereal小组为改进Ethereal的可用性所做的一点努力。

希望它对你有所帮助,并且期望能得到你的建议

2. 哪些人应该看该文档

任何使用Ethereal的人都可以是这本书的读者。

这本书介绍 Ehereal的所有基本内容及一些Ethereal提供的特别功能。由于Ethereal已经是一个非常复杂的综合的程序,因此并不是每一个优点都做了说明。.

这本书的目的不是解释网络嗅探,应此并不讲解协议的具体内容。与这些内容相关的信息可以通过下面的Ethereal Wiki这个网站获得,网址是:http://wiki.ethereal.com

通过读这本书,你将学到怎样安装Ethereal,怎么使用基本的图形元素以及一些高级特性。这本书对于Ethereal初学者解决常见的一些问题是非常有用的。

3. 感谢

作者感谢Ethereal小组的协助。另外,作者还要对下面的人说一声谢谢,他们是:

         Gerald Combs, Ethereal项目的发起者,并且对该文档的制作进行了资助

         Guy Harris, 提出了很多有用的建议,并且耐心的对该文档进行了大量的复核

         Gilbert Ramirez, 给了我们很多鼓励和有用的建议

将感谢下面这些人为篇文档给出的反馈

         Pat Eyler, 对改进建立反向跟踪的例子提供了很有用的建议

         Martin Regner, 提供了他的一些建议并进行了一些修正

         Graeme Hewson, 做了一些文法方面的修改

将感谢那些man页及readme文档的作者们,该文档加入了他们写的一些内容

         Scott Renfro from whose mergecap man page Section D.6, “mergecap: Merging multiple capture files into one ” is derived.

         Ashok Narayanan from whose text2pcap man page Section D.7, “text2pcap: Converting ASCII hexdumps to network captures ” is derived.

         Frank Singleton from whose README.idl2eth Section D.8, “idl2eth: Creating dissectors from Corba IDL files ” is derived.

4. 关于该文档

这本书的发起者是Richard Sharpe [Peter:with funds provided from the Ethereal Fund.] Ed Warnicke 进行了更新,最近进行的重新设计及更新是由Ulf Lamping完成的。

该文档是用DocBook/XML写的。

该书使用的一些特殊标记

[Warning]

这是一个警告!

你应该注意这个警告,否则可能会丢失数据

[Note]

这是一个注解!

注解将指出常见的错误及不是很明显的一些东西

 

[Tip]

这是一个提示!

它对你每天使用Ethereal进行工作是非常有帮助的.

5. 获取该方档的最新版本

可以从下面的地址获得该文档的最新版 本: http://www.ethereal.com/docs/#usersguide.

6. 提供对这篇文档的反馈

对该文档的任何反馈,请发E-mail给作者,邮箱是: ethereal-dev[AT]ethereal.com.

Chapter 1. 介绍

 

1.1. 什么是Ethereal?

Ethereal是一个网络包的分析仪。网络分析仪通常试着去捕获网络包,然后尽可能详细的显示出那个包所包含的数据。

你或许觉得网络分析仪就是一个测量仪,能够测量网络线缆里经过的数据。就是电工使用的伏特计,可以测试电缆里的电压。(当然,Ethereal在一个更高的层次上).

在过去,这样的工具即昂贵,又很少见到。但是随着Ethereal的出现,这一切被改变了

或许Ethereal是今天最好的基于开放源代码的网络包分析仪之一。

1.1.1几个常用功能

下面是使用Ethereal可以完成的几个工作:

         网络管理员使用它去帮助解决网络问题

         网络安全工程师用它去测试安全问题

         开发人员用它是调试协议的实现过程

         用它还可以帮助人员深入的学习网络协议

当然Ethereal在其它的一些方面也是非常有用的。

1.1.2特性

下面是Ethereal提供的一些特性:

         支持UNIX 平台和 Windows平台。

         从网络接口上捕获实时数据包

         以非常详细的协议方式显示数据包

         可以打开或者存贮捕获的数据包

         导入/导出数据包,从/到其它的捕获程序

         按多种方式过滤数据包

         按多种方式查找数据包

         根据过滤条件,以不同的颜色显示数据包

         可以建立多种统计数据

         ... 还有很多其它特性

但是,要想真正体验到Ethereal的强大功能,你必须亲自使用它。

 1.1, “ Ethereal捕获数据包并允许检查包的内容 显示了Ethereal已经捕获的数据包,并等待你去检查这些包的内容

 1.1.  Ethereal捕获数据包并允许检查包的内容

Ethereal captures packets and allows you to examine their content.

1.1.3在各种网络介质上进行实时捕获

Ethereal不象他的名字一样,只能对以太网数据进行捕获,他可以捕获许多非以太网数据。Ethereal支持的网络介质取决于许多因素,比如你的操作系统等。Ethereal支持的网络介质类型可以从以下网址得到: http://www.ethereal.com/media.html.

1.1.4导入其它程序的捕获文件

Ethereal能够打开许多程序捕获文件,支持的文件格式参见5.2.2, 输入文件格式.

1.1.5导出文件

Ethereal可以将捕获的数据包按照多种格式保存,以便其它厂家的捕获程序读取。Ethereal可支持的输出格式参见 5.3.2, 输出文件格式

1.1.6多种协议解码器

Ethereal可以对很多很多协议进行解码,具体列表可参见附录 B, 协议和协议字段.

1.1.7开放源代码软件

Ethereal是一个开放源代码软件工程,基于GPL发布。你可以在任何数量的计算机上免费使用,无须担心授权码及费用问题。另外,所有源代码也是免费的(遵守GPL),因此任何人可以追加新的协议到Ethereal里,可能通过插件形式,也可以通过源代码的方式,人们通常使用后者。

1.1.8. Ethereal不具备的功能

下面是Ethereal不具备的功能

         Ethereal不是一个IDS(入侵检测系统),如果某些人在你的网络上做一些不允许的事情,Ethereal并不发出警告。但是,如果出现异常情况,Ethereal可以帮你查找出正在发生的问题

         Ethereal不能改变网络上的任何事情,它只能监测。Ethereal不会向网络上发送任何包或者其它的活动(名字解析除外,但是这个功能是可以disable的)

1.2. 运行平台

Ethereal目前可以运行很多的UNIX平台及Windows平台。不过需要GTK+, GLib, libpcap及其它一些库文件的支持。

如果对于某个特定平台没有相应的可执行包,可以下载源码进行编译,你的经验可以发到下面的邮箱: ethereal-dev[AT]ethereal.com.

下面的平台已经有了相应的可执行包(Binary packages

1.2.1. Unix

         Apple Mac OS X

         BeOS

         FreeBSD

         HP-UX

         IBM AIX

         NetBSD

         OpenBSD

         SCO UnixWare/OpenUnix

         SGI Irix

         Sun Solaris/Intel

         Sun Solaris/Sparc

         Tru64 UNIX (formerly Digital UNIX)

1.2.2. Linux

         Debian GNU/Linux

         Gentoo Linux

         IBM S/390 Linux (Red Hat)

         Mandrake Linux

         PLD Linux

         Red Hat Linux

         Rock Linux

         Slackware Linux

         Suse Linux

1.2.3. Microsoft Windows

支持的::

         Windows Server 2003 / XP / 2000 / NT 4.0

         Windows Me / 98

不支持的: (因为缺少相应的库文件):

         Windows CE

         Windows NT / XP Embedded

         Windows 95 WinPcap不再支持及维护WIN95,但是可以工作

未知(新版本):

         Windows XP 64-bit Edition

         Windows Vista (aka Longhorn)

请提供关于新版本下运行Ethereal的经验至: ethereal-dev[AT]ethereal.com.

1.3. 获取Ethereal软件

Ethereal website: http://www.ethereal.com/download.html,可以从这儿获得Ethereal的最新版本。也可以从这个网站的镜象站点下载。

通常每4-8周,将会有一个新版本出现。

如果当有新版本出现时得到一个通知,你可以订阅Ethereal-annouce邮件列表。具体请参见1.7.4, “邮件列表.

1.4. A rose by any other name(不知怎么翻译)

William Shakespeare wrote: "A rose by any other name would smell as sweet." And so it is with Ethereal, as there appears to be two different ways that people pronounce the name.

有些人读作ether-real, 而有些人读作it e-the-real, [peter:因为它如此的可怕 原文:as in ghostly, insubstantial, etc. ]

你可以任何称呼它,FAQ给出的发音是"e-the-real".

1.5.  Ethereal的历史

1997年末, Gerald Combs需要一个工具来跟踪网络崩溃问题,并且想学习更多的网络知识,因此他开始写Ethereal软件。.

经过几次停滞,Ethereal19987月首次发布了,当时的版本是0.2.0. 几天内,补丁、bug报告,还有一些对这个软件表示赞赏的言论都开始出现了,Ethereal走上了成功之路。

不久之后,Gilbert Ramirez 看到了它存在的潜能,于是贡献了一个底层的解码器给Ethereal

199810Network Appliance公司的Guy Harris要找一个比tcpview好一点的工具,于是他开始对Ethereal提供patch及一些解码器。

1998年末, Richard Sharpe要教TCP/IP课程, 看到了Ethereal对其课程的帮助力,于是开始关注这个软件是否支持他需要的协议。当有不支持的协议时,他就将这些新的解码器加进去,还包括一些补丁。

Ethereal做出贡献的人的名单已经很长了,他们中几乎所有人都是因为他们需要一个协议而Ethereal当时无法持的情况下与Ethereal开始的,因此他们通常拷贝一个解码器,再把源码发回给Ethereal小组。

1.6.  开发&维护

Ethereal最初是由Gerald Combs开发的。现在Ethereal小组负继续的开发及维护工作。Ethereal小组是一个松散的小组,由于许多修复BUG及提供新功能的个人组成。

也有非常非常多的人提供协议解码器,希望这种情况能保持下去。通过点击“About Ethereal”对话框,你可以看到这些人的名单,或者在网站上的authors页面

Ethereal是一个开放源代码工程,它的发布是基于GNU General Public Licence (GPL). GPL下,所有源代码都是免费使用的。你可以修改Ethereal以适应自己的需求,同样欢迎你将自己的改进反馈给Ethereal 小组。

如果将你的改进反馈给小组,你能获得下面三点好处:

         那些发现你的贡献对他们很有用的人会非常感激你,并且你会知你帮助了他们,就Ethereal的开发者帮助大家一样。

         因为开发者一直进行软件的改进工作,或许他们能更好更多的改进你的建议。或者他们能在你的代码的出上再加一些好的东西,这对你自己也是有帮助的

         维护及开发人员会很好的维护你的代码,当有API改变(或其它改变)时,他们会帮你修正,并保持最优化。因此,如果Ethereal更新了,你能在网站得到一个新版本,并且你的改进已经包含在新版本中了。

源代码及可执行套件在网站的下载页面: http://www.ethereal.com/download.html.

1.7. 报告问题及获得帮助

如果你有问题或需要帮助,下面这几个地方或许对你有用(当然也包括这本手册)

1.7.1网站

在网站会有很多有用的信息http://www.ethereal.com.

1.7.2. Wiki

The Ethereal Wiki at http://wiki.ethereal.com 提供了一个与Ethereal相关的更广泛的信息,包括包捕获内容。它提供了许多这本手册没有提供的内容,例如:怎样在一个交换的网络里进行捕获、正在进行的建立一个协议参考书的努力及其它等等

最好的是,如果你想分享你在某一方面的知识时(你最擅长的网络协议),你可以用浏览器很容易的去编辑wiki的页面

1.7.3. FAQ常见问题及回答

The "常见问题及回答 " 将列出常见的问题及对这些问题的正确回答

[Note]

FAQ!

在发送mail到下面的邮件列表之前,首先确认你已经看了FAQ,这将节省你和其它人的时间。(要知道很多人都订阅了邮件列表).

Ethereal里,通过点击Help/contents,然后选择FAQ,就能看到常见问题及回答

Ethereal的网站上,有一个在线版本: http://www.ethereal.com/faq.html. 这是一个HTML格式的,容易使用,而且是最新的。

1.7.4邮件列表

根据不同的题目,有下面几个邮件列表

ethereal-announce(译:ethereal发布)

这个列表列完成新版本的通知功能,通常 4-8周出现一次。

ethereal-users(译:用户)

这是针对Ethereal用户的邮件列表,人们可将在使用和编译Ethereal中遇到的问题发出来,其它人将会回答你的问题

ethereal-dev(译:开发)

这是开发者的一个邮件列表,如果你想开发一个协议解码器,你可以加入这个列表

可以通过网站订阅这些邮件列表http://www.ethereal.com,简单的选择页面左边的mailing lists 链接就可以。 The lists are archived at the Ethereal web site as well.

[Tip]

提示!

你可以通过搜索列表文档看是否有人问过相同的问题,或许已经有人回答,这样能节省时间

1.7.5报告问题

[Note]

注意!

在报告任何问题时,请首先确认你已经安装了最新版的Ethereal

在报告问题时,请提供下面的信息:

1.      Ethereal的版本号及与其关联的库,如GTK+等等。可以通过ethereal –v命令获得这些信息

2.      Ethereal运行的平台的信息

3.      详细描述你遇到的问题

4.      如果出现了错误或告警信息,记下这些信息(包括前面和后面的部分信息,如果有的话),这样就能发现在什么地方出问题了。不要告诉说“当我做X时,得到一个告警信息”

[Note]

不要发送大文件!

不要发送大文件到邮件列表(>100KB), 只需要说明你有可能需要的数据就行。大文件会让那些对你的问题不感 兴趣的人烦的。 如果可能,真能帮助你的人会向你要需要的数据的

[Warning]

不要送需要保密的信息!

在送捕获数据到邮件列时,请确认不要包含敏感或者保密的信息,比如密码。

1.7.6报告程序崩溃( Crashe),UNIX/Linux平台

当报告一个Crash错误时,最好提供一些可回溯信息(traceback (在“报告问题”之外的信息).

你可以通过下面的命令获得这些可回溯(traceback)信息:

 
$ gdb `whereis ethereal | cut -f2 -d: | cut -d' ' -f2` core >& bt.txt
backtrace
^D
$
 
 

[Note]

注意

逐字的打入第一行! Those are back-tics there!

[Note]

注意

backtrace 是一个gdb 命令。当第一行显示后,逐字的输入它,但是这个命令不回显任何信息,通过按^D (Control-D)可以退出gdb . 这样,会在当前目录下产生一个bt.txt文件。将这个文件包含在你的bug报告中。

 

[Note]

注意

如果你没有gdb 可用,你不得不是检查你的系统调试器

Traceback可以mailethereal-dev[AT]ethereal.com 邮件列表。

1.7.7报告Windows平台下的Crash问题

Windows版不包含符号文件 (.pdb),因为他们非常大。由于这个原因是不可能建立backtrace文件的。你只能报告其它问题一样报告crash情了。

Chapter 2. 创建和安装Ethereal

 

2.1. 介绍

任何事情都有开始一样,开始使用Ethereal之前,需要完成:

         获取与您使用的操作系统相匹配的二进制包,或者

         获得源代码自己创建Ethereal

目前,只有两三个Linux 发布版包括了Ethereal,而且通常都是较老的版本,其它UNIX版本都不带Ethereal。微软的Windows的任何版本也没有附带Ethereal,因此,你需要知道从何处去得到最新版本及如何安装

这一章将讲述如何获是源代码和二制制包,怎样从源代码去创建Ethereal。[peter:怎么译?should you choose to do so.

下面是通常的几个步取骤

1.      下载相应的包,比如源代码或发布的二进制包

2.      通过源文件创建二进制包

这步可能会调用创建或安装其它的一些必须的包

3.      安装二进制文件到最终目录。

2.2. 获取源代码和二进制发布包

源代码及二进制发布包可以从Ethereal网站获得http://www.ethereal.com.。选择download(下载)链接,然后选择源代码或二进制包,可以从离你最近的镜象站点下载。

[Note]

下载所有需要的文件!

如果准备从源代码创建Ethereal,你很可能需要下载几个源代码包,下面会有详细的说明.

一旦下载完了相关的文件,就可以进入下一步了

[Note]

注意!

While you will find a number of binary packages available on the Ethereal web site, you might not find one for your platform, and they often tend to be several versions behind the current released version, as they are contributed by people who have the platforms they are built for.

For this reason, you might want to pull down the source distribution and build it, as the process is relatively simple.

2.3. UNIX下创建Ethereal需要准备的工作

在创建、安装Ethereal之间,需要确认已经安装了下面的包:

         GTK+, GIMP工具包

也需要Glib。它们都可以从www.gtk.org 获得。

         libpcap, Ethereal使用的包捕获软件

可以从 www.tcpdump.org 获得

至于是通过RPM方式还是通过源代码创建这些包,这取决于你自己的系统。

如果已经下载了GTK+的源代码, 例子 2.1, 通过源代码创建GTK+ 或许对你创建包有所帮助

例子 2.1. 通过源代码创建GTK+

 
gzip -dc gtk+-1.2.10.tar.gz | tar xvf -
<much output removed>
cd gtk+-1.2.10
./configure
<输出省略>
make
<输出省略>
make install
<输出省略>
  

[Note]

注意!

例子 2.1, 通过源代码创建 gtk+的版本号需要和你下载的GTK+包一致。tar xvf – 将显示需要改变成的目录的名字

[Note]

注意!

如果使用LINUXGNU tar 包,可以使用tar zxvf gtk+-1.2.10.tar.gz命令,用gunzip -c or gzcat 代替gzip -dc 在许多UNIX系统是可行的

 

[Note]

注意!

如果你在Windows下下载了gtk+ 或其它tar文件,可能会发现文件名为gtk+-1_2_8_tar.gz.

如果按照 例子 2.1, 通过源代码创建GTK+ 的步骤做时出现问题,请参考GTK+网站。

如果你下载了libpcap源代码, 例子 2.2, 创建和安装libpcap 的步骤将协助你创建它。另外,如果你的操作系统不支持tcpdump,你或许也想下载并安装它(从tcpdump 网站)[peter:搞不明白什么意思]

例子 2.2. 创建、安装 libpcap

 
gzip -dc libpcap-0.8.3.tar.Z | tar xvf -
<输出省略>
cd libpcap_0_8_3
./configure
<输出省略>
make
<输出省略>
make install
<输出省略>
make install-incl
<输出省略>
  

[Note]

注意!

你要改变的目录取决于你的版本,所有情况下 tar xvf – 将会显示被解包的目录

当安装include文件时 ,可能会得到一些错误提示, 例子 2.3, 安装bpcap include文件时遇到的一些错误

例子 2.3. 安装libpcap include文件时遇到的错误

 
/usr/local/include/pcap.h
/usr/bin/install -c -m 444 -o bin -g bin ./pcap-namedb.h \
/usr/local/include/pcap-namedb.h
/usr/bin/install -c -m 444 -o bin -g bin ./net/bpf.h \
/usr/local/include/net/bpf.h
/usr/bin/install: cannot create regular file \
`/usr/local/include/net/bpf.h': No such file or directory
make: *** [install-incl] Error 1
  

如果你遇到了上面的错误,只要简单的用下面的命令创建丢失的目录就可以了

 
mkdir /usr/local/include/net
 

然后返回到命令行重新make install-incl.

RedHat 6.x 或更新的版本下 (或者基于它发布的,比如Mandrake) ,可以容易的安装每一个你需要的rpm包。大多数Linux系统将安装GTK+Glib。但是你或许需要安装,however, you will probably need to install the devel versions of each of these packages. 例子 2.4, RedHat Linux 6.2及更新版本下安装所需的RPMs 给出全部需要的命令

例子 2.4.  RedHat Linux 6.2及更新版本下安装所需的RPMs

 
cd /mnt/cdrom/RedHat/RPMS
rpm -ivh glib-1.2.6-3.i386.rpm
rpm -ivh glib-devel-1.2.6-3.i386.rpm
rpm -ivh gtk+-1.2.6-7.i386.rpm
rpm -ivh gtk+-devel-1.2.6-7.i386.rpm
rpm -ivh libpcap-0.4-19.i386.rpm
  

[Note]

注意

如果RedHat版本低于6.2 RPMs包的名字可能与上面的不一致,需要使用你的发布包里的正确的RPM

Debian下安装时可以使用apt-get apt-get能够帮助用户处理包之间的相关性问题。 例子 2.5, Debian下安装debs 给出了安装方法

例子 2.5. Debian下安装debs

 
apt-get install ethereal
  

2.4. UNIX下通过源代码创建Ethereal

UNIX操作系统下,通过源代码创建Ethereal,可以按以下步骤:Use the following general steps if you are building Ethereal from source under a UNIX operating system:

1.      解包。如果使用Linux或者GNU tar,可以使用下面的命令

tar zxvf ethereal-0.10.14-tar.gz
  

对于其它版本的UNIX,可以使用下面的命令

 
gzip -d ethereal-0.10.14-tar.gz
tar xvf ethereal-0.10.14-tar
  

[Note]

注意!

通常 gzip -dc ethereal-0.10.14-tar.gz | tar xvf – 这个命令组合可能更好用一些.

[Note]

注意!

如果在Windows下下载了Etherealtar包,文件名中的点可能会变成下划线.

2.      改变到Ethereal源文件目录

3.      配置源码,以便为你的UNIX版本正确创建。使用下面的命令完成配置源码的工作

 
./configure
  

如果这一步失败,需要查出问题,然后再重新configure。解决问题的一些提示列Section 2.6, 解决在UNIX下安装时的问题

4.      创建二进制文件,使用make 命令

 
make
  

5.      使用下面的命令进行软件的最终安装

 
make install
  

使用上面的make install 安装完成后,通过在命令行输入ethereal,就可以试着运行了。

2.5. UNIX下安装二进制文件包

通常,在UNIX下安装二进制包,每一个版本的UNIX是各不相同的。例如:在AIX下,使用smit 来安装Ethereal二进制包,而在Tru64 UNIX (formerly Digital UNIX)通常使用setld.

2.5.1RedHat(或相似版本)安装:通过rpm包安装

Ethereal站点下载相应的rpm包,然后使用下面的命令进行安装:

 
rpm -ivh ethereal-0.10.5-0.2.2.i386.rpm
 

如果因为丢失相关包而造成安装失败,那么需要首先安装Ethereal依赖的包,然后再重新试一下上面的步骤。例子 2.4, ReaHat 6.2及更新版本下安装所需的RPMs 中列出了需要安装的rpm包。

2.5.2Debian下安装deb

Debian下使用下面的命令安装Ethereal

 
apt-get install ethereal
 

apt-get 会自行解决包的依存关系问题

2.6. 解决在UNIX下安装时遇到的问题

在安装过程中会有一些错误出现,这里提供一此解决这些问题办法

如果configure 命令失败,需要找出原因,可以检查config.log 文件来查找为什么的败(该文件在源文件目录下),这个文件的后面几行可以帮助你定位问题。

一个常见的问题是没有GTK+或者GTK+的版本太老。如果没有libpcap也会造成configure 失败

另外一个常见问题发生在最后编译和链接(link)语句,通常会给出一个Output too long(输出太长)的提示信息。这种情况很可是由于sed的版本太旧造成的(比如Solaris自带的一个) 因为libtool 脚本使用 sed h去组织最后的链接命令,这就产生了这个怪问题。解决办法是去下载一个新版的 sed (从 http://directory.fsf.org/GNU/sed.html.

如果无法确定问题到底出在哪儿,就将遇到的问题发到ethereal-dev 邮件列表,并附上config.log的输出及你认为任何有关的内容

2.7. Windows下通过源代码创建Ethereal

除非想在Windows平台进行开发工作,否则建议安装二进制型的安装包。

Windows平台下怎么通过源代码创建Ethereal的补充资料请参见http://wiki.ethereal.com/Development ,里面包含着最新的开发文档。

2.8. Windows下安装Ethereal

在这一部分对Windows下安装可执行包做出说明。

2.8.1安装 Ethereal

下载的Ethereal的文件名通常是这样的格式ethereal-setup-x.y.z.exe.

可以从这个站点下载然后执行安装 http://www.ethereal.com/download.html#releases

[Note]

注意!

0.10.12以后,Ethereal都内置了WinPcap,因此不需要再单独去下载安装WinPcap!

2.8.1.1. 命令行选项

安装时,可以不加任何选项直接点击进行安装,这种情况下将以交互方式进行安装。

下面是一些可用的命令行参数:

         /NCRC 放弃CRC 检查

         /S 以安静方式安装或卸载,采用默认值。注意:这种方式将不安装WinPCap!

         /desktopicon 桌面图标, =yes强制安装一个桌面图标, =no不安装桌面图标, 其它情况下采用默认的用户设置[peter:默认是什么呀?] 这个选项从0.10.13以后可以在安静(silent)方式下使用

         /quicklaunchicon 快速启动栏图标安装, =yes强制安装 =no不安装, otherwise use defaults / user settings. 该选项从0.10.13 版开始可以在安静(silent)安装模式下使用

         /D 设置默认的安装目录 ($INSTDIR), 覆盖InstallDirInstallDirRegKey。该参数必须放到命令的最后,且不能包含引号,即使是路径中有空格

例:

 
ethereal-setup-0.10.13.exe /NCRC /S /desktopicon=yes /quicklaunchicon=no /D=C:\Program Files\Foo
 

2.8.1.2. 安装内容

Beside the usual installer options like where to install the program, 有几个可选的安装内容:

[Tip]

提示!

如果不能确定选择哪些设置,就保留默认值

安装内容(Ethereal GTK12 不能被同时安装)

         Etheral GTK1 - Ethereal 是一个GUI的网络协议分析仪

         Etheral GTK2 - Ethereal 是一个GUI的网络协议分析仪(使用流行的GTK2 GUI 工具包,建议选该项)

         GTK-Wimp - GTKWimp GTK2 windows下的模拟器(native Win32 look and feel, recommended).

         Tethereal - Tethereal 是一个基于命令行的网络协议分析仪

EtherealTethereal用的扩展解码器

         Dissector Plugins带有扩展解码器的插件

         Tree Statistics Plugins带有扩展的统计能力的插件

         Mate - Meta 分析和跟踪引擎- 用户可配置的显示过滤引擎,详细内容见http://wiki.ethereal.com/Mate

         SNMP MIBs解码器的MIB

工具:

         Editcap – Editcap程序可以读取捕获的文件中的全部或部分包,然后写到另一个捕获文件

         Text2Pcap - 可以将一个十六进制的ASCIIDUMP文件转换成libpcap型的捕获文件

         Mergecap将多个捕获文件进行合并

         Capinfos显示捕获文件的信息

附加任务:

         Start Menu Shortcuts增加启动菜单快捷方式

         Desktop Icon在桌面上增加一个Ethereal图标

         Quick Launch Icon在快速启动栏增加一个图标

         Associate file extensions to Ethereal将标准的网络trace 文件关系到Ethereal.

2.8.2安装WinPcap

[Note]

注意!

正如上面提到的,Ethereal0.10.12版本开始内置了WinPcap,因此不必再担心 WinPcap的问题了!

如果WinPcap没有安装,仍可以打开原来保存过的捕获文件,但是不能进行实时的捕获

安装时,Ethereal安装软件会检查当前安装的WinPcap版本,如果没有安装或者版本太老,将会安装WinPcap

有关WinPcap的一些信息:

         Ethereal相关的信息: http://wiki.ethereal.com/WinPcap

         一般的WinPcap信息 : http://www.winpcap.org

2.8.2.1. 手工安装WinPcap

下面的步骤只有在用户想使用一个与Ethereal内置的WinPcap不同版本时才是必须的,比如WinPcap发布了一个测试版本,而用户想采用。

其它 一些WinPcap版本(包括新的alpha 或者beta) 可以从以下站点下载:

         WinPcap 主站点: http://www.winpcap.org

         ethereal.com 镜象站点: http://winpcap.mirror.ethereal.com

         Wiretapped.net镜象站点: http://www.mirrors.wiretapped.net/security/packet-capture/winpcap

在下载页面有一个单独的安装文件auto-installer.exe,这个文件可在大部分Windows平台安装,包括9x/Me/NT4.0/2000/XP.

2.8.3更新Ethereal

有时我们想将安装的Ethereal更新到最新版本。如果加入了Etherealannounce邮件列表,有新版本时将有得到通知, Section 1.7.4, 邮件列表 部分对怎样加入列表有详细的说明

通常每4-8周就会有一个新的版本。更新版本时,只要下载新版本的包,然后进行安装就可以了。一般情况下不需要重新启动,且会保留你原来的设置。

2.8.4更新WinPcap

WinPcap更新频率不是很高,有时仅仅一年更新一次。通常在下载的地方都有相应的更新方法的说明。新版本WinPcap安装后通常需要重新启动机器。

[Warning]

警告!

在安装新版WinPcap时,需要卸载旧版的WinPcap,不过新版的安装软件将会自动识别的

2.8.5卸载Ethereal

可以通过控制面板里的“追加删除程序”选项来卸载Ethereal

卸载时有几个选项需要考虑,默认情况下将卸装核心内容,但保留个人设置。WinPcap也是这样。

WinPcap默认不被卸载,因为其它程序可能还在需要WinPcap

2.8.6卸载WinPcap

WinPcap的卸装需要单独进行,同样可以通过控制面板里的“追加删除程序”项来完成,里面会有一项WinPcap

[Note]

注意!

WinPcap卸载后Ethereal不能捕获到任何东西!

卸装后最好重新启动Windows

Chapter 3. 用户接口

3.1. 介绍

到目前为止,我们已经完成了Ethereal的安装,现在最渴望的事情或许就是开始进行捕获你的第一包,在接下来的这章,我们将对以下内容进行学习

         Ethereal用户接口怎样工作

         怎么去捕获包

         怎样去查看包

         怎样去过滤包

         ... 还有其它的很多东西

3.2. 启动Ethereal

可通过命令行或Windows管理器来启动Ethereal

[Tip]

提示!

当启动Ethereal时,可能需要通过命令行指定选项,具体内容参见Section 9.2, 从命令行启动Ethereal

[Note]

注意!

在下面章节中,会有一些Ethereal屏幕抓图,由于存在多种平台及不同GUI工具包(GTK 1.x / 2.x)的使用,可能与你使用的Ethereal不一致。但功能方面来讲是一样的。

3.3.  主窗口

让我们来看一下Ethereal的用户界面, 3.1, 主窗口 就是当Ethereal捕获到一些包或都打开一个捕获文件后通常显示的画面。 (后面将讲述怎么做这些工作).

 3.1. 主窗口

The Main window

Ethereal的主窗口通常由下面几部分组成(其它GUI程序通常也是这样)

1.      菜单 (参见 Section 3.4, 菜单) :用于启动一个活动

2.      主工具(参见 Section 3.13, 主工具):提供快速访问菜单中常用项目的功能

3.      过滤工具条(参见 Section 3.14, 过滤工具条) :可以直接编辑当前使用的显示过滤条件 (参见).

4.      列表面板 (参见 Section 3.15, 包列表面板) 显示每一个包的摘要信息。通过在该面板单击相应的包,来控制其它两个面板显示的内容

5.      详细信息面板(参见 Section 3.16, 详细信息面板) 显示在列表面板中选 中的包的详细信息(解码过的)

6.      字节信息面板 (参见 Section 3.17, 字节信息面板) 显示包的完整数据,且会高亮度显示在详细信息面板中的选中的部分

7.      状态条 (参见 Section 3.18, 状态条) 显示当前程序和捕获的数据的一些详细的内容

[Tip]

提示!

主窗口的布局可以由用户自己更改,具体做法参见Section 9.5, “参数选择

3.4. 菜单

菜单位置于Ethereal主窗口的最上端,如 igure 3.2, “菜单

[Note]

注意!

如果菜单中的某一项可用时,它会以灰色显示。例如:如果即没有进行数据包捕获也没有打开任何捕获文件,那么save(保存)菜单项是可用的(即无法进行选择)。

Figure 3.2. 菜单

The Menu

菜单包含如下内容:

File(文件)

这个菜单包含:打开文件、合并文件、保存/打印/导出整个或部分捕获文件、退出。参见Section 3.5, "File"(文件)菜单.

Edit(编辑)

这个菜单包括:查找包、时间参照、标记一个或多个包、设置参数、(剪切、复制、粘贴目前可用),参见 Section 3.6, "Edit"(编辑)菜单 .

View(查看)

这个菜单控制捕获数据的显示,包括:给定特定的一类包标以不同的颜色、字体缩放、在一个新窗口中显示一个包、展开&折叠详细信息面板的树状结构,.... 参见 Section 3.7, "View"(查看)菜单.

Go

这个菜单实现转到一个特定包(注意:不是查找),参见 Section 3.8, "Go"菜单.

Capture(捕获)

这个菜单实现开始、停止捕获,编辑捕获过滤条件的功能。参见 Section 3.9, "Capture"(捕获)菜单.

Analyze(分析)

这个菜单包含编辑显示过滤、enable(开)或 disable(关)协议解码器、配置用户指定的解码方法、追踪一个TCP流。参见Section 3.10, "Analyze"(分析)菜单.

Statistics(统计)

该菜单完成统计功能。包括捕获的包的一个摘要、基于协议的包的数量等树状统计图等许多功能。参见 Section 3.11, "Statistics"(统计)菜单.

Help(帮助)

这个菜单包含了一些对用户有用的信息。比如基本帮助、支持的协议列表、手册页、在线访问到网站等等。参见 Section 3.12, "Help"(帮助)菜单.

每一个菜单的具体描述见下面相应的部分。

[Tip]

提示!

可以通过快捷键去快速访问相应的菜单项。例如:可以通过Contrl-K打开一个捕获对话框

3.5.  "File"(文件)菜单

菜单包括的项目见 3.1, 文件菜单项.

 3.3. "File"(文件)菜单

The "File" Menu

 3.1. 文件菜单

菜单项

快捷键

功能描述

Open...(打开)

Ctrl+O

打开一个“打开”对话框,以便装入一个捕获文件进行查看。更详细的内容见Section 5.2.1, 打开捕获文件对话框.

Open Recent(打开最近打开的)

 

这个菜单显示个子菜单,包括最近打开的几个捕获文件。可以直接点击相应的文件名来打开。

Merge...(合并)

 

该菜单打一合并文件对话框,允许将一个文件合并到当前装入的文件中。详见Section 5.4, 合并文件.

Close(关闭)

Ctrl+W

关闭当前的捕获内容。如果还未保存,系统会给出一 提示(可以通过参数设置放弃这一提示功能)

------

 

 

Save(保存)

Ctrl+S

保存当前的捕获数据。如果未设置默认的捕获文件名(或未使用 –w 选项),系统会显示一个保存对话框 ,在Section 5.3.1, “保存捕获文件到”对话框 有详细描述

[Note]

注意!

如果已经保存了当前的捕获数据,这个菜单项将为灰色的,不能够点击。

[Note]

注意!

当捕获正在进行中时,不能进行保存工作,必须停止捕获过程后才能执行保存工作

Save As...(另存为

Shift+Ctrl+S

允许将当前捕获的数据或文件另存为其它文件名,参见 Section 5.3.1, 捕获文件另存为对话框.

------

 

 

File Set > List Files(文件设置>列出文件)

 

这个菜单项显示一个文件组的组文件。会显示一个对话框,参见Section 5.5, “文件组.

File Set > Next File(下一个文件)

 

如果当前装入的是一个文件组,跳到文件组中的下一个文件。如果是单个文件,或者是文件组中最后一个文件,该项将变成灰色,即可用状态

File Set > Previous File(上一个文件)

 

如果当前装入的是一个文件组,跳到文件组中的前一个文件。如果是单个文件,或者是文件组中第一个文件,该项将变成灰色,即可用状态。

------

 

 

Export > as "Plain Text" file...(以纯文格式导出)

 

将全部或部分包导出到一个纯ASCII文本文件中。该项菜单将弹出一个Ethereal导出对话框 (详见Section 5.6.1, “导出成纯文本文件”对话框).

Export > as "PostScript" file...(以PostScript格式导出)

 

该项菜单实现导出全部或部分包至一个PostScript文件。详见Section 5.6.2, “导出为PostScript文件"对话框).

Export > as "CSV" (Comma Separated Values packet summary) file...(以CSV格式导出)

 

实现导出全部或部分包的摘要内容至一个.csv文件(This menu item allows you to export the (or some) of the packet summaries in the capture file to a .csv file (例如:电子数据表程序常使用这种格式)。详见Section 5.6.3, “导出至CSV文件(逗号分隔)"对话框 ).

Export > as "PSML" file...(以PSML格式导出)

 

导出全部或部分包至一个PSML(包摘要标记语言)XML文件,详见Section 5.6.4, “The "导出至PSML文件"对话框 ).

Export > as "PDML" file...(以PDML格式导出)

 

导出全部或部分包至一个PDML(包细节标记语言)XML文件,详见Section 5.6.5, 导出至PDML文件对话框).

Export > Selected Packet Bytes...(导出>选中包的字节)

Ctrl+H

导出在包字节面板中选择的包的字节,保存成二进制方式。详见 Section 5.6.6, “导出选择的包字节)

------

 

 

Print...(打印

Ctrl+P

打印所有或部分包,详见Section 5.7, “打印包).

------

 

 

Quit(退出)

Ctrl+Q

退出。如果还未对捕获数据进行保存,Ethereal会提示是否保存(可以通过参数设置是否进行提示)

3.6.  "Edit"(编辑)菜单

Ethereal “EDIT”(编辑菜单) 如图Table 3.2, “Edit(编辑)菜单项,包括如下几项

 3.4.  "Edit"(编辑)菜单

The "Edit" Menu

Table 3.2. Edit menu items

Menu Item

Accelerator

Description

Find Packet...(查找包)

Ctrl+F

按照多种条件组合查找包,详见Section 6.6, “查找包.

Find Next(查找下一个)

Ctrl+N

查找下一个符合条件的包

Find Previous(查找前一个)

Ctrl+B

查找前一个符合条件的包

------

 

 

Time Reference > Set Time Reference (toggle) 时间能考>设置或者取消时间参考

Ctrl+T

在当前选择的包上设置一个时间参考(译:即以0为基准)。详见 Section 6.9.1, “时间参考.

Time Reference > Find Next

 

查找下一个时间参考点

Time Reference > Find Previous

 

查找上一个时间参考点

Mark Packet (toggle)

Ctrl+M

标记(取消)当前选择的包,详见 Section 6.8, “对包进行标记

Mark All Packets

 

标记所有的包

Unmark All Packets

 

取消所有标记

------

 

 

Preferences...(参数设置)

Shift+Ctrl+P

Ethereal的许多参数进行设置并保存。详见 Section 9.5, “Preferences”.

3.7. "View"(查看)菜单

Ethereal查看菜单如图 3.3, “View (查看)菜单项.,包括如上几项:

 3.5.  "View"(查看)菜单

The "View" Menu

 3.3. 查看菜单包括的项

Menu Item

Accelerator

Description

Main Toolbar

 

显示/隐藏主工具条,见Section 3.13, “主工具条.

Filter Toolbar

 

显示/隐藏过滤工具条,见Section 3.14, “过滤工具条.

Statusbar

 

显示/隐藏状态条,见 Section 3.18, “状态条.

------

 

 

Packet List

 

显示/隐藏包列表面板,见Section 3.15, “包列表" 面板.

Packet Details

 

显示/隐藏包详细信息面板,见Section 3.16, “包详细信息" 面板.

Packet Bytes

 

显示/隐藏包字节面板,见 Section 3.17, “字节"面板.

------

 

 

Time Display Format > Date and Time of Day: 1970-01-01 01:02:03.123456 (时间显示格式)

 

设置时间显示格式为日期+时间,见Section 6.9, “时间显示格式和时间参考.

[Note]

注意!

"Time of Day", "Date and Time of Day", "Seconds Since Beginning of Capture" and "Seconds Since Previous Packet" 这几个选择是多选的。

Time Display Format > Time of Day: 01:02:03.123456

 

设置时间显示格式为时间,见 Section 6.9, “时间显示格式和时间参考.

Time Display Format > Seconds Since Beginning of Capture: 123.123456

 

设置时间显示格式为:距离开始捕获的时间,见 Section 6.9, “时间显示格式和时间参考.

Time Display Format > Seconds Since Previous Packet: 1.123456

 

设置时间显示格式为:距离上一个包的时间,见Section 6.9, “时间显示格式和时间参考.

Time Display Format > ------

 

 

Time Display Format > Automatic (File Format Precision)

 

按照捕获文件中的时间精度显示,见Section 6.9, “时间显示格式和时间参考.

[Note]

注意!

"Automatic", "Seconds" and "...seconds" 是多选

Time Display Format > Seconds: 0

 

以秒的精度显示,见Section 6.9, “时间显示格式和时间参考.

Time Display Format > ...seconds: 0....

 

0.1/0.01/0.001秒的精度显示,见 Section 6.9, “时间显示格式和时间参考.

Name Resolution > Resolve Name

 

仅对当前包进行名称解析,参见Section 7.6, “名称解析. [译:实验结果是只对捕获数据进行解析,已捕获的数据无法解析]

Name Resolution > Enable for MAC Layer

 

MAC地址翻译成名字,参见Section 7.6, “名称解析.

Name Resolution > Enable for Network Layer

 

将网络层地址翻译成名字(即域名),参见Section 7.6, “名称解析.

Name Resolution > Enable for Transport Layer

 

将传输层地翻译成名字,参见Section 7.6, “名称解析.

Colorize Packet List(对包列表标记颜色)

 

控制是否对包进行颜色标记

[Note]

注意!

在捕获/装入捕获文件时,打开颜色标记功能将减慢新包的显示速度

Auto Scroll in Live Capture(在实时捕获时自动滚动)

 

当有新包进来时,会实时的在包面板显示,因此,我们总能看到最新的包。如果不指定这个选项,Ethereal简单的追加新进来的包到末尾,但并不滚动包面板

------

 

 

Zoom In(放大)

Ctrl++

放大显示(增加字体大小).

Zoom Out(缩小)

Ctrl+-

缩小显示 (减小字体大小).

Normal Size(正常尺寸)

Ctrl+=

正常显示(以正常字体显示)

Resize All Columns(调整所有列宽)

 

调整所有列宽以适应显示.

[Note]

注意!

重新调整列宽会花费大量时间,特别是装入了一个大的捕获文件时

------

 

 

Expand Subtrees(展开子树)

 

在包细节面板中,展开选择的子树

Expand All(展开所有子树)

 

Ethereal 保持一个所有被展开的协议的列表,以便正确的显示。该项展开所有子树

Collapse All(折叠所有子树)

 

这个菜单项折叠所有树.

------

 

 

Coloring Rules...(颜色标记规则)

 

按照过滤表达式对包进行颜色标记,这对定位某一个特定类型的包是非常有用的。Section 9.3, “对包进行颜色标记.

------

 

 

Show Packet in New Window在新的窗口中显示当前选 中的包

 

在一个新窗口显示当前选 中的包,仅包含包细节和包字节两个面板

Reload重新装入

Ctrl-R

重新装入当前的捕获文件

3.8. "Go" (转到)菜单

Ethereal 这个菜单包含的字段如图 3.4, “转到….菜单.

 3.6. "Go" 菜单

The "Go" Menu

 3.4. “转到”菜单项

菜单项

快捷键

描述

Back 回退

Alt+Left

跳转到刚才查看的包,就Web浏览器中的回退一样。

Forward 前进

Alt+Right

跳转到下一个要查看的包,类似Web浏览器中的前进功能。

Go to Packet...(转到包

Ctrl-G

将出现一个对话框,要求输入一个包编号值,然后跳转到那个包,参见 Section 6.7, “转到一个指定的包

Go to Corresponding Packet(转到相应的包)

 

Go to the corresponding packet of the currently selected protocol field. If the selected field doesn't correspond to a packet, this item is greyed out.

------

 

 

First Packet 第一个包)

 

跳到第一个包

Last Packet (最后一个包)

 

跳到最后一个包

3.9. "Capture"(捕获)菜单

Ethereal捕获菜单包含的内容见 3.5, “捕获菜单.

 3.7. "Capture"(捕获)菜单

The "Capture" Menu

 3.5. 捕获菜单项

菜单项

快捷键

描述

Interfaces...

 

Ethereal识别的网卡,见 Section 4.4, “捕获接口"对话框) .

Options...

Ctrl+K

显示捕获选项对话框, ( Section 4.5, “"捕获选项"对话框讨论) 并可以启动捕获.

Start

 

用上一次的设置立即开始捕获

Stop

Ctrl+E

停止当前运行的捕获,参见 Section 4.9.1, “停止捕获) .

Restart

 

停止当前运行的捕获,并且立即使用同样的设置再次开始捕获,该项仅仅是为了方便

Capture Filters...

 

该菜单弹出一个对话框,允许新建、编辑一个捕获过滤。可以重新命名一个过滤并存贮。具体参见Section 6.5, “定义和存贮过滤

3.10. "Analyze"(分析)菜单

Ethereal分析菜单包括内容见 3.6, “分析菜单项.

 3.8. "Analyze" (分析)菜单

The "Analyze" Menu

 3.6. 分析菜单项

菜单项

快捷键

描述

Display Filters...

 

允许新建和编辑显示过滤、重命名、保存。详见Section 6.5, “定义和保存过滤

Apply as Filter > ...

 

改变当前的过滤并且立即应用。首先要选中包详细信息面板中的某一个字段(即要过滤的字段),然后按照接下来的选择来决定是替换还是追加到当前的过滤中。

Prepare a Filter > ...

 

这个菜单项允许改当前的显示过滤但立即应用。是替换还是追加到当前的过滤条件表达式中取决于接下来的选择

------

 

 

Enabled Protocols...

Shift+Ctrl+R

该项允许enable/disable(打开/关闭)协议解码器,参见Section 9.4.1, "使能某些协议"对话框

Decode As...

 

强制Ethereal用一个特定的协议对特定的包进行解码,参见 Section 9.4.2, “用户指定的解码器

User Specified Decodes...

 

这个菜单显示一个列表,列出了目前用户自己指定的所有解码器。参见 Section 9.4.3, “显示用户指定的解码器

------

 

 

Follow TCP Stream

 

在一个新窗口中显示同一个TCP连接中所有的TCP报文,参见 Section 7.2, “跟随 TCP

3.11.  "Statistics"(统计)菜单

统计菜单包括的内容如表  3.7, “统计菜单项目.

 3.9. Statistics(统计)菜单

The "Statistics" Menu

所有菜单项都将在一个新的窗口中显示指定的统计信息。

 3.7. Statistics(统计)菜单项

Menu Item

Accelerator

Description

Summary(摘要)

 

显示捕获数据的信息,见 Section 8.2, “摘要窗口.

Protocol Hierarchy

 

以树形的分级方式显示基于协议的统计信息,参见 Section 8.3, “The "Protocol Hierarchy" window”.

Conversations

 

显示会话列表(两个端点之间的流量), Section 8.5.2, “会话" 窗口.

Endpoints

 

显示所有端点的列表(某个端点的出/入的流量), Section 8.4.2, “端点"窗口.

IO Graphs

 

显示用户指定的图形(举例:一定时间内的包的数量), Section 8.6, “"IO 图形"窗口.

------

 

 

Conversation List

 

显示一个统计的列表,obsoleted by the combined window of Conversations above, see Section 8.5.3, “The protocol specific "Conversation List" windows”.

Endpoint List

 

Display a list of endpoints, obsoleted by the combined window of Endpoints above, see Section 8.4.3, “The protocol specific "Endpoint List" windows”.

Service Response Time(服务响应时间)

 

显示“请求响应”的时间,见 Section 8.7, “服务响应时间.

------

 

 

ANSI

 

Section 8.8, “指定协议的统计窗口

GSM

 

Section 8.8, “指定协议的统计窗口

H.225...

 

Section 8.8, “指定协议的统计窗口

ISUP Message Types

 

Section 8.8, “指定协议的统计窗口

MTP3

 

Section 8.8, “指定协议的统计窗口

RTP

 

Section 8.8, “指定协议的统计窗口

SCTP

 

Section 8.8, “指定协议的统计窗口

SIP

 

Section 8.8, “指定协议的统计窗口

VoIP Calls...

 

Section 8.8, “指定协议的统计窗口

WAP-WSP...

 

Section 8.8, “指定协议的统计窗口

------

 

 

BOOTP-DHCP

 

Section 8.8, “指定协议的统计窗口

HTTP

 

http reqest/respone(请求响应)统计,见 Section 8.8, “指定协议的统计窗口

ISUP Messages

 

Section 8.8, “指定协议的统计窗口

ONC-RPC Programs

 

Section 8.8, “指定协议的统计窗口

TCP Stream Graph

 

Section 8.8, “指定协议的统计窗口

3.12.  "Help"(帮助)菜单

Ethereal帮助菜单包含内容如 3.8, “帮助菜单项目.

 3.10. 帮助菜单

The "Help" Menu

 3.8. 帮助菜单项目

Menu Item

Accelerator

Description

Contents

F1

弹出一个基本帮助系统

Supported Protocols(支持的协议)

 

显示支持的协议及协议字段(过滤时使用的那些字段)

Manual Pages > ...

 

使用浏览器显示一个本地的html手册

Ethereal Online > ...

 

在线显示网站的内容, http://www.ethereal.com.

------

 

 

About Ethereal

 

显示关于、插件、使用的文件夹等信息

[Note]

注意!

在你的Ethereal版本,可能不支持直接调用WEB浏览器,如果是这样,相应的菜单项将会被隐藏

 

[Note]

Note!

如果调用一个WEB浏览器失败,或许没有任何事情发生,或仅仅启动了WEB浏览器但没有任何页面显示,查看一下浏览器的配置

3.13. 主工具

主工具条提供了一个快速访问常用菜单项的功能。工具条不能用户化修改,但通过VIEW菜单可以隐藏,这样就可以显示更多的内容

菜单里一样,仅仅可用的项才能使用,其它的将被显示为灰色(举例来说:如果你没有load一个捕获文件,就不能保存)

 3.11. 主工具

The "Main" toolbar

 3.9. 主工具条项目

工具条图标

工具条项

对应的菜单项

Interfaces...

Capture/Interfaces...

显示捕获接口列表对话框(将在Section 4.3, “开始捕获 讨论).

Options...

Capture/Options...

显示捕获选项对话框(将在Section 4.3, “开始捕获讨论) ,并且允许起动捕获

Start

Capture/Start

采用上次的选项立即开始捕获包。

Stop

Capture/Stop

停止正在进行的捕获

Restart

Capture/Restart

先停止,然后再重新开始捕获。主要是为了方便

------

 

 

 

Open...

File/Open...

显示文件打开对话框,允许你装入一个捕获文件进行查看。更细节的内容在 Section 5.2.1, “打开捕获文件"对话框.

Save As...

File/Save As...

保存当前的捕获文件至另外一个位置或文件名。它将弹出一个Save Capture File As 对话框 (将在Section 5.3.1, “The "Save Capture File As" dialog box”讨论).

[Note]

注意!

如果当前有一个临时捕获文件,那么保存图标将会代替显示

Close

File/Close

关闭当前的捕获,如果还有保存,系统将会提示

Reload

View/Reload

重新装入当前的捕获文件

Print...

File/Print...

打印捕获文件中所有或部分数据包。它将弹出一个打印对话框(将在Section 5.7, “Printing packets”讨论).

------

 

 

 

Find Packet...

Edit/Find Packet...

将弹出一个对话框,允许去查找一个包。具体将在Section 6.6, “Finding packets”部分讨论

Go Back

Go/Go Back

回跳

Go Forward

Go/Go Forward

前跳

Go to Packet...

Go/Go to Packet...

跳到一个指定编号的包

Go To First Packet

Go/First Packet

跳转到第一个包

Go To Last Packet

Go/Last Packet

跳转到最后一个包

------

 

 

 

Colorize

View/Colorize

对包列表进行着色/取消着色

Auto Scroll in Live Capture

View/Auto Scroll in Live Capture

在实时捕获时,自动滚动包列表(或者取消该功能)

------

 

 

 

Zoom In

View/Zoom In

放大包数据(增大字体)

Zoom Out

View/Zoom Out

缩小包数据(减小字体)

Normal Size

View/Normal Size

设置缩放为 100%.

Resize Columns

View/Resize Columns

重新调整列宽,以适应内容的显示

------

 

 

 

Capture Filters...

Capture/Capture Filters...

建立/编辑捕获过滤表达式。可以命名并保存以便将来再次使用。关于这个话题更详细的讨论见Section 6.5, “定义&保存过滤.

Display Filters...

Analyze/Display Filters...

建立/编辑显示过滤表达式。可以命名并保存以便将来再次使用。关于这个话题更详细的讨论见Section 6.5, “定义&保存过滤.

Coloring Rules...

View/Coloring Rules...

允许按照过滤表达式对包进行着色。这对定位特定类型的包非常有用。关于这个话题更详细的讨论见Section 9.3, “包的着色.

Preferences...

Edit/Preferences

参数设置。可以保存这些设置以供下次使用。更详细的信息见Section 9.5, “参数设置

------

 

 

 

Help

Help/Contents

显示帮助对话框.

3.14. "Filter"(过滤)工具条

过滤工具条能够让你快速 的编辑和应用显示过滤。关于显示过滤的更多的信息见Section 6.2, “在查看时进行包过滤.

 3.12. 过滤工具条

The "Filter" toolbar

         点击最左边标记为"Filter:"的按钮可以调用过滤构建对话框(如  6.8, “捕获过滤和显示过滤对话框.

         左边中间的文本框提供了一个输入和编辑显示过滤串的区域。参见Section 6.3, “建立显示过滤表达式 . 键入后,会有一个语法检查。如果输入的表达式非法或不完整,那么背景将变成红色。还可以点击下拉键头来选择一个原来输入的表达式。在下拉菜单项中的项即使程序重新启动了,也是可用的。

[Note]

注意!

当在这个域中做了某些改动后,不要忘记按一下Apply按钮或者回车键以便使能这个过滤串。

[Note]

注意!

这个区域也是当前起作用的表达式的显示的地方。

         点击中间标记为"Add Expression..."的按钮会打一个对话框,从一组协议表中编辑显示过滤表达式。详细描述见 Section 6.4, “过滤表达式对话框

         右面中间的按钮"Clear" 会复位当前显示过滤,并清除编辑区域

         最右面的按钮"Apply"将应用在编辑区中的新值做为当前的过滤表达式

[Note]

注意!

在一个大文件中应用一个显示过滤可能需要花费很多时间

3.15. "Packet List"(包列表)面板

包列表面板显示当前捕获文件中的所有包。

 3.13. 包列表面板

The "Packet List" pane

包列表中的每一行对应一个包。如果在这个面板中选择一行,那么更详细的信息将被显示在"Packet Details"(包细节)和 "Packet Bytes"(包字节)面板中。

当解码一个包时,Ethereal将在列中显示协议信息。更高级别的协议将覆盖低级别的信息。因此,你通常看到的都是尽可能高的级别的信息。

例如:让我们看一个以太网帧中包括IP包,内部又包括TCP的情况。以太网解码器将写自己的数据,而IP解码器将覆盖它以写自己的信息,同样TCP将覆盖IP的信息以写入自己的信息。

有许多不同的列可以显示。可通通过参数设置来控制显示哪些列,具体参见Section 9.5, “参数设置.

默认列将显示:

         No. 包的编号。这个编号即使在使用显示过滤时也不会改变

         Time 时间:包的时间戳。它的显示格式可以改变。见Section 6.9, “时间显示格式和时间参考.

         Source 包的源地址

         Destination 目的包的目的地址

         Protocol 协议:简写的协议名称

         Info :关于包的内容的附加信息

这里有一个上下文可用(点击鼠标右键),具体见 6.3, “包列表面板的弹出菜单.

3.16. "Packet Details"(包细节)面板

包细节面板将显示当前包(在包列表面板中选中的)的更细节的信息。

 3.14. 包细节面板

The "Packet Details" pane

这个面板显示协议和协议字段。协议和字段的显示采用了树状结构,可以被展开及折叠。

这儿也有一个上下文菜单(单击鼠标右键),参见  6.4, “包细节面板的弹出菜单.

一些协议字段被特别的显示Some protocol fields are specially displayed.

         Generated fields Ethereal自己将建立追加的字段(用方括号括着 。在这些字段的信息来源于其它相关联的包。例如:Ethereal 对每一个TCP流会做一个序号/应答的分析,并在 [SEQ/ACK analysis] 字段显示出来

         Links 如果Ethereal检测到一包与另一个包存在关联,它将建立一个到那个包的链接。链接通常有一个下划线并被显示成兰色。如果双击,Ethereal就会跳转到相应的包。

3.17. "Packet Bytes"包字节面板

包字节面板将以十六进制格式显示当前包的数据

 3.15. 包字节面板

The "Packet Bytes" pane

通常的十六进制显示一样,左边显示偏移量,中间显示十六进制数值,右边显示相应的ASCII字符(或者如果无法显示就显示一个点)

这个有一个上下文菜单(单击鼠标右键),参见  6.5, “包字节面板的弹出菜单.

时侯,当包的数据量大时,会超过一页。举例来说,当Ethereal重新封装了一些包,变成一个大包,见 Section 7.5, “包的封装. 在这种情况下,在面板的底部有一些追加的标签让用户选择想要看的页。

 3.16. 带标签的包字节面板

The "Packet Bytes" pane with tabs

[Note]

注意!

增加的页可能包含从其它多个包中汲取的数据

标签的上下文菜单将显示一个可用页的列表。如果面板很小的时侯,这非常有用。

3.18. 状态条

状态条显示信息的情况

通常,左边将显示上下文相关的信息,右边将显示包的数量。

 3.17. 初始状态的状态条

The initial Statusbar

这代表没有任何捕获文件装入,举例来说:当Ethereal刚启动的时侯

 3.18. 装入捕获文件之后的状态条

The Statusbar with a loaded capture file

左边显示捕获文件的信息:名字,大小及共用了多长时间。

右边显示包的数量。下面的值将被显示

         P: 捕获的包的数量

         D: 当前显示的包的数量

         M: 标记的包的数量

Figure 3.19. 带有协议字段的状态条

The Statusbar with a selected protocol field

如果从包细节面板选择了一个协议字段,将如图显示

[Tip]

提示!

在括号中的值(这个例中是arp.opcode) 可被用做显示过滤串。, representing the selected protocol field.

Chapter 4. 捕获实时的网络数据

4.1. 介绍

实时捕获网络数据是Ethereal的主要功能之一。

Ethereal捕获引擎提供下面的一些特点:

         从不同的网络硬 件进行捕获(以太网, 令牌环, ATM, ...).

         按照不同的条件停止捕获,如:数据量,捕获时间,捕获的包的数量

         在捕获的同时显示解码过的数据包

         过滤数据包,减小捕获的数据量,参见Section 4.8, “捕获时的过滤.

         当时行一个长的捕获时,可以将数据存入到多个 文件中,另外,可选的,可以将这些文件做成一个循环队列,仅仅保持最新的n文件,这对一个长时间的捕获是非常有用的。参见Section 4.6, “捕获文件和文件模式.

捕获引擎缺少下面的特点:

         同时从多个接口卡进行捕获(但是,可以启动多个Ethereal实例,然后合并捕获文件).

         按照捕获的数据停止捕获或做一些其它的动作

4.2. 前提条件

Setting up Ethereal to capture packets for the first time can be tricky.

[Tip]

提示!

一个全面的手册"怎么设置一个捕获" 可以从下面的地址获得: http://wiki.ethereal.com/CaptureSetup.

存在的一些普通的问题:

         需要root / Administrator 权限去启动捕获

         需要选择正确网络接卡

         需要在网络中的合适位置对你想要的数据进行捕获

         ... 还有更多

如果在设置捕获环境方面仍有问题,请再查看一下手册的上面提到的相关部分

4.3. 启动捕获

可以通过下面的任何一种方法启动捕获:

         使用" Capture Interfaces" 对话框可以得到一个目前可用的接口表。参见  4.1, “捕获接口对话框. 点击这个对话框中的"Capture"(捕获)按可以启动捕获

         使用" Capture Options"(捕获选项)对话框可以启动捕获,参见  4.2, “"捕获选项"对话框.

         如果之前选择了正确的捕获选项,可以通过" Capture Start"(捕获开始)菜单/工具棒立即启动捕获。 捕获进程将立即启动

         如果知道捕获接口的名称,可以在命令行使用下面的命令启动捕获:

                 
                ethereal -i eth0 -k
  

上面的命令将在eth0接口上启动捕获,更细节的内容见: Section 9.2, “从命令行启动Ethereal”.

4.4. "Capture Interfaces"(捕获接口)对话框

当从Capture(捕获)菜单选择"Interfaces..."(接口)时,会弹出一个"Capture Interfaces"(捕获接口)对话框,如  4.1, “捕获接口对话框.

[Warning]

警告!

因为"Capture Interfaces"对话框将显示实时的捕获数据,这将消耗一些系统资源。尽可能早的关闭这个对话框以避免系统过载

[Note]

注意!

这个对话框将仅仅显示Ethereal可以识别的本地接口。由于Ethereal不可能检测出所有本地接口以及它不能检测远程接口,因此可用的捕获接 口可能比列表中的多

 4.1. "Capture Interfaces"(捕获接口)对话框

The "Capture Interfaces" dialog box

描述

由操作系统提供的接口描述

IP

Ethereal能解析的该接口的第一个IP地址。如果解析不出IP地址 (举例来说:DHCP服务器可用), 将显示"unknown"(未知的)。如果解析出超过一个IP地址,仅仅第一个IP被显示 (具体显示哪一个不可预知).

Packets(包)

打开这个对话框以后,从这个接口捕获的包的数量。如果一秒钟内没有再捕获到包,该字段将显示成灰色

Packets/s

最后一秒钟捕获的包的数量,如果最后一秒钟没有捕获到数据包,该字段将显示成灰色

Stop(停止)

停止当前的捕获

Capture(捕获)

使用上次的参数,在该接口上立即启动捕获

Prepare(准备)

基于这个接口打开“Capture Options”(捕获选项)对话框,参见 Section 4.5, “The "捕获选项"对话框.

Close(关闭)

关闭这个对话框

4.5. "Capture Options"(捕获选项)对话框

当从Capture菜单选择start (或在主工具棒中使用相应的项), Ethereal 将弹出"Capture Options"捕获选项对话框,如 4.2, “"捕获选项"对话框.

 4.2. "Capture Options"捕获选项对话框

The "Capture Options" dialog box

 

[Tip]

提示!

如果不能确认到底选择哪个选项,就保持默认状态,一般情况下会工作的很好

在这个对话框中可以设置下列字段:

4.5.1. Capture(捕获)子框架

Interface(接口)

这个字段指定在哪个接口进行捕获。这是一个下拉字段,只能从中选择Ethereal识别出来的接口,默认是第一块支持捕获的非loopback接口卡。如果没有接口卡,那么第一个默认就是第一块loopback接口卡。在某些系统中,loopback接口卡不能用来捕获(loopback接口卡在Windows平台是可用的)

这个字段的功能与命令行选项-i <interface> 是一样的。

IP addressIP地址)

所选接口卡的IP地址。如果不能解析出IP地址,则显示"unknown"

Link-layer header type链路层头类型

除非你在极个别的情况下可能用到这个字段,大多数情况下保持默认值。具体的描述,见

Buffer size: n megabyte(s) (缓冲区大小:n 兆)

输入捕获时使用的buffer的大小。这是核心buffer的大小,捕获的数据首先保存在这里,直到写入磁盘。如果遇到包丢失的情况,增加这个值可能解决问题。

[Note]

注意

这个选项仅仅在Windows平台有效.

Capture packets in promiscuous mode (在混杂模式捕获包)

这个选项允许设置是否将网卡设置在混杂模式。如果不指定,Ethereal仅仅捕获那些进入你的计算机的或送出你的计算机的包。 (而不是LAN网段上的所有包).

[Note]

注意

如果某些程序将网卡已经设置到了混杂模式,那么即使没有选择该项,捕获也将工作在混杂模式

[Note]

注意

即使设置了混杂模式,也可能看不到LAN网段的包,参见http://www.ethereal.com/faq#promiscsniff ,这里给出了解释

Limit each packet to n bytes (限制每一个包为n 字节)

这个字段设置每一个数据包的最大捕获的数据量。有时称作snaplen 。如果disable这个选项,默认是65535, 对于大多数协议来讲中够了。Some rules of thumb:

   如果不能确认某些东西,就保持默认值

   如果不需要一个包的所有数据,可以选择一个小的快照长度。例如:当仅仅需要链路层,IP头,TCP头的时侯。这将减轻CPU的负担,减小buffer的消耗,因此即使流量很大,也不会出现丢包的情况

   If you don't capture all of the data in a packet, you might find that the packet data you want is in the part that's dropped, or that reassembly isn't possible as the data required for reassembly is missing.

Capture Filter(捕获过滤)

这个字段指定一个捕获过滤。具体关于捕获过滤的内容将在Section 4.8, “在捕获时进行过滤部分进行讨论。默认是空的,即没过过滤。

也可以点击标为Capture Filter的按钮, Ethereal将弹出Capture Filters(捕获过滤)对话框,来建立或者选择一个过滤。参见Section 6.5, “定义和保存过滤

4.5.2. Capture File(s) (捕获文件)子框架

关于捕获文件用法的一个解释可参见Section 4.6, “捕获文件和文件模式.

File(文件)

该字段指定文件名,被用来保存捕获文件。该字段默认为空白,这代表捕获数据将被存贮在一个临时文件中。详见 Section 4.6, “捕获文件和文件模式

也可以点击右边的按钮通过文件系统进行浏览

Use multiple files(使用多个文件)

代替使用一个单一的文件,如果指定的条件出现,Ethereal将自动切换到一个新的文件。

Next file every n megabyte(s)(每达到n 兆,切换到下一个文件)

仅在多文件时可用:当达到指定的容量后切换到下一个文件

Next file every n minute(s)(每达到n 分钟后,切换到下一个文件)

仅在多文件时可用:当过了指定的时间后,切换到下一个文件

Ring buffer with n files(以n 文件做为一个循环)

仅在多文件时可用:用给定数量的文件,形成一个捕获文件的循环。

Stop capture after n file(s)

仅在多文件时可用:当文件数达到设定的值时,停止捕获

4.5.3. Stop Capture... frame(停止捕获)子框架

... after n packet(s) n 个包后)

当捕获的包达到指定的数值时,停止捕获

... after n megabytes(s)n兆字节后)

当捕获的数据量达到指定的字节//吉时,停止捕获。如果选择了"Use multiple files"(使用多个文件)时,该项变为灰色,可用。

... after n minute(s) n 分钟后)

当捕获时间达到指定的时间后,停止捕获

4.5.4. Display Options (显示选项)子框架

Update list of packets in real time (实时更新包列表)

该选项允许指定Ethereal在包列表面板实时显示捕获的包。如果不指定该选项,Ethereal不会显示任何包,直到停止捕获后,才显示。当选择该项时,Ethereal在一个单独的进程进行捕获,并将捕获的内容传递到显示进程

Automatic scrolling in live capture (捕获时实时滚动)

该选项允许设定当有新的包捕获时,是否滚动包列表面板。如果滚动,则使终可以看到最新捕获的包。如果不选该项,Ethereal只是简单的在列表的末尾增加新捕获的包,但不滚动包列表面板。如果"Update list of packets in real time" (实时更新包列表)项未被选择,那么该项将为灰色可用状态

Hide capture info dialog (隐藏捕获信息对话框)

如果选择了这项,则接下来的捕获信息对话框将会被隐藏

4.5.5. Name Resolution (名称解析)子框架

Enable MAC name resolution(使能MAC地址名称解析)

该项控制Ethereal是否将MAC地址翻译成名字,见Section 7.6, “名称解析.

Enable network name resolution(使能网络名称解析)

该项控制Ethereal是否将网络地址翻译成名字,见 Section 7.6, “名称解析.

Enable transport name resolution(使能传输层名称解析)

该项控制Ethereal是否将传输层地址翻译成协议,见 Section 7.6, “名称解析.

4.5.6

一旦设置完了期望的值,选择了需要的选项,简单的点Start 开始捕获,或者Cancel 去中止捕获

如果开始捕获,Ethereal允许在捕获到足够的包后停止。详见Section 4.9, “当捕获运行时...”.

4.6. 捕获文件和文件模式

当捕获时,下层的libpcap捕获引擎从网络卡获取数据包,然后保存在一个小的内核buffer中,Ethereal读取这个buffer,然后存入用户指定的捕获文件

当将buffer中的数据存入捕获文件时,有几种不同的模式

[Tip]

提示!

用大文件工作会非常慢(几个100 MB) 如果计划在一个高流量的网络上,做一个长时间的捕获,最好考虑使用多文件选项 。这将会将捕获的数据包分隔在几个小的文件中保存,这样是非常利于工作的。

[Note]

注意!

使用多文件可能切断了上下文的关联信息。Ethereal能够保持装入的包数据的上下文信息,因此它可以报告上下文相关的问题(例如一个流错误)且能保持相关协议的上下文的信息(e.g. where data is exchanged at the establishing phase and only referred to in later packets). 因为仅仅保持装入文件的这个信息,因此使用多文件模式会切掉这些上下文。如果建立阶段在一个文件中,你关心的东西在另一个文件中,就不会看到有价值的上下文相关的信息

 

[Tip]

提示!

Information about the folders used for the capture file(s), can be found in Appendix A, Configuration (and other) Files and Folders.

 4.1. 捕获选择的捕获文件模式

"File" option

"Use multiple files" option

"Ring buffer with n files" option

Mode

Resulting filename(s) used

-

-

-

Single temporary file

etherXXXXXX (where XXXXXX is a unique number)

foo.cap

-

-

Single named file

foo.cap

foo.cap

x

-

Multiple files, continuous

foo_00001_20040205110102.cap, foo_00002_20040205110102.cap, ...

foo.cap

X

x

Multiple files, ring buffer

foo_00001_20040205110102.cap, foo_00002_20040205110102.cap, ...

单一临时文件

默认情况下,一个临时文件将被建立并使用。当捕获停止后,这个文件可以被用户保存到一个指定名字的文件中

单一的命名文件

一个单一的捕获文件将被使用。如果用户想将捕获文件放到一个新的位置,就选择这个模式

多个文件,连续的

单一命名文件模式,但当到达一定的条件后,一个新文件会被建立和使用 (one of the "Next file every ..." values).

多个文件,循环的

与“多个文件,连续的”模式很相似,当到达设定的条件后,将切换到下一个文件。如果没有到达"Ring buffer with n files"设定的值,新文件将被建立并使用。如果达到了,就会置换原来使用的文件 (因此形成了一个环).

这种模式将限制磁盘的使用量,甚至对于无限量的输入数据,也只保存最新的捕获数据

4.7. Link-layer header type

在通常情况下,无需选择链路层头类型。下面将描述一些特例,即需要选择这个类型,这样就会知道应该怎么做:

如果在一个802.11设备上进行捕获,且使用BSD的某些版本,这将提供一个在"Ethernet""802.11"之间的选择。 "Ethernet" 将引起捕获的包有一伪造的以太头; "802.11"将引起他们有一个IEEE 802.11 头。除非要读取捕获数据的那个应用程序不支持802.11,否则,你需要选择"802.11".

如果在一个连接到 同步串行线路的Endace DAG 卡上进行捕获,这将提供一个选择:"PPP over serial" 或者 "Cisco HDLC"; 如果协议是PPP, 选择"PPP over serial", 如果是Cisco HDLC, 那就选择"Cisco HDLC".

如果在一个连接到ATM网络的Endace DAG 卡上进行捕获,这将提供一个选择: "RFC 1483 IP-over-ATM" 或者"Sun raw ATM". 如果捕获的流量仅仅是RFC 1483 LLC-封装的IP,或者捕获的数据需要另一个程序去读,但它又不支持SunATM头部,就选择"RFC 1483 IP-over-ATM", 其它情况下选择"Sun raw ATM".

如果在一个以太网设备上进行捕获,这将提供一个选择: "Ethernet" 或者 "DOCSIS"。如果从一个Cisco Cable Modem终端系统(DOCSIS overEthernet)选择"DOCSIS", 其它情况选"Ethernet".

4.8. 当捕获的时侯进行过滤

Ethereal使用libpcap过滤语言进行捕获过滤,在tcpdumpman 页里对它进行了解释,但是很难理解,因此在这里做一些进一步的解释。

[Tip]

提示!

可以从下列地址获得一些捕获过滤的例子http://wiki.ethereal.com/CaptureFilters.

Capture Option对话框中,将捕获过滤表达式输入到过滤字段,如 4.2, “"捕获选项"对话框. 下面是一个tcpdump 捕获过滤语言的语法的大致说明。 具体参见tcpdump手册的表达式选项部分: http://www.tcpdump.org/tcpdump_man.html.

一个过滤表达式是由几个简单的表达式通过and/or not连接在一起形成的

 
[not] 简单表达式[and|or [not] 简单表达式 ...]
 

一个例子,见Example 4.1, “ 一个捕获过滤:从一个主机到另一个主机的telnet ”.

Example 4.1.  A capture filter for telnet than captures traffic to and from a particular host

 
tcp port 23 and host 10.0.0.5
 

这个例子捕获进出主机10.0.0.5telnet 数据包,且展示了两个简单表达式和and 连接符。另外一个例子Example 4.2, “ 捕获所有除10.0.0.5主机以外的telnet流量, and shows how to capture all telnet traffic except that from 10.0.0.5.

Example 4.2.  Capturing all telnet traffic not from 10.0.0.5

 
tcp port 23 and not host 10.0.0.5
  

XXX - add examples to the following list.

一个简单表达式很简单,通常是下面的一种:

[src|dst] host <host>

这个允许基于主机IP或名称进行过滤,使用src|dst 指定是源还是目的。如果省略,将视为源或目的都被选择

ether [src|dst] host <ehost>

这个表达式允许按照以太网&