ethereal教程

更新时间:2024-05-21 18:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Ethereal用法

Ulf Lamping,

Richard Sharpe, NS Computer Software and Services P/L Ed Warnicke,

翻译:VIN

msn:fy_address@hotmail.com

目 录

1 Ethereal介绍 5

1.1 Ethereal为何物? 5

1.1.1 Ethereal可以帮人们做什么? 5 1.1.2 界面功能 5

1.1.3 实时的从不同网络介质抓取数据包 6 1.1.4 导入来自其它抓包工具的文件 6 1.1.5 为其它抓包工具导出文件 6 1.1.6 丰富的协议解码器 7 1.1.7 开放源代码软件 7 1.1.8 Ethereal不能做什么? 7 1.2 Ethereal运行平台 7 1.2.1 Unix 7

1.2.2 Linux 8

1.2.3 Microsoft Windows 8 1.3 那里可以得到ethereal? 8 1.4 Ethereal的读法 9 1.5 Ethereal的历史 9

1.6 Ethereal的设计和维护 9 1.7 问题报告和获得帮助 9 1.7.1 Web网站 9 1.7.2 WIKI 10

1.7.3 FAQ 10

1.7.4 邮件列表 10 1.7.5 问题报告 10

1.7.6 liunx/unix平台崩溃报告 11 1.7.7 Windows平台崩溃报告 11 2 编译和安装ethereal 11

2.1 介绍 11

2.2 获得ethereal源代码和应用发布版本 12 2.3 UNIX平台编译ethereal之前准备工作 12 2.4 UNIX平台编译ethereal源代码 13 2.5 UNIX平台应用版本安装 13

2.5.1 RedHat 的RPMs方式安装 14 2.5.2 Debian的安装方式 14

2.6 解决UNIX下安装失败问题 14 2.7 Windows下源代码的编译 14 2.8 Windows下Ethereal安装 14 2.8.1 安装ethereal 14 2.8.2 升级ethereal 15 2.8.3 卸载ethereal 15 3 用户操作界面 15 3.1 介绍 15

3.2 启动ethereal 15 3.3 ethereal主界面 15 3.4 “The Menu”主菜单 16 3.4.1 “File”文件菜单 18 3.4.2 “Edit”编辑菜单 19 3.4.3 “View”视图菜单 21 3.4.4 “GO”跳转菜单 23

3.4.5 “Capture”抓包菜单 24 3.4.6 “Analyze”分析菜单 24 3.4.7 “Statistics”统计报表菜单 26 3.4.8 “Help”帮助菜单 27

3.5 “Main”常用工具栏 28

3.6 “Filter Toolbar”显示过滤器工具栏 30 3.7 “Packet List”数据包列表窗格 31

3.8 “Packet Details”数据包信息树窗格 31 3.9 “Packet Bytes”数据包字节窗格 32 3.10 “Statusbar”状态栏 32 4 网络数据包实时抓取 33 4.1 介绍 33

4.2 使用Ethereal前的准备工作 33

4.3 如何开始抓包? 33

4.4 “Capture Interfaces”抓包网络接口窗口 34 4.5 “Capture Options”抓包选项窗口 35 4.5.1 “Capture”抓包常规框 35

4.5.2 “Capture File(s)”数据包文件框 36 4.5.3 “Stop Capture?”停止抓包框 37 4.5.4 “Display Options”显示选型框 38 4.5.5 “Name Resolution”名称解析框 38 4.5.6 “Buttons”按键 39

4.6 数据包文件和文件模式 39

4.7 “Link-layer header type”链接层数据头类型 40 4.8 抓包过滤器 40

4.9 抓包状态信息窗口 42 4.9.1 停止抓包 42

4.9.2 重新开始抓取 43

5 数据包文件导入、导出和打印 43 5.1 介绍 43

5.2 “Open”打开数据包文件 43

5.2.1 “Open Capture File”打开数据包文件窗口 44 5.2.2 支持导入文件格式 45 5.3 “Save As”存储数据包 45 5.3.1 输出文件格式 46

5.4 “Merging”合并数据包文件 47 5.5 “File Sets”文件系 48 5.6 “Exporting”导出文件 49

5.6.1 “Exporting as Plain Text File”导出无格式文件 49

5.6.2 “Export as PostScript File”导出PS格式文件 50

5.6.3 “Export as CSV(Comma Seperated Values)File”导出CSV(逗号分割)文件 50 5.6.4 “Export as PSML File”导出PSML格式文件 51 5.6.5 “Export as PDML File”导出PDML格式文件 51

5.6.6 “Export selected packet bytes”导出被选择数据包数据 52 5.7 “Printing”打印数据包 53

5.8 “Packet Range”数据包范围窗格 55 6 数据包分析 55

6.1 如何查看数据包 55

6.2 显示过滤器 60

6.3 如何书写显示过滤器表达式 61 6.3.1 显示过滤器字段 61

6.3.2 比较操作的数据类型和操作符 62 6.3.3 组合表达式 62

6.3.4 显示过滤器常见误解 63

6.4 “Filter Expression”过滤器表达式窗口 64 6.5 定义和存储过滤器 65 6.6 搜索数据包 67

6.6.1 “Find Packet”搜索数据包窗口 67 6.6.2 “Find Next”寻找下一个 68 6.6.3 “Find Previous”寻找上一个 68 6.7 “GO”跳转 68

6.7.1 “Go Back”后退 68 6.7.2 “Go Forward”向前 68 6.7.3 “Go to Packet”跳转到 68

6.7.4 “Go to Corresponding Packet”跳转到相关数据包 69 6.7.5 “Go to First Packet”跳到第一个数据包 69 6.7.6 “Go to Last Packet”跳到最后一个数据包 69 6.8 标记数据包 69

6.9 时间显示格式和时间基准点 70 6.9.1 时间显示格式 70 6.9.2 时间基准点 70

7 高级工具 72

7.1 介绍 72

7.2 “Following TCP streams”跟踪TCP数据流 72 7.2.1 TCP数据流跟踪窗口 73 7.3 Time Stamps时间标记 74 7.3.1 Ethereal内部时间格式 74 7.3.2 数据包文件时间格式 74 7.3.3 时间正确性 74 7.4 时区问题 75 7.4.1 什么是时区? 75

7.4.2 为你的计算机设置正确时间 75 7.4.3 Ethereal和时区 76 7.5 数据包重组 76

7.5.1 什么是数据包重组? 76 7.5.2 Ethereal如何实现包重组 76 7.6 名称解析 77

7.6.1 以太网名称解析(MAC层) 77 7.6.2 IP名称解析(网络层) 78 7.6.3 IPX名称解析(网络层) 78

7.6.4 TCP/UDP端口名称解析(传输层) 78 7.7 确保数据完整性 78

7.7.1 Ethereal核对概要 79

7.7.2 硬件里的概要计算和确认 79 8 统计 79 8.1 介绍 79

8.2 “Summary”统计窗口 80

8.3 “Protocol Hierrrchy”协议层次统计窗口 81 8.4 “Endpoint”终端统计 82 8.4.1 Endpoint终端是什么? 82 8.4.2 终端统计窗口 83 8.5 会话统计Conversations 83 8.5.1 什么是会话 83 8.5.2 会话窗口 83 8.6 IO曲线图窗口 85 8.7 服务响应时间统计 86 9 Ethereal客户配置 87 9.1 介绍 87

9.2 定义数据包颜色 87 9.3 控制协议解析器 89

9.3.1 “Enabled Protocols”协议解析开关窗口 89 9.3.2 用户配置解码 90 9.3.3 查看定义的解码方式 91 9.4 参数选择 92

1 Ethereal介绍

1.1 Ethereal为何物?

Ethereal是开源网络数据包分析软件。数据包分析软件会抓取数据包,并试图逐条详细地显示数据包数据。你可以认为数据包分析软件是一个用户检查网络数据报文的设备,就像用电压表测量电路电压。

以往数据包分析软件都是非常昂贵的或私有的。但Ethereal出现以后,这一切都改变了。 Ethereal 可能是现在最好的开放源码的数据包分析软件。 1.1.1 Ethereal可以帮人们做什么?

有些人使用ethereal 完成以下工作:

&O1548; 网络管理员使用它去充当网络程序故障检修工具 &O1548; 网络安全工程师使用它检查安全软件 &O1548; 开发人员使用它发现协议运行中的bug &O1548; 很多人使用它监听内网数据

&O1548; 等等

总之,ethereal可以在很多环境里帮助人们。 1.1.2 界面功能

Ethereal操作界面很友善,提供以下功能按键: &O1548; UNIX和windows下都可以运行 &O1548; 抓取从网络上抓到活动的数据包 &O1548; 真实的显示数据包协议信息

&O1548; 打开和保存被抓取的数据包文件

&O1548; 导入和导出数据包用于和其它抓包软件互动 &O1548; 标准的数据包过滤器

&O1548; 标准的数据包搜索

&O1548; 基于过滤器的数据包彩色显示 &O1548; 创建多种统计报表 &O1548; 等等!

可是你想真正了解它的威力,你必须亲自去使用它!

1.1.3 实时的从不同网络介质抓取数据包

Ethereal可以从网络介质上抓取流过的数据包。至于网络介质支持的类型,依赖于你使用的操作系统,您可以去这里察看所有被支持的网络介质:http://www.ethereal.com/media.html

1.1.4 导入来自其它抓包工具的文件

Ethereal可以打开大量其它抓包工具制作的数据包文件,具体支持情况请查看“导入文件格式”

1.1.5 为其它抓包工具导出文件

Ethereal 可以将抓取得数据包文件导出,并提供给其它抓包工具使用。具体支持情况请查看“导出文件格式”。

1.1.6 丰富的协议解码器

Ethereal 支持丰富的网络协议解析,具体支持情况请查看“附录B:协议和协议域”。 1.1.7 开放源代码软件

Ethereal 是一个开放源代码软件工程,被GNU General Public Licence(GPL)发布。你可以免费的使用ethereal 不用考虑软件使用授权问题。在GPL下有很多的免费开源软件,所以,ethereal加入一个新的协议支持、插件或源代码修改都非常容易。 1.1.8 Ethereal不能做什么?

以下这些功能是ethereal不提供的:

&O1548; Ethereal 并不是个IDS入侵监测系统。当网络上发生某个事情的时候他不会警告你。当一个网络异常发生的时候,ethereal会帮您描述正在网络发生的问题。

&O1548; Ethereal并不能操作您的网络,它仅仅是一个测量工具。它不发送数据包或者作其他的主动行动。

1.2 Ethereal运行平台

Ethereal可以运行在很多的UNIX和各种windows平台上运行,它需要一些辅助软件库如:GTK+, GLib, libpcap ,其他一些库。

ethereal无法运行,请可以下在源程序去修正它。并请将您的使用经历发给:ethereal-dev@ethereal.com 支持平台如下: 1.2.1 Unix

&S226; Apple Mac OS X &S226; BeOS &S226; FreeBSD &S226; HP-UX &S226; IBM AIX &S226; NetBSD &S226; OpenBSD

&S226; SCO UnixWare/OpenUnix &S226; SGI Irix

&S226; Sun Solaris/Intel

&S226; Sun Solaris/Sparc

&S226; Tru64 UNIX (formerly Digital UNIX) 1.2.2 Linux

&S226; Debian GNU/Linux &S226; Gentoo Linux

&S226; IBM S/390 Linux (Red Hat) &S226; Mandrake Linux &S226; PLD Linux &S226; Red Hat Linux &S226; Rock Linux &S226; Slackware Linux &S226; Suse Linux

1.2.3 Microsoft Windows 支持:

&S226; Windows Server 2003 / XP / 2000 / NT 4.0 &S226; Windows Me / 98 不支持:

&S226; Windows CE

&S226; Windows NT / XP Embedded

&S226; Windows 95 is no longer actively maintained by WinPcap, but still may work perfectly 没有测试平台:

&S226; Windows XP 64-bit Edition &S226; Windows Vista (aka Longhorn)

1.3 那里可以得到ethereal?

您可以从http://www.ethereal.com/download.html 下载最新的ethereal版本。此网站允许您选择多种镜像下载服务器。

每4-8周会发布一个新的ethereal版本。

如果你希望在新版本发布时得到通知,你应该去加入ethereal邮件列表。“邮件列表”章节有详细地介绍。

1.4 Ethereal的读法

有人把ethereal拆解为:ethe-real、e-the-real等,你也可以按你喜欢的方式去叫它。在FQA里给出的是“e-the-real”。

1.5 Ethereal的历史

1997年,Gerald Combs需要一个跟踪网络协议的工具,并想学习更多的网络知识。他开始开发ethereal。

1998年七月,ethereal推出了0.2.0版本,在那些日子里,补丁、bug报告和鼓励使ethereal走向成功。

不久之后,Gilbert Ramirez看到了他的潜力,并提供了一个低等级协议分析器给他。 1998年十月,Guy Harris申请加入开发,并提供协议解析器。 1998年底,Richard Sharpe加入,并提供TCP/IP框架结构,可以很清晰地看到那些协议被支持,也可以轻松的加入新的协议解析器。 之后,ethereal开始蓬勃发展。 1.6 Ethereal的设计和维护

Ethereal最初是由Gerald Combs设计。目前它的设计和维护是由Ethereal Team完成。开放的团队谁都可以修复BUG和提供新功能。

众多的人为Ethereal协议解析器做出了贡献,你可以在“关于Ethereal”里看到众多的提供源代码的人们,或在ethereal作者页也可以看到他们。 你设计将在三个体现出对人们的帮助:

&O1548; 很多人会发现你的设计,并应用它在自己的工作中。你会发现你帮助了很多人。 &O1548; Ethereal可能会在改善您的设计,或在此之上作更多的上层设计。

&O1548; Ethereal的设计和维护人员会精心的维护您的设计代码,并修改它当API或其他调用变化的时候。当新版本发布的时候,您的新设计可能就被包含进去了。 1.7 问题报告和获得帮助

如果你对ethereal有一些疑问,或需要帮助,一下这些地方会对你有帮助。 1.7.1 Web网站

在ethereal主站可以找到大量的技术信息。http://www.ethereal.com.

1.7.2 WIKI

在http://wiki.ethereal.com里你可以得到更广泛的帮助信息。有很都信息是没有被包含在用户手册里的技术细节。

你也可以发表自己的见解,比如你对某一个协议很了解,你可以发表文章。 1.7.3 FAQ

FAQ即常见问题答复。建议你在提出问题之前,先查阅FAQ很可能找到答案。网址:http://www.ethereal.com/faq.html. 1.7.4 邮件列表

Ethereal 提供几种邮件列表:

&O1548; Ethereal 通告:告诉你有新的版本发布,每4-8周发布一次新版本 &O1548; Ethereal 用户:人们使用ethereal时遇到的问题和别人给于地答复 &O1548; Ethereal 开发:如果你想加入ethereal开发,加入此列表

你可以到ethereal网站订阅这些邮件列表。建议你再提出问题之前搜索邮件列表,如果找到答案,就不用再等待别人答复了!

1.7.5 问题报告

建议:提出问题报告之前,请先安装最新版本的ethereal测试。 提出问题报告时,建议你提供以下信息,这对解答问题非常有帮助。

&O1548; 您使用的ethereal版本号和使用的相关库如GTK+等,这些信息你可以使用ethereal –v获得 &O1548; 运行平台

&O1548; 详细逐条描述你遇到的问题

&O1548; 如果你得到了一个error/wanning错误提示信息,请拷贝这些信息,并记录。请不要给出\的提示信息,这没什么帮助。 注意:

&O1548; 不要发送大文件(100KB)在邮件中,

&O1548; 为了您的安全也不要发送包含您敏感信息的问题报告。 1.7.6 liunx/unix平台崩溃报告

你可以使用以下命令得到崩溃报告信息

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

backtrace ^D $

Backtrace是一个gdb命令。输入后没有回显信息。^D是一个gdb结束命令,输入后你会结束gdb,并在当前目录下形成bt.txt文件。此文件包含了ethereal崩溃信息。 你应该发送此文件到: ethereal-dev@ethereal.com 1.7.7 Windows平台崩溃报告

Windows不能产生.pdb文件,应为他太大了。你只能自己来描述。

2 编译和安装ethereal 2.1 介绍

为了使用ethereal你必须获得:

&O1548; 针对你操作系统的应用程序版本 &O1548; 针对你操作系统的源代码

由于支持的操作系统众多,版本更新也很快,确保你得到的是最新版本。 通常安装步骤为:

&O1548; 下载最新发布版本,应用版本或源代码版本。

&O1548; 编译源代码,产生应用程序,安装必须的各种运行库 &O1548; 安装应用程序

2.2 获得ethereal源代码和应用发布版本

你可以在ethereal网站得到源代码和应用程序两个发布版本。你可能发现应用程序版本没有真对你的平台的,此时你可能需要下在源代码发布版本,在本地从新编译。 一旦你下在了发布版本,你就可以进行下一步了。

2.3 UNIX平台编译ethereal之前准备工作

你在编译ethereal之前或安装应用发布版本之前。你应该确认以下软件已经正确安装: &O1548; GTK+ (The GIMP Tool Kit) 你可以从 www.gtk.org下载 &O1548; Libpcap 你可以从www.tcpdump.org下载

由于你的平台不同,可能需要安装他们的应用版本如RPMs,跟多的时候需要源代码进行编译。

如果你下载了GTK+的源代码,你可以这样安装GTK+: gzip -dc gtk+-1.2.10.tar.gz | tar xvf - cd gtk+-1.2.10 ./configure

make

make install

如果你使用的是liunx, 或者安装了GNU tar。你也可以使用tar zxvf gtk+-1.2.10.tar.gz 。

在很多的UNIX平台上可能使用gunzip -c or gzcat比gzip -db更好。 如果你使用windows平台下在文件,文件名可能是gtk+-1_2_8_tar.gz 如果你下载了libpcap的源代码发布版本。你可以这样来安装: gzip -dc libpcap-0.8.3.tar.Z | tar xvf - cd libpcap_0_8_3 ./configure

make

make install

make install-incl

如果使用RetHat 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 在Debian系统上安装,使用如下命令: apt-get install ethereal

2.4 UNIX平台编译ethereal源代码 按照以下步骤编译Ethereal源代码: 1.拆包

tar zxvf ethereal-0.10.14-tar.gz 某些UNIX平台可能需要这样做: gzip -d ethereal-0.10.14-tar.gz tar xvf ethereal-0.10.14-tar 2.更改ethereal源代码目录

3.编译前自动配置 ./configure 4.编译 make

5.安装

make install

安装完毕后,就可以键入ethereal 开始运行了。 2.5 UNIX平台应用版本安装

通常情况下不同UNIX平台下安装方法都是不同的,例如:AIX,需要使用smit去安装ethereal应用版本,而在Tru64 UNIX下,需要使用setld来安装。 2.5.1 RedHat 的RPMs方式安装

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

如果提示没有相关库,请参考:“如果使用RetHat linux 6.2以后平台。。。” 2.5.2 Debian的安装方式 apt-get install ethereal 2.6 解决UNIX下安装失败问题

如果configure命令失败,你需要知道为什么运行失败。你可以查看源代码目录下config.log。最后的几行会对你很有帮助。

如果你的系统中没有GTK+或libpcap,或版本不适合,都会引起configure失败. 另一个常见的问题是在编译过程中出现输出过长问题。这很可能是由于老的sed引起的。你可以下载最新的sed。http://directory.fsf.org/GNU/sed.html 。

如果你不能确定是什么问题引起了编译失败,你可以发送给ethereal-dev。包含config.log和你认为有用的信息。

2.7 Windows下源代码的编译

推荐你使用应用发布版本,除非你需要开发。

请到http://wiki.ethereal.com/Development 得到信息。

2.8 Windows下Ethereal安装 2.8.1 安装ethereal

首先获得安装包,ethereal-setup-x.y.z.exe x.y.z代表版本号,例如0.10.14。执行此文件即可开始进入通行安装画面。不需要特殊配置,按“next”键即可完成安装。

2.8.2 升级ethereal

如果你加入了ethereal通告邮件列表,你会及时得到ethereal新版本发布信息。升级方法和安装方法一样。

卸载ethereal

在控制面板里,添加删除程序里操作。 3 用户操作界面 3.1 介绍

你已经安装了ethereal,现在可以开始抓包了。接下来的几个章节将介绍: &O1548; Ethereal用户操作界面 &O1548; 如何抓包

&O1548; 如何查看数据包

&O1548; 如何配置数据包过滤器 &O1548; 等等 3.2 启动ethereal

可以通过命令行启动,或者在windows开始-程序,或桌面快捷方式等。 3.3 ethereal主界面

下图为ethereal用户界面,此图为你抓取数据包之后或导入数据后的情况。

Ethereal 主窗口有很多的GUI程序组成。

1.Menu 主菜单:用于开始各种操作功能

2.Main toolbar 常用工具栏:列出了一些ethereal使用过程中常用的功能按键 3.Filer toolbar 显示过滤器工具栏:用于直接操作和显示过滤器字段

4.Packet list pane 数据包列表窗格:这里显示被抓取数据包列表。点击某个数据包行,他的具体信息将显示是另外两个窗格里。

5.Packet details pane 数据包信息树窗格:显示在数据包列表窗格里被选中数据包的详细信息。

6.Packet bytes pane 数据包字节窗格:显示在数据包列表窗格里被选中的数据包字节信息。在数据包信息树窗格中被点选的高亮部分,此处也会将相对应的字节部分高亮显示。 7.Statusbar 状态栏: 显示当前程序的状态或被选数据的状态。 注意:主界面可以被客户根据自己的习惯定制。 3.4 “The Menu”主菜单 主菜单如下图所示:

File 文件

打开或合并抓包文件,部分或全部存储、打印、导出抓包文件,退出Ethereal。

Edit 编辑

查询数据包、设置时间基准、标记一个或多个数据包、设置参数选项(目前没有实现剪切、拷贝、粘贴工具) View 视图

控制被抓取数据包的显示方式,包括:数据包颜色、字体缩放、在新窗口显示数据包、展开和收起数据包描述信息树等等 GO 移动

移动到指定数据包位置,比如:上移一个、下疑一个、到开头、到结尾、到指定的第几个包等。

Capture 抓取

开始、重新开始、停止抓包,抓取过滤器配置。 Analyze 分析

设置显示过滤器,挂接协议解析器,指定解码,跟踪TCP数据流等。 Statistics 统计报表

可以弹出各种统计窗口,例如:被抓取数据包概要窗口,协议层次窗口等。 Help 帮助

包含了基本帮助、支持协议列表,在线帮助关联,本系统常规介绍。

3.4.1 “File”文件菜单

Menu 菜单项目 快捷方式 描述

Open?

打开? Ctrl+O 打开查找数据包文件对话框,从中选择您要分析的数据包文件。 Open Recent 最近打开文件 显示最近打开过的数据包文件,并可以点选打开。 Merge?

合并? 打开查找数据包文件对话框,从中选择数据包文件,将其合并到当前打开的数据包文件中。

Close 关闭 Ctrl+W 关闭当前正在分析的数据包文件

--- Save

保存 Ctrl+S 保存当前正在分析的数据包,如果是新的数据包文件,会弹出一个存储位置和文件名的对话框。

如果已经保存过,这个按键是灰色的,不可用的。

不能在抓包过程中保存,必须停止抓包后,才可以保存。

Save As?

另存为? Shift+Ctrl+S 保存当前正在分析的数据包为另一个数据包文件,会弹出一个另存为存储位置和文件名的对话框。

---

File Set >

List Files 文件系 >

文件列表 数据包文件系中的文件列表,会弹出文件列表窗口 File Set > Next Files 文件系 >

下一个文件 如果目前打开了数据包文件系中的一个文件,打开文件系中此文件的下一个文件。当目前打开的是文件系中的最后一个或非文件系文件,此按键为灰色,不可用。 File Set >

Previous Files 文件系 >上一个文件 如果目前打开了数据包文件系中的一个文件,打开文件系中此文件的上一个文件。当目前打开的是文件系中的第一个或非文件系文件,此按键为灰色,不可用。 --- Exprot > As “Plain

Text” file? 导出 >

普通文本文件? 允许您导出数据包文件中的一些或全部包信息到一个ASCII编码的普通文本文件。 Exprot >

As”PostScript”

File? 导出 >

.PS文件? 允许您导出数据包文件中的一些或全部包信息到一个PostScript文件。 Export > As “CSV”

(Comma Separated Values packet summary )file? 导出 >

CSV电子表格文件? 允许您导出数据包文件中的一些或全部包信息到一个.CSV文件(Comma Separated Values packet summary:用逗号分割数据包值概要),应用于电子表格。

Export > As “PSML” file? 导出 >

PSML文件? 允许您导出数据包文件中的一些或全部包信息到一个PSML(packet summary markup language:数据包摘要置标语言) XML文件。 Export > As “PDML” file? 导出 >

PDML文件? 允许您导出数据包文件中的一些或全部包信息到一个PDML(packet details markup language:数据包详细信息置标语言) XML文件。 Export >

Selected Packet Bytes? 导出 >

数据包被选字节? 允许您导出数据包字节窗格中选择的字节,形成一个二进制文件。 ---

Print? 打印? Ctrl+P 允许您打印数据包文件中的一些或全部包信息。

---

Quit 退出 Ctrl+Q 退出ethereal,如果没有存盘,会有存盘提示窗口。 3.4.2 “Edit”编辑菜单

Menu 菜单项目 快捷方式 描述

Find Packet? 查找数据包... Ctrl+F 弹出一个查找对话框,您可以指定很多的数据包属性和值用于查找您需要的数据包。

Find Next 查找下一个 Ctrl+N 查找符合“查找数据包...”条件的下一个数据包。 Find Previous 查找上一个 Ctrl+B 查找符合“查找数据包...”条件的上一个数据包。 ---

Time Reference> Set Time Reference

(toggle) 时间基准>

设置时间基准(标记) Ctrl+T 将当前选择的数据包上设置时间基准 Time Reference>

Find Next 时间基准>

发现下一个 试图发现下一个设置时间基准的数据包 Time Reference>

Find Previous 时间基准>

发现上一个 试图发现上一个设置时间基准的数据包 Mark Packet

(toggle) 标记数据包 Ctrl+M 在被选择的数据包上做记号

Mark All Packets 标记所有数据包 为数据包文件中的所有数据包做标记

Unmark All Packets 解除所有数据包标记 为数据包文件中的所有数据包解除标记 Preferences

? 选项 Shift+Ctrl+P 弹出选项配置窗口,可以设置各种ethereal控制参数。并可以应用和存储您的配置信息,下次启用ethereal这些配置依然起作用。 3.4.3 “View”视图菜单

Menu 菜单项目 快捷方式 描述

Main Toolbar 常用工具栏 钩选此项,显示或隐藏常用工具栏 Filter Toolbar 过滤器工具栏 钩选此项,显示或隐藏过滤器工具栏 Statusbar 状态栏 钩选此项,显示或隐藏状态栏

---

Packet List 包列表窗格 钩选此项,显示或隐藏包列表窗格

Packet Details 包详细信息窗格 钩选此项,显示或隐藏包详细信息窗格 Packet

Bytes 数据包字节窗格 钩选此项,显示或隐藏数据包字节窗格 ---

Time Display Format >

Date and Time of Day:

1970-01-01 01:02:03.123456 时间显示格式 >

日期和当天时间:1970-01-01 01:02:03.123456 选择日期和时间为ethereal显示格式。 Time Display Format > Time of Day:

01:02:03.123456 时间显示格式 >

当天时间: 01:02:03.123456 选择不显示日期,只显示时间为ethereal显示格式。 Time Display Format>

Seconds Since Beginning of Capture: 123.123456 时间显示格式 >

从开始抓包到此包到来的秒数:123.123456 选择从开始抓包到此包到来的秒数为ethereal时间显示格式

Time Display Format>

Seconds Since Previous Packet:

1.123456 时间显示格式 >

与上一个数据包的时间间隔秒数:1.123456 选择与上一个数据包的时间间隔秒数为ethereal时间显示格式 Time Display Format >

Automatic (File Format Precision) 时间显示格式 >

自动(依据文件显示精度) 自动分析数据包文件的时间精度,并按此精度显示。 Time Display Format >

Seconds : 0 时间显示格式 >

秒:0 设置ethereal时间现实精度为1秒。 Time Display Format > ?Seconds :

0?. 时间显示格式 >

?秒:0?. 设置ethereal时间现实精度为十分之一、百分之一、千分之一、万分之一秒等

Name Resolution >

Resolve Name 名称解析 >

解析名称 此项试图解析数据包的地址信息,使您更容易理解。如主机名,域名,Mac->IP等的解析。

Name Resolution >

Enable for MAC Layer 名称解析 >

MAC层解析 开启对MAC层解析,将MAC地址解析为容易理解的名字显示。例如: (e.g. 00:09:5b:01:02:03 -> 192.168.0.1).

(e.g. 00:09:5b:01:02:03 -> Netgear_01:02:03). (e.g.00:09:5b:01:02:03 -> homerouter) Name Resolution > Enable for

Network Layer 名称解析 >

网络层解析 利用DNS服务,将IP解析为域名。 (e.g.65.208.228.223 -> www.ethereal.com) 在IPX网里,可以解析出IPX网名

Name Resolution >

Enable for

Transport Layer 名称解析 >

传输层解析 对应用协议的端口做解析,得到服务类型,如 80->http等

Colorize Packet

List 数据包列表颜色显示 开启或关闭数据包列表颜色显示

Auto Scroll in Live Capture 实时抓包自动滚动 在实时抓包时,当新的数据包到来时,数据包列表自动向上滚动,将最新的数据包显示出来。 ---

Zoom In 放大显示 Ctrl++ 增大数据包显示字号 Zoom Out 缩小显示 Ctrl+- 减小数据包显示字号

Normal Size 正常显示 Ctrl+= 缩放到100%的字号

Resize All Columns 重新分配列宽度 按照经验重新分配列宽度

---

Expand Substrees 打开子树 打开数据包信息树窗格里的被选中的信息描述子树。 Expand All 打开全部子树 打开数据包信息树窗格里的全部信息描述子树。 Collapse All 收起全部子树 收起数据包信息树窗格里的全部信息描述子树。 ---

Coloring

Rules?

数据包颜色规则? 修改数据包颜色规则。

---

Show Packet in New Windos 在新窗口中显示数据包 打开一个新窗口显示数据包,此窗口紧紧包含数据包信息树窗格和字节窗格。

Reload 重新导入 Ctrl+R 允许您重新导入数据包文件

3.4.4 “GO”跳转菜单

Menu 菜单项目 快捷方式 描述

Back 后退 Alt+Left 向后跳转到浏览历史中最近浏览的数据包,很像IE中的历史页面后退操作。

Forward 前进 Alt+Right 跳转道浏览历史中的下一个浏览的数据包,很像IE中的历史页面前进操作。 Go to

Packet? 跳转到? Ctrl+G 弹出窗口输入你想分析的数据包编号,自动定位到此数据包 Go to

Corresponding

Packet 跳转到相关通讯包 跳转到被选协议数据流,相关通讯的数据包。 如果没有符合的数据包,此按键为灰色不可用。 ---

First Packet 开头 跳转到数据包文件的第一个数据包 Last Packet 结尾 跳转到数据包文件的最后一个数据包

3.4.5 “Capture”抓包菜单

Menu 菜单项目 快捷方式 描述

Interfaces? 网络接口? 弹出网络接口信息窗口,展示网络接口的工作状态等。 Options? 抓包选项 Ctrl+K 弹出抓包选项窗口,你可以设置各种抓包选项,可以开始抓包。 Start 开始 立刻开始抓包,并引用上次抓包的选项设置 Stop 结束 Ctrl+E 停止正在进行的抓包过程。

Restart 重新开始 停止正在进行的抓包过程,并再次开始抓包,且引用相同的设置。 Capture Filers? 抓包过滤器? 弹出窗口,允许您创建和编辑抓包过滤器。

3.4.6 “Analyze”分析菜单

Menu 菜单项目 快捷方式 描述

Display Filters? 显示过滤器? 弹出窗口,可以创建和修改显示过滤器。

Apply as Filter >? 应用为过滤器>? 改变显示过滤器,并立即应用。当前的显示过滤器字串被替换或追加数据包信息树窗格中被选的数据包协议特征。

Prepare a Filter >? 准备过滤器 >? 改变显示过滤器,并不立即应用,做完所有准备工作后,一起应用。当前的显示过滤器字串被替换或追加数据包信息树窗格中被选的数据包协议特征。

---

Enabled Protocols? 使用协议解析器? Shift+Ctrl+R 弹出窗口,钩选协议解析器。 Decode As? 解码方式? 允许用户强制Ethereal将某些数据包按照指定的协议解析。 User Specified Decodes? 用户指定解码? 列出用户指定的解码方式,并可以清除这些解码方式。 ---

Follow TCP

Stream 跟作TCP流 弹出窗口,显示所选数据包TCP连接的数据流信息。 3.4.7 “Statistics”统计报表菜单

Menu 菜单项目 快捷方式 描述

Summary 概要 显示被抓取数据信息概要

Protocol Hierarchy 协议层次 显示协议分层树结构。

Conversations 会话统计 显示所有会话 (两个终端之间的数据流) 列表 Endpoints 终端统计 显示所有终端 (数据流的to/from端) 列表 IO Graphs IO图表 显示用户自定义过滤器的图表 --- Conversation

List 会话列表 选在某种协议的会话列表,其实市会话统计窗口中的一部分。 Endpoints

List 终端列表 选在某种协议的终端列表,其实是终端统计窗口中的一部分。 Service Response Time 服务相应时间 显示某个请求和相应回复之间的时间间隔。 ----

ANSI ANSI GSM GSM

Fax T38

Analysis? Fax T38 分析?

H.225 H.225 MTP3 MTP3 RTP RTP SCTP SCTP

SIP SIP

VoIP Calls? VoIP Calls? WAP-WSP? WAP-WSP? ---- ----

BOOTP-DHCP BOOTP-DHCP Destinations 目的地址 Flow Graph Flow Graph HTTP HTTP ISUP

Messages ISUP 信息

ONC-RPC Programs ONC-RPC Programs Packet Length? 数据包大? Packet Type? 数据包类型? TCP Stream

Graph TCP数据流图

3.4.8 “Help”帮助菜单

Menu 菜单项目 快捷方式 描述

Contents 基础帮助 F1 系统的基本概念介绍和FAQ等信息 Supported Protocols 目前支持协议 显示此版本支持的协议列表

Manual Pages >? 用户指南 >? 本地安装的以web方式提供的用户指南 Ethereal Online? 在线帮助... 关联到Ethereal网站的各种在线帮助 ----

About Ethereal 关于Ethereal 介绍Ethereal版本、安装目录、插件、作者信息。

3.5 “Main”常用工具栏

工具栏

图标 Toolbar Item 工具栏 按键 对应主菜单 位置 描述

Interfaces? 网络接口? Capture >

Interfaces? 弹出网络接口信息窗口,展示网络接口的工作状态等。

Options? 抓包 选项? Capture >

Options? 弹出抓包选项窗口,你可以设置各种抓包选项,可以开始抓包。

Start? 开始 Capture >

Start 立刻开始抓包,并引用上次抓包的选项设置

Stop 停止 Capture >

Stop 停止正在进行的抓包过程。

Restart 重新开始 Capture >

Restart 停止正在进行的抓包过程,并再次开始抓包,且引用相同的设置。 -----

Open? 打开? File >

Open? 打开查找数据包文件对话框,从中选择您要分析的数据包文件。

Save As? 另存为? File >

Save As? 保存当前正在分析的数据包为另一个数据包文件,会弹出一个另存为存储位置和文件名的对话框。

Close 关闭 File >

Close 关闭当前正在分析的数据包文件

Reload 重新导入 View >

Reload 允许您重新导入数据包文件

Print? 打印? File >

Print? 允许您打印数据包文件中的一些或全部包信息。 ----

Find

Pecket? 查找数据包... Edit > Find

Packet? 弹出一个查找对话框,您可以指定很多的数据包属性和值用于查找您需要的数据

包。

Back 后退 Go >

Go Back 向后跳转到浏览历史中最近浏览的数据包,很像IE中的历史页面后退操作。

Forward 前进 Go >

Go Forward 跳转道浏览历史中的下一个浏览的数据包,很像IE中的历史页面前进操作。

Go to

Packet? 跳转到 ? Go > Go to

Packet? 弹出窗口输入你想分析的数据包编号,自动定位到此数据包

Go to

First Packet 开头 Go >

Go to

First Packet 跳转到数据包文件的第一个数据包

Go to

Last Packet 结尾 Go >

Go to

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? 弹出窗口,允许您创建和编辑抓包过滤器。

Display

Filters? 显示过滤器? Analyze > Display

Filters? 弹出窗口,可以创建和修改显示过滤器。

Coloring

Rules? 数据包颜色规则? View > Coloring

Rules? 修改数据包颜色规则。

Preferences? 选项? Edit >

Preferences? 弹出选项配置窗口,可以设置各种ethereal控制参数。并可以应用和存储您的配置信息,下次启用ethereal这些配置依然起作用。

Some Help 基础

帮助 Help >

Contents 系统的基本概念介绍和FAQ等信息 3.6 “Filter Toolbar”显示过滤器工具栏

此工具栏用于编辑和应用显示过滤器。

在之后文本框里您可以输入显示过滤关键词表达式。如果输入不完整或错误,此框背景为红色;如果输入了正确的显示过滤关键词表达式,此框背景自动变为绿色。修改显示过滤关键词表达式后,记得按“Apply”应用,这样此显示过滤关键词表达式才会起作用。 文本框后的 下拉按键,会列出使用过的过滤关键词表达式。 中部的 ,会弹出显示过滤关键词表达式的编辑窗口。

清除显示过滤关键词表达式,显示所有数据包,并清空显示过滤关键词表达式文本框。

注意:对于一个大型数据包文件,应用后,可能会需要一段时间才能显示结果。

3.7 “Packet List”数据包列表窗格

在数据包列表里的每一个行表示数据包文件里的一个数据包。如果你选中了其中一行,那么此数据包的信息就会显示在“数据包信息树窗格”和“数据包字节窗格”里。

Ethereal的高等级协议解析器得到的信息会覆盖掉低等级协议解析器解析的数据信息。例如:当一个包含TCP,IP的以太网数据包被解析时,以太网解析器解析得到数据(以太网地址);会被IP解析器解析得到数据(IP地址)覆盖;TCP解析器解析得到的数据将覆盖掉IP解析器得到的信息,等等。

有很多列可以显示,在“编辑-选项”里自定义那些列被显示。 一般显示一下列:

&O1548; No. 数据包显示序号,不可修改

&O1548; Time 可以设置各种时间显示格式和精度; &O1548; Soure 源地址 &O1548; Destination 目的地址 &O1548; Protecol 协议 &O1548; Info 信息

在数据行上使用鼠标右健,快捷操作菜单出现。

3.8 “Packet Details”数据包信息树窗格

此窗格以树结构显示在数据包列表窗格被选中数据包的协议和字段内容,树可以展开和收起。在树或分支上使用鼠标右健,快捷操作菜单出现。

某些协议字段将特殊显示,包括:Genereted fields生成字段和Links关联。

Genereted fields生成字段

Ethereal根据数据包文件其他数据包的上下文分析出来的信息,例如TCP流中的SEQ和ACK分析,会在此处多显示一个[SEQ/ACK analysis]字段。 Links关联

Ethereal分析出此包和数据包文件中其他包有关联,显示蓝色带下划线字段。双击此字段可以跳转到关联数据包。

3.9 “Packet Bytes”数据包字节窗格

通常使用哈希方式显示数据包字节。左边显示数据包偏移量,中间使用十六进制显示数据包,右边对应现实ASCII字符或没有适当的显示。 点击鼠标右键出现快捷菜单。

遇到数据包碎片时,Ethereal会将其组合成一个大的包,添加一个组合包字节显示页面,如下图:

3.10 “Statusbar”状态栏

一般情况下,左边显示上下文信息,右边显示当前数据包数。例如下图显示,在Ethereal开始的时候,没有数据包文件被导入的状态:

例如:左边显示数据包文件名,文件大小,时间信息,右边显示在此数据包文件里的数据包数量。

P:抓取得数据包数 D:被显示的数据包数 M:被作过标记的数据包数

例如:如果在“数据包信息树窗格”中选中了某一个字段,状态栏显示如下:左边显示字段名称和它的字节数。

4 网络数据包实时抓取 4.1 介绍

抓取网络实时数据是Ethereal的主要功能。 Ethereal抓包引擎拥有以下特征:

&O1548; 可以在不同类型网络环境抓包,如:Ethernet,Token Ring,ATM?

&O1548; 多种停止抓包触发器:抓取数据文件大小,抓取时间,抓取数据包数。 &O1548; 抓包同时,显示数据包解码信息

&O1548; 抓包过滤器,帮助减小抓包文件大小。

&O1548; 在抓取巨量数据包时,可以生成多个文件;多个数据包文件回滚存储,紧紧保留最后N(用户指定的文件数)个数据包文件。 Ethereal抓包引擎还不具备的功能:

&O1548; 同时抓取多个网络接口数据(但是可以开多个Ethereal,分别抓取不同网络接口的数据,之后将其合并)

&O1548; 根据抓取的数据停止抓取 4.2 使用Ethereal前的准备工作

开始安装Ethereal抓包之前,以下工作必须确认完成: &O1548; 需要拥有Root或管理员权限 &O1548; 选择用于抓包的适当网络接口 &O1548; 在网络里选择正确的抓包位置 &O1548; 等等

如果你在安装过程中遇到什么疑问,请先查阅前面关于ethereal安装的介绍。 4.3 如何开始抓包?

以下的方法之一都可以使ethereal开始抓包:

&O1550; 点击“ Capture Interfaces”弹出查看本地网络接口窗口,点击“Capture”键开始抓此网络接口的数据包。

&O1550; 点击“ Capture Options”弹出抓包选项窗口,点击“Start”按键开始抓包。 &O1550; 如果你已经在抓包选项里设置完毕,你可以直接点击“ Capture Start”立刻开始抓包。

&O1550; 如果你已经知道了网络接口的名称,也可以使用命令行模式开始抓包: ethereal -i eth0 –k 将开始抓去eth0接口的数据包

4.4 “Capture Interfaces”抓包网络接口窗口

在主菜单“Capture”—“Interfaces”,就会弹出“Capture Interfaces”抓包网络接口窗口。注意:此窗口实时的抓取接口数据状态,随意比较消耗资源。为了节省资源建议及时关闭此窗口。此窗口可以同时显示本地多个网络接口信息,但不能探测远端网络接口。

Item 项目 描述

Description 描述 操作系统网络接口描述

IP IP地址 解析网络接口被分配的第一个IP地址。如果没有IP地址(例如DHCP服务器不可用),“unknown 无地址”被显示。如果一个接口有多个IP地址,紧紧显示第一个IP. Packets 数据包数 从打开窗口开始,被抓取数据包数。如果此接口没有抓到数据包,这此处显示灰色。

Paskets/s 最好一秒数据包数 最后一秒抓到的数据包数。如果最后一秒没有找到数据包,此处显示灰色。

Stop 停止 停止抓包

Capture 抓包 立刻使用最后一次抓包设置开始在此接口抓包。 Prepare 准备 打开此接口抓包选项窗口。 Close 关闭 关闭此窗口。

4.5 “Capture Options”抓包选项窗口

点击主菜单“Capture”—“Options”弹出抓包选项窗口。

如果您不能确定某个选项如何设置,请使用默认选项设置,大多数情况下默认选项设置可以使您的抓包顺利进行。您可以设置以下这些选项。 4.5.1 “Capture”抓包常规框

如下图所示为“Capture”抓包常规框:

Item 项目 描述

Interface 网络接口 选择用于抓包的网络接口。仅仅可以选择Ethereal探测到的系统的一个网络接口。默认显示第一个非Loopback接口,如果没有,则显示Lookback接口。某些系统Lookback无法用于抓包。

此处功能和命令行里的 –i参数一至。

IP address IP地址 被选择接口的IP地址,如果没有显示“unknown”无地址。 Link-layer

Header type 链路层数据头类型 除非你在很特殊的网络里,不然不要更改此选项。默认为“ethernet”以太网。 Buffer size:

n megabyte(s) 缓存尺寸:

MB 抓包时的缓存区大小。抓到的数据包会被存在这里直到它被写入磁盘。(仅仅windows平台支持此选项)

Capture packets in

promiscuous mod 混杂模式抓包 允许设置使用混杂模式抓包。如果你没有选择混杂模式,Ethereal仅仅抓取本机的进出数据包。 Limit each packet to

n bytes 包大小限制 设置抓包大小过滤器。如果不设置,默认为:65535,这对绝大多数协议都适用。一下是几个建议:

&O1548; 如果你不确定,就使用默认值

&O1548; 如果你不需要所有的数据包,例如你仅仅需要链路层IP/TCP头,你可能需要设置一个小的长度。

&O1548; 在大流量环境中,可以降低CPU和缓存占用率。

&O1548; 抓取的数据包不全,有可能你希望抓的数据包被丢弃。

Capture Filter 抓包过滤器 设置抓包过滤器,紧紧抓去您需要类型的数据包。默认为空,抓取所有数据包。

你可以点击“Capture Filter”按键,弹出抓包过滤器设置对话框。 4.5.2 “Capture File(s)”数据包文件框

如下图所示为“Capture File(s)”数据包文件框:

Item 项目 描述

File 文件 设置抓取数据包文件名和路径。也可以点击“Browse?”打开本地目录树,制定数据包文件存储目录。 Use Multiple

files 多文件方式 取代单文件模式存储,可以设置多文件间存储切换触发器。 Next file Every n

Megabyte(s) 文件大小 当数据包文件达到设置大小时,开始切换到下一个文件存储。单位可以使KB,MB,GB。 Next file Every n

Minutes(s) 文件时间间隔 间隔指定的时间(如秒,分钟,小时,天)开始切换到下一个文件。

Ring buffer with n files 文件环 存储数据在指定文件数间切换循环存储。 Stop capture after 停止抓包 多文件模式下,当下一个文件为指定停止抓包文件数时,停止抓包。

4.5.3 “Stop Capture?”停止抓包框 如下图所示:

Item 项目 描述 ?after

N packet(s) N个数据包之后 当抓取设定的数据包数之后,停止抓包

?after

N byte N个字节之后 当抓包文件达到设定的字节数(单位:byte,KB,MB,GB)后,停止抓包。 ?after

N minute N时间之后 当持续抓包设定时间长度(单位:秒,分钟,小时,天)后,停止抓包。

4.5.4 “Display Options”显示选型框 如下图所示:

Item 项目 描述

Update list of packets In real time 实时更新数据包列表窗格 允许在抓包同时,实时更新数据包列表窗格。如果不选择此项,抓包过程中不显示数据包列表,直到停止抓包。 Automatic scrolling in

Live capture 抓包时数据包列表自动滚动。 抓取最新数据包排在列表最后,并显示出来。 Hide capture info

dialog 抓包信息窗口不显示 抓包时不显示抓包信息窗口。 4.5.5 “Name Resolution”名称解析框 如下图所示:

Item 项目 描述

Enable MAC

Name resolution 链路层名称解析 允许将MAC地址翻译成名称,如IP地址 Enable network

Name resolution 网络层名称解析 允许将网络地址翻译成名称,例如IP地址翻译为域名。 Enable transport

Name resolution 传输层名称解析 允许将传输端口翻译成对应的协议名称。如:80端口翻译成http。

4.5.6 “Buttons”按键

Start:设置完毕后,点击此键开始抓包。而且配置信息被保存。 Cancel :关闭抓包选项窗口,此次作过的配置不会被保存。。 4.6 数据包文件和文件模式

开始抓包的时候,libpcap抓包引擎开始从网络卡上抓取数据包,并存储在小型内核缓冲区。这些数据被Ethereal读取,并将其存储在用户指定的数据包文件里。 数据包被存储到数据包文件中Ethereal提供了多种操作方式。

提示:当你存储一个大数据包文件(例如100MB)这样Ethereal系统会变得缓慢。如果你计划抓取大量的网络数据,建议使用多文件模式。这样Ethereal会将数据包分别存储在多个小文件里,Ethereal可以很轻松的工作。

Ethereal可以保存这些被割裂的上下文信息,Ethereal可以报告上下文问题(如数据流错误)和保留协议关联信息(如某个数据包相位偏移,仅仅提供下一个数据包信息,如动态端口协议)。Ethereal紧紧分析导入文件上下文信息,如果仅仅导入多文件模式的一个文件,上下文信息可能会被被撕裂。如果一个建立偏移信息保存在一个文件里,你可能在另外一个文件里看到它后续包,你不可能通过另外一个文件得到什么有价值的上下文信息。

“File”文件选项 “Use multiple file”多文件模式选项 “Ring buffer with n files”文件循环选项 Mode模式 Resulting filename(s) used 产生的文件名

\\ \\ \\ 单文件模式

临时存储 XXXX 唯一数字

Foo.cap \\ \\ 单文件模式 Foo.cap Foo.cap X \\ 多文件模式,

连续存储 Foo_0001_20060203110102.cap, Foo_0002_20060203110102.cap, ?.

Foo.cap X X 多文件模式,

循环存储 Foo_0001_20060203110102.cap, Foo_0002_20060203110102.cap, ?.

Single temporary file,单文件临时存储。在抓包的时候临时存储和使用,以后可以存储为用户指定的文件名。

Single named file.单文件存储。抓包产生单一文件。当你希望将数据包文件存储在你指定的某个目录下某个名称时使用。

Multiple files,Continuous. 多文件模式,连续存储。类似单文件存储,紧紧是当“Next file every?”启动用时,产生下一个文件。

Mutliple files,ring buffer. 多文件模式,循环存储。类似于多文件连续存储模式,直到文件个数达到“Ring buffer with n files”设定的文件个数,新的数据将开始存储在最早的文件里,覆盖老数据,形成存储环路。这种模式对小磁盘很有帮助,并且可以保存最近的数据。

4.7 “Link-layer header type”链接层数据头类型

在通常情况下,你不必选择链接层类型。接下来的部分介绍一些例外情况。

如果你需要在某些BSD版本里抓取802.11设备数据,可能会有“Ethernet”或“802.11”选项。“Ethernet”将使被抓取数据包拥有以太网数据包头;“802.11”将使数据包拥有IEEE 802.11数据包头。如果数据包文件需要被一个不支持802.11的应用程序读取,你需要选择“802.11”。

如果你使用Endace DAG卡连接到同步串行线抓起数据,这里可能会提供一个“PPP over serial”或“Cisco HDLC”的选项。请根据串行线上的协议来选择。

如果你使用Endace DAG卡连接到ATM网抓取数据,这里可能会提供一个“RFC 1483

IP-over-ATM”或“Sun raw ATM”选项。如果数据流是RFC 1483 LLC-encapsulated IP,或者应用应用程序不支持SunATM,请选择“RFC 1483 IP-over-ATM”,其他时候都选择“Sun raw ATM”。

如果你抓取以太网数据包,这里可能会提供“Ethernet”或“DOCSIS”选项。如果你要抓取得数据流是由Cisco Cable Modem Termination System向以太网输出的DOCSIS数据流,必须选择“DOCSIS”,其他时候选择“Ethernet”。 4.8 抓包过滤器

Ethereal抓包过滤器定义使用了libpcap过滤语言。在tcpdump的帮助文档里有详细说明。你可以去:http://wiki.ethereal.com/CaptureFilters 查看过滤器例子。 语法:

[not] 元素 [and | or [not] 元素 ? ]

例:

Tcp port 23 and host 10.0.0.5

需要抓取所有进出主机10.0.0.5的telnet(端口是23, TCP协议)协议数据包。此例说明了and语法操作。

例:

Tcp port 23 and not host 10.0.0.5

需要抓取除进出主机10.0.0.5之外的所有telnet协议数据包。

元素介绍:

Primitive 描述 [src|dst] host 允许设定主机IP或名称过滤器。可以使用前缀操作符 src 或 dst 指定此主机为源地址还是目的地址。如果没有指定前缀操作符,则抓取与此主机相关的所有数据包。 Ether [src|dst] host 允许设置以太网主机地址(MAC地址)过滤器。可以在ether 和host之间随意包含src|dst前缀操作符,指定此主机为源地址还是目的地址。如果没有指定前缀操作符,则抓取与此主机相关的所有数据包。 Gateway host 设定以此主机为网关的数据包过滤器。即那些以太网源或目的地址为此主机以太网地址(MAC地址),而IP地址却不是此主机IP地址的数据包都被取。 [src|dst] net

[{mask }|{len }] 设置希望抓取数据的网络数。可是使用前缀操作符 src或dst指定你希望抓取的是源网络或是目标网络。如果不加前缀操作符,则抓取于此网络相关的所有数据。如果与您主机的掩码或CIDR不同,可以通过mask 掩码和len CIDR设置。 [tcp|udp] [src|dst] port 设置tcp或udp过滤端口号。可以使用前缀tcp或udp 和 src或dst设置你要过滤的是tcp还是udp,是源端口还是目的端口。Tcp|udp必须在src|dst前面。

Less|greater 设置过滤数据包长度。被抓取得数据包长度小于等于或大于等于设定的长度。

Ip|ether proto 设定ip或以太网层成滤协议。

Ether|ip broadcast|multicast 设定过滤以太网或IP层的广播或多播

relop 设置一个复合过滤表达式,去选择数据包中的字节或字节范围

4.9 抓包状态信息窗口

此图为抓包过程中,各种统计提示窗口。包括各种协议百分比,运行时间等信息。可以点击“Stop”停止本次抓包。

注意:如果你在“Capture Options”抓包选项窗口中选择了“Hide capture info dialog”隐藏抓包状态信息窗口。则抓包过程中不会显示此窗口。 4.9.1 停止抓包

以下方法之一可以停止抓包:

1. 在抓包状态信息窗口里使用“ Stop”按键 2. 在主菜单“Capture--Stop”抓包—停止按键

3. 在常用工具栏里,点击“ Stop”停止按键 4. 使用快捷组合键:Ctrl+E

5. 抓包过程自动停止,当您在抓包选项窗口中的“Stop Conditions”停止条件里设置过什么情况下停止抓取。

4.9.2 重新开始抓取

正在抓包的过程可以被重新开始。这样会丢失所有此次已抓取的数据包。并按照刚才的抓包

选项开始新的抓包过程。

可以通过以下方法来重新开始抓包:

在主菜单“Capture--Restart”抓包—重新开始 在常用工具栏“ Rstart”重新开始

5 数据包文件导入、导出和打印 5.1 介绍

本章节将介绍抓取数据的导入和导出。

&O1548; Open/Import打开/导入各种格式的数据包文件 &O1548; Save/Export存储/导出各种格式的数据包文件 &O1548; Merge合并数据包文件 &O1548; Print打印数据包

5.2 “Open”打开数据包文件

Ethereal可以读取以往抓取的数据包文件。只需点击“ Open”即可,将弹出一个打开文件对话窗口。

如果你没有存储当前正在分析的数据包文件,它会提示你是否要存储当前数据包文件。 5.2.1 “Open Capture File”打开数据包文件窗口

打开数据包文件窗口允许你在您的系统中搜索可以被Ethereal显示的数据包文件。 提示:打开数据包文件窗口是使用GTK+工具包开发的,目前使用的是GTK 2.4。根据安装的GTK版本不同,显示可能会有所不同,但主要功能是一致的。

&O1548; 查找范围:下拉框中指定或寻找目录 &O1548; 文件类型:选择希望打开的数据包类型 &O1548; Filter: 过滤器

&O1548; 预览信息:包括文件名、格式、大小、包数量、第一个数据包时刻和抓取时间长度。 Filenmae、Format、Size、Packets、Fist Packet 和Elapsed。

&O1548; Filter:打开过滤器,符合过滤器的数据包展现。类似查看过滤器。 &O1548; Name resolution: 根据需要选择名称解析 &O1548; Open打开:打开被选择的数据包文件

&O1548; Close取消:不做任何操作,关闭打开数据包文件窗口

在此可以设置Filter,它对于打开大尺寸数据包文件很有帮助,可以很好的节省系统资源

5.2.2 支持导入文件格式

&S226; libpcap, tcpdump and various other tools using tcpdump's capture format &S226; Sun snoop and atmsnoop

&S226; Shomiti/Finisar Surveyor captures &S226; Novell LANalyzer captures

&S226; Microsoft Network Monitor captures &S226; AIX's iptrace captures

&S226; Cinco Networks NetXray captures

&S226; Network Associates Windows-based Sniffer and Sniffer Pro captures &S226; Network General/Network Associates DOS-based Sniffer (compressed or uncompressed) captures

&S226; AG Group/WildPackets EtherPeek/TokenPeek/AiroPeek/EtherHelp/PacketGrabber captures

&S226; RADCOM's WAN/LAN Analyzer captures

&S226; Network Instruments Observer version 9 captures &S226; Lucent/Ascend router debug output &S226; HP-UX's nettl

&S226; Toshiba's ISDN routers dump output &S226; ISDN4BSD i4btrace utility

&S226; traces from the EyeSDN USB S0

&S226; IPLog format from the Cisco Secure Intrusion Detection System &S226; pppd logs (pppdump format)

&S226; the output from VMS's TCPIPtrace/TCPtrace/UCX$TRACE utilities &S226; the text output from the DBS Etherwatch VMS utility &S226; Visual Networks' Visual UpTime traffic capture &S226; the output from CoSine L2 debug

&S226; the output from Accellent's 5Views LAN agents &S226; Endace Measurement Systems' ERF format captures &S226; Linux Bluez Bluetooth stack hcidump -w traces

提示:

以太网抓包文件可以支持多种文件存储类型,但是其他的(例如:Token ring包)并不支持所有的文件存储类型。

5.3 “Save As”存储数据包

可以使用主菜单中“Save As?”将你选择的数据包存储到指定格式的数据包文件中。 “Save Capture File As”另存为数据包文件窗口

1. Name: 设定存储文件名

2. Save in folder: 指定存储路径 3. Packet Range:

a) All packets:所有数据包

b) Selected packet only:被选择的数据包 c) Marked packets only:被作标记的数据包

d) From first to last marked packet:从最后一个做标记的数据包开始

e) Specify a packet range:指定范围。例如5,10-15,20-,表示第五个、第十到十五(包含)和从20个到末尾的所有数据包

右边有两列统计数字列表:数据包数和显示数 4. File type: 另存为文件类型

5. Browse for other folders: 使用浏览器查看操作系统的目录和文件。

6. Save: 按照此窗口配置信息保存数据包文件。如果有错误,会弹出错误提示窗口。 7. Cancel: 不保存,关闭此窗口。 5.3.1 输出文件格式

&S226; libpcap (tcpdump)

&S226; Novell LANalyzer

&S226; Network Associates Sniffer &S226; Sun snoop

&S226; Microsoft Network Monitor

&S226; Visual Networks Visual UpTime traffic &S226; Accellent 5Views

&S226; Networks Instruments Observer version 9 &S226; HP-UX's nettl

注意:其它分析软件可能会需要指定格式的数据包文件,例如: “.DMP” for Tcpdump/libpcap “.CAP” for NAI Sniffer

5.4 “Merging”合并数据包文件

某些时候你需要将几个数据包文件和并为一个数据包文件。例如你同时从多个网络接口抓取数据包,需要将它们合并为一个数据包文件进行分析。 有三种方式可以打开合并数据包文件对话框:

&O1548; 使用主菜单的“File”下面的“Merge”打开。当前没有数据包文件被打开时,此按键为灰色不可用。

&O1548; 在多文件模式里使用“drag-and-drop”。Ethereal试图按照时间顺序合并被Drop的文件到一个新临时文件。如果你仅仅drop一个文件,它将简单的替换现有的。 &O1548; Mergecap 工具,此工具在命令行下运行。

你可以将某个数据包文件合并到已经打开的数据包文件中。

Prepend packets to existing file:将选中的数据包文件里的数据包插入当前选择数据包之前

Merge packets chronologically:将选中的数据包文件里的数据包按照时间顺序插入当前数据包文件。

Append packets to existing file:将选中的数据包文件里的数据包插入当前选择数据包之前

5.5 “File Sets”文件系

当在抓包之前选择了“Multiple Files”多文件模式,数据包将分布在几个文件中存储,这些文件一起成为文件系。Ethereal试图发现与当前数据包文件文件名格式匹配的文件。仅仅当文件系在同一目录此功能才起作用。

在主菜单“File”—“File Sets”下有三个操作:

&O1548; List Files:列出经过Ethereal认证过的文件系文件列表 &O1548; Next File:打开文件系中的下一个文件

&O1548; Previous Files:开开文件系中的上一个文件 “List Files”文件系类表 窗口包含以下信息:

&O1548; Filename :文件名 &O1548; Created:创建时间

&O1548; Last Modified:最后一次修改日期 &O1548; Size:文件大小 Open 打开选中文件 Close 关闭窗口

5.6 “Exporting”导出文件 Ethereal提供多种格式导出。

5.6.1 “Exporting as Plain Text File”导出无格式文件

Export to file:设置输出目录和文件名 Packet Range:输出数据包范围,参考5.8章节 Packet Details:数据包描述,参考5.9章节

5.6.2 “Export as PostScript File”导出PS格式文件 导出PostScript文件格式文件,常用于格式化打印数据包。

注意:你可以使用ghostscript很方便的将PostScript文件转换为PDF格式文件。例如:导出文件为foo.ps,之后使用 ps2pdf foo.ps转换为PDF文件。

Export to file:设置输出目录和文件名

Packet Range:输出数据包范围,参考5.8章节 Packet Details:数据包描述,参考5.9章节

5.6.3 “Export as CSV(Comma Seperated Values)File”导出CSV(逗号分割)文件 导出数据包概要到CSV文件。

Export to file:设置输出目录和文件名

Packet Range:输出数据包范围,参考5.8章节

5.6.4 “Export as PSML File”导出PSML格式文件 PSML:以一种包含数据包概述格式的XML文件。

Export to file:设置输出目录和文件名 Packet Range:输出数据包范围,参考5.8章节

只有在PSML格式定义里的数据项才会导入PSML文件。 5.6.5 “Export as PDML File”导出PDML格式文件 PDML:包含数据包详细资料的XML文件。

Export to file:设置输出目录和文件名

Packet Range:输出数据包范围,参考5.8章节

5.6.6 “Export selected packet bytes”导出被选择数据包数据 将数据包数据导为bin二进制文件。

Name: 文件名

Save in folder: 导出目录

Browse for other folders: 打开操作系统目录体系。

5.7 “Printing”打印数据包

选择主菜单“File”—“Print?”打印数据包。将弹出打印窗口。

Item 项目 描述 Printer

打印 Plain Text无格式文本方式打印,

PostScript方式打印

Output to file: 将打印内容输出到指定的文件中。可以使用 ,浏览文件夹。

Print command: 打印命令,在windows平台不支持此项。如果选择输出到文件此项为灰色不可用。

Packet Range 输出数据包范围 参考5.8章节 Packet Format 输出数据包格式 参考5.9章节

5.8 “Packet Range”数据包范围窗格

设置另存为数据包范围。

&O1550; All packets:所有数据包

&O1550; Selected packet only:被选择的数据包

&O1550; Marked packets only:被作标记的数据包

&O1550; From first to last marked packet:从最后一个做标记的数据包开始

&O1550; Specify a packet range:指定范围。例如5,10-15,20-,表示第五个、第十到十五(包含)和从20个到末尾的所有数据包 右边有两列统计数字列表:数据包数和显示数

6 数据包分析 6.1 如何查看数据包

一旦你抓取了一些数据包,或者你打开了一个数据包文件,你就可以在数据包列表窗格里看到数据包列表,并可以方便的点选某个数据包。被选中数据包的详细信息将会自动显示在下面的数据包信息树和数据包字节窗格中。

你可以点击“plus加号图标”展开数据包信息树,并点选其中的某一个属性单元。例如下图是一个TCP包被选中,展开了TCP的头信息,选择了Acknowledgment数,此属性单元的字节信息将自动在下面的数据包字节信息窗格中被选中并亮化显示。

如果你设定了“Update list of packets in real time”抓包时实时更新数据包列表选项,当Ethereal正在抓包时,你也可以选择和查看数据包列表。

你可以将你感兴趣的数据包在分离窗口里显示。例如你在数据包列表里选择一个数据包,在主菜单“View”中选择“Show Packet in New Windows”。此数据包将在分离出的新窗口中显示,如图:

你也可以在选中数据包上点击鼠标右键,在弹出的快捷菜单里选择“Show Packet in New Windows”在新窗口中显示。数据包列表窗格总快捷菜单如下图所示:

数据包列表窗格快捷菜单项目介绍: Item 主菜单 位置 项目 描述

Mark Packet Edit 标记数据包 为选定数据包设置标记

Time reference Edit 时间基准 设置时间基准标记,寻找上一个或下一个时间基准

Apply as Filter Analyze 应用为过滤器 将当前选中的属性作为显示过滤器参数应用到显示过滤器中,并立刻起作用。 Prepare a Filter Analyze 准备过滤器 将当前选中的属性作为显示过滤器参数添加到显示过滤器中,当点击显示过滤器栏的“Apply应用”时,才开始起作用。

Follow TCP Stream Analyze 跟踪TCP流 查看一对节点间的所有TCP流数据 Follow SSL

Stream Analyze 跟踪SSL流 查看一对节点间的所有SSL流数据

Decode As? Analyze 解码方式? 允许用户强制Ethereal将某些数据包按照指定的协议解析。

Print? File 打印? 打印选中的数据包

Show Packet in New Window View 新窗口展现数据包信息 新打开一个窗口,展现选中的数据包信息,此窗口包含数据包信息窗格和数据包字节窗格。 数据包信息窗格快捷菜单如下图:

数据包信息窗格快捷菜单功能列表:

Item 位置 项目 描述

Expend Subtrees View 打开子树 在数据包信息窗格中,打开选中树的子树 Expand All View 打开所有子树 在数据包信息窗格中,打开所有子树

Collapse All View 收起所有子树 在数据包信息窗格中,收起所有子树

Apply as Filter Analyze 应用为过滤器 将当前选中的属性作为显示过滤器参数应用到显示过滤器中,并立刻起作用。 Prepare a Filter Analyze 准备过滤器 将当前选中的属性作为显示过滤器参数添加到显示过滤器中,当点击显示过滤器栏的“Apply应用”时,才开始起作用。

Follow TCP Stream Analyze 跟踪TCP流 查看一对节点间的所有TCP流数据

Follow SSL

Stream Analyze 跟踪SSL流 查看一对节点间的所有SSL流数据

Wiki Protocol Page Wiki网上协议信息 在web浏览器里访问选中协议的Wiki网上协议信息

Filter Field Reference 在线过滤器参数说明 在web浏览器里访问选中协议过滤器的网上说明。

Decod As? Analyze 解码方式? 允许用户强制Ethereal将某些数据包按照指定的协议解析。

Resolve Name View/

Name Resolution 名称解析 此项试图解析数据包的地址信息,使您更容易理解。如主机名,域名,Mac->IP等的解析。

Go to

Corresponding Packet GO 跳转到相关通信包 跳转到被选协议数据流,相关通信的数据包。 如果没有符合的数据包,此按键为灰色不可用。

数据包字节窗格快捷菜单,如图:

Item 位置 项目 描述

Copy - 拷贝 将选择字节部分拷贝到剪切板 Export Selected

Packet Bytes? File>

Export 导出数据包所选字节 将数据包中所选字节导出到一个文件中。

6.2 显示过滤器

Ethereal有两种过滤器:抓包时使用的抓包过滤器和查看数据包时的显示过滤器。

显示过滤器可以将您感兴趣的数据包显示在数据包列表窗格中,您不感兴趣的数据包将被隐藏。显示过滤器允许您过滤一下数据包信息: &O1548; 协议 &O1548; 字段 &O1548; 字段值 &O1548; 字段间对比 &O1548; 等等

例如我们需要查看所有基于TCP协议的数据包,我们可以在显示过滤器中输入:tcp。如图所示:

注意:所有的协议,字段名称都是小写输入。最后不要忘记了按回车或“Apply”。 你可能注意到仅仅tcp包被显示了,数据包编号没有发生变化,显示的第一个包编号是11。 注意:使用显示过滤器时,所有的数据包还是保存在数据包文件里的,仅仅是那些不符合显示条件的数据包没有被显示。

你能够使用Ethereal支持的协议作过滤条件。你也可以使用数据包字段来过滤,当然只有被解析器支持的字段才可以。你可以使用“Add Expression?”添加表达式,打开一个可用字段列表窗口。如图:

例如仅仅要查看与192.168.0.1有关的数据包,我们可以这样: ip.addr==192.168.0.1 。 注意: 按“Clear”清除键,可以清除显示过滤器。

6.3 如何书写显示过滤器表达式

Ethereal提供了一个书写简单但功能强大的显示过滤器语言,使用它你可以快速书写复杂的过滤器表达式。你能够比较数据包里的数据也可以使用联合表达式去比较更多的细节。 您可以在 http://wiki.ethereal.com/displayfilters发现很多的显示过滤器例子。

6.3.1 显示过滤器字段

在数据包信息树窗格中的字段都可以被用于书写过滤器,例如过滤器字串:tcp,所有的tcp协议的数据包都会被显示出来。

Ethereal全部支持的显示过滤器字段可以在“help—Supported Protocols”的Display Filter Fields里查看。

6.3.2

你可以书写一个包含数据值比较操作的显示过滤器。Ethereal支持English和C-like良种方式的操作符,操作符如下表: English C-like 描述和例子 eq == 等于

ip.addr == 10.0.0.5 ne != 不等于 ip.addr != 10.0.0.5 gt > 大于

frame.pkt_len > 10 lt < 小于

frame.pkt_len < 128 ge >= 大于等于

frame.pkt_len ge 0x100 le <= 小于等于

frame.pkt_len <= 0x20 Ethereal支持的数据类型:

Type 描述

Unsigned integer(8-bit,16-bit,24-bit,32-bit) 支持无符号整数,表示方式可以使十进制、八进制或十六进制。例如: ip.len le 1500 ip.len le 02734 ip.len le 0x436

Signed integer (8-bit,16-bit,24-bit,32-bit) 正数 Boolean 布尔型在协议解析器里被提出的字段值,且值为true/false。例如tcp.flags.syn的值,为true。同样的还有很多类似的属性字段,例如源路由数据包,tr.sr的值。 Ethernet address (6 bytes) eth.addr == ff:ff:ff:ff:ff:ff IPv4 address ip.addr == 192.168.0.1 IPv6 address IPX network number String (text) 字符串

Double-precision floating point number 双精度浮点数

6.3.3 组合表达式

你可以使用逻辑操作符书写组合过滤器。Ethereal支持的逻辑操作符如下表: English C-like 描述和例子 and && 逻辑和

ip.addr == 10.0.0.5 and tcp.flags.fin

or || 逻辑或者

ip.addr == 10.0.0.5 or ip.addr == 192.168.1.1 xor ^^ 逻辑异或

tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29 not ! 逻辑否 Not llc [?] 子链操作

Ethereal允许你按照次序选择数据。使用两个[],中间用分割符分开,定义一个范围。 eth.src[0:3] == 00:00:83

此例中使用了n:m的格式给出了一个范围,n表示起始偏移量,m表示范围的长度。 eth.src[1-2] == 00:83

此例使用了n-m的各式。n表示起始偏移量,m表示结束偏移量。 eth.src[:4] == 00:00:83:00

此例中使用了:m格式,从开始点起,m长度范围的值。等同于0:m eth.src[4:] == 20:20

使用了n:格式,n表示起始偏移量,从n开始到结束的范围。

eth.src[2] == 83

使用了n格式,n表示起始偏移量,从n开始的第一的数值。等同于n:1 eth.src[0:3,1-2,:4,4:,2]==00:00:83:00:83:00:00:83:00:20:20:83 Ethereal允许你使用逗号将多个范围组合成一个大的范围。

6.3.4 显示过滤器常见误解

当你使用!=不等于操作符对eth.addr,ip.addr,tcp.port,udp.port等操作时,可能不能达到您预期的过滤效果

某人使用ip.addr == 1.2.3.4过滤所有IP地址为1.2.3.4的数据包。

之后,使用ip.addr != 1.2.3.4,希望看到不包含IP地址为1.2.3.4的数据包,结果并没有输出期望看到的结果。

因为IP地址是有两个子段的,源地址和目标地址。对于ip.addr != 1.2.3.4会被解析为:“任何一个字段不等于1.2.3.4的数据包都被显示”。

正确的写法是: !(ip.addr==1.2.3.4)。会被翻译为凡是IP地址包含1.2.3.4的都不被选中。

6.4 “Filter Expression”过滤器表达式窗口

如果你是一个Ethereal老用户,你会知道你该如何书写简单的过滤表达式。然而对于一个

新手,他并不知道干怎么写出自己所需要的过滤器表达式。因此Ethereal提供了一个过滤器表达式窗口来帮助他们。如下图所示:

ITEM 项目 描述 Field Name 协议字段名 可以在协议树里选择某个协议的一个字段。每一个协议可用的字段都在这里列出。可以点击“+”打开下一级协议名。 Relation 关系 在可用的关系符中选择一个。“is present”是一元关系,代表在数据包中此项属性值为“true”。

其他所有的关系选项都是二元的,需要您在“Value值”中输入比较值,数据包中此项属性值与此值进行相关比较,得到值为“true”。

如果选择了二元操作关系,某些协议字段是可以指定范围的。

Value 比较值 你可以在Value的文本框里输入适当的比较值。比较值数据类型根据你选择的协议字段不同而不同,具体类型会在Value后面括号里提示,例如: unsigned,1 byte或Boolean等。

Predefined values 预定值 某些协议字段已经预定义了取值范围或具体数值列表。如果你选择了此类协议字段,你就可以在预定值下面的列表里选择这些值用于关系运算。 Range 范围 请参考:6.3.3 组合表达式--子链操作

OK 确定 当你选择或填写好各个属性值后,点击OK,过滤器表达式将自动产生并填写到显示过滤器工具栏中。

Cancel 取消 你将离开“Add Expression?”窗口,并取消在窗口中的所有操作。

6.5 定义和存储过滤器

你可以定义一些过滤器便于今后调用。这可以节省很多时间,你不必再每次都书写或记忆很多复杂的组合过滤器表达式。

通过“Capture”主菜单选择“Capture Filter?”定义新的或修改一个抓包过滤器。通过“Analyze”主菜单选择“Display Filter?”定义新的或修改一个显示过滤器。 注意:抓包过滤器和显示过滤器的操作机制基本相同,我们一起来描述,他们不同的地方我们会做一个标记。

警告:你必须按Save去存储您定义的过滤器。OK或Apply都不会存储,也就是关闭Ethereal的时候,您刚刚定义的过滤器将丢失。

ITEM 项目 描述

New 新建 将Filter name和Filter string文本框输入的值作为定义好的过滤器添加到过滤器列表中。如果这两项为空,Ethereal会自动填充进去“new”。

Delete 删除 删除在过滤器列表中被选的过滤器,如果没有选择过滤器,则此按键不可用,为灰色。

Filter 过滤器列表 你可以在此列表中选择过滤器,如果选中,则此过滤器的名字和过滤表达式会在下面的相应位置显示。

Filter name 过滤器名称 你可以更换一个选择的过滤器名称。

过滤器名称仅仅用于你方便的识别自定义过滤器,你可以根据您的喜欢来定义名称。你也可以定义多个过滤器使用同一个名称,当然我们不建议这样做。

Filter string 过滤器表达式 你可以更改被选择过滤器的表达式。

仅仅显示过滤器在你输入表达式时,会做语法分析。如果不正确或不完整都会时红色背景,正确输入后会变成绿色背景。

Add Expression? 添加表达式? 仅仅显示过滤器定义支持添加表达式。 详细的介绍查看:6.4“Filter Expression”过滤器表达式窗口 OK 确定 仅仅显示过滤器支持,应用被选择的过滤器,并关闭此窗口 Apply 应用 仅仅显示过滤器支持,应用被选择的过滤器,并保持此窗口 Save 存储 将定义的过滤器操作保存起来 Close 关闭 关闭此窗口,不保存信息。

6.6 搜索数据包

你可以很方便的在抓取的数据包中或以往存储的数据包文件中搜索数据包。可以通过“Edit—Find Packet?”打开数据包搜索窗口。 6.6.1 “Find Packet”搜索数据包窗口

你在搜索之前,请先选择搜索类型: ITEM 项目 描述

Display filter 显示过滤器 在“Filter:”后的文本框输入过滤器表达式,在“direction排序”中选择一种,点击Find即可。

例如:你需要搜索那些通过三次握手与主机192.168.0.1通讯的数据包,表达式如下: ip.addr == 192.168.0.1 and tcp.flags.syn Hex Value 十六进制值 在数据包中搜索指定的字节。 例如:使用“00:00”去搜索数据包中的两个空字节。 String 字符串 使用各种选项,搜索数据包中的字符串。

注意:输入的信息Ethereal会做效验,如果有误或不完整背景为红色。输入正确为绿色。 Direction排序:

UP表示搜索出来的数据包按照编号“No.”降序排列。 Down表示搜索出来的数据包按照编号“No.”升序排列。

6.6.2 “Find Next”寻找下一个

按照目前的搜索条件,在数据文件中或抓取得数据包列表中搜索下一个符合条件的数据包。 6.6.3 “Find Previous”寻找上一个

按照目前的搜索条件,在数据文件中或抓取得数据包列表中搜索上一个符合条件的数据包。

6.7 “GO”跳转

6.7.1 “Go Back”后退

向后跳转到浏览历史中最近浏览的数据包,很像IE中的历史页面后退操作。 6.7.2 “Go Forward”向前

跳转道浏览历史中的下一个浏览的数据包,很像IE中的历史页面前进操作。 6.7.3 “Go to Packet”跳转到

弹出窗口输入你想分析的数据包编号,自动定位到此数据包

在Packet number里输入编号后,点击Jump to跳转到此编号的数据包。 6.7.4 “Go to Corresponding Packet”跳转到相关数据包

跳转到被选协议数据流,相关通讯的数据包。如果没有符合的数据包,此按键为灰色不可用。 6.7.5 “Go to First Packet”跳到第一个数据包 跳转到数据包文件的第一个数据包

6.7.6 “Go to Last Packet”跳到最后一个数据包 跳转到数据包文件的最后一个数据包 6.8 标记数据包

你可以在数据包列表窗格中标记数据包。不管颜色规则如何设置,一个被标记的数据包它的背景颜色是黑色。在大型数据包文件中标记数据包有利于方便的发现这些数据包。 警告:数据包标志并没有被存储,当关闭数据包文件时,这些标记会丢失。

你可以利用数据包标记去控制数据包输出,例如存储、导出、打印操作。可以激活数据包范围,请查阅:5.8 “Packet Range”数据包范围窗格。 数据包标记常用的操作:

Mark packet(toggle) 在单个数据包上作标记或取消标记 Mark all packets 在所有数据包上作标记 Unmark all packets 取消所有的数据包标记

这些功能在主菜单“Edit”里,也可以在数据包列表窗格里,点击鼠标右键选择Mark packet。

6.9 时间显示格式和时间基准点 6.9.1 时间显示格式

当数据包被抓取的时候,每个数据包都有一个时间标志。这个时间标志会被存储在数据包文件里,便于今后使用。

关于时间标志的详细信息请察看7.3 “Time Stamps”时间标志。

时间标志在数据包列表窗格中的展现,请参考 3.4.3 “View”视图菜单中的关于时间展现部分。

可以使用的时间格式如下:

&O1548; 日期+时间: 1970-01-01 01:02:03.123456,包含了日期和当天的时间。 &O1548; 当天时间: 01:02:03.123456 &O1548; 从计时点偏移时间: 123:123456 &O1548; 从时间基准偏移时间:1.123456

时间精度:

&O1548; 自动:按照数据包文件中记录的时间精度显示

&O1548; 自定义:秒、1/10秒、1/100秒、1/1000秒、1/10000秒、1/100000秒。时间将会被强制转换成自定义精度来显示。如果数据包时间精度达不到这么高,就用0替代;如果数据包精度高于自定义精度,则更高精度部分被丢弃。

6.9.2 时间基准点

你可以设置一个时间基准,后续的数据包都以此点作为开始点计时。这是很有帮助的,例如你想看一个新的请求开始通讯中一系列数据包的时间关系。你可以在一个数据包文建立设置多个时间基准点

警告:时间基准点将不能够被存储在数据包文件里,一旦关闭数据包文件,

本文来源:https://www.bwwdw.com/article/56f7.html

Top