Wireshark使用教程

原文链接:网络分析工具Wireshark使用教程

第 1 章 介绍

1.1. 什么是Wireshark

Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。

你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级)

过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。

Wireshark可能算得上是今天能使用的最好的开元网络分析软件。

1.1.1. 主要应用

下面是Wireshark一些应用的举例:

  • 网络管理员用来解决网络问题
  • 网络安全工程师用来检测安全隐患
  • 开发人员用来测试协议执行情况
  • 用来学习网络协议

除了上面提到的,Wireshark还可以用在其它许多场合。

1.1.2. 特性

  • 支持UNIX和Windows平台
  • 在接口实时捕捉包
  • 能详细显示包的详细协议信息
  • 可以打开/保存捕捉的包
  • 可以导入导出其他捕捉程序支持的包数据格式
  • 可以通过多种方式过滤包
  • 多种方式查找包
  • 通过过滤以多种色彩显示包
  • 创建多种统计分析
  • …还有许多

不管怎么说,要想真正了解它的强大,您还得使用它才行

图 1.1. Wireshark捕捉包并允许您检视其内

1.1.3. 捕捉多种网络接口

Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型, 可以在我们的网站上找到

1.1.4. 支持多种其它程序捕捉的文件

Wireshark可以打开多种网络分析软件捕捉的包,详见???

1.1.5. 支持多格式输出

Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见???

1.1.6. 对多种协议解码提供支持

可以支持许多协议的解码(在Wireshark中可能被称为解剖)???

1.1.7. 开源软件

Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。

1.1.8. Wireshark不能做的事

Wireshark不能提供如下功能

  • Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。 [3]

    译者注:因为不是入侵检测之用,所以不会将入侵检测和普通通信区别对待,但是都会体现在网络包里面,如果您有足够的经验,或许能通过监视网络包发现入侵检测

  • Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。

1.2. 系通需求

想要安装运行Wireshark需要具备的软硬件条件...

1.2.1. 一般说明

  • 给出的值只是最小需求,在大多数网络中可以正常使用,但不排除某些情况下不能使用。 [4]

    [4] 译者注:原文 “The values below are the minimum requirements and only "rules of thumb" for use on a moderately used network”,其中”rules of thumb”中译名应该是拇指规则,但网上关于拇指规则解释莫衷一是,大致意思是说:大多数情况下适用,但并非所有情况。这里翻译的有点别扭

  • 在繁忙的网络中捕捉包将很容塞满您的硬盘!举个简单的例子:在100MBIT/s全双工以太网中捕捉数据将会产生750MByties/min的数据!在此类网络中拥有高速的CPU,大量的内存和足够的磁盘空间是十分有必要的。
  • 如果Wireshark运行时内存不足将会导致异常终止。可以在此链接察看详细介绍以及解决办法。
  • Wireshark作为对处理器时间敏感任务,在多处理器/多线程系统环境工作不会比单独处理器有更快的速度,例如过滤包就是在一个处理器下线程运行,除了以下情况例外:在捕捉包时“实时更新包列表”,此时捕捉包将会运行在一个处理下,显示包将会运行在另一个处理器下。此时多处理或许会有所帮助。[5]

    译者注:我对这句话的理解是,正如播放电影一样,高性能的处理器只会增强显示效果,您并不需要将原来30分钟的影片10分钟之内看完。当然,对减少延时还是有作用的。但是感觉这句有点阅读困难,可能翻译的有点问题.

1.2.2. Microsoft Windows

  • Windows 2000,XP Home版,XP Pro版,XP Tablet PC,XP Media Center, Server 2003 or Vista(推荐在XP下使用)
  • 32-bit奔腾处理器或同等规格的处理器(建议频率:400MHz或更高),64-bit处理器在WoW64仿真环境下-见一般说明
  • 128MB系统内存(建议256Mbytes或更高)
  • 75MB可用磁盘空间(如果想保存捕捉文件,需要更多空间)
  • 800600(建议12801024或更高)分辨率最少65536(16bit)色,(256色旧设备安装时需要选择”legacy GTK1”)

  • 网卡需求:
    • 以太网:windows支持的任何以太网卡都可以
    • 无线局域网卡:见MicroLogix support list, 不捕捉802.11包头和无数据桢。
    • 其它接口见:此链接

说明

  • 基于以下三点原因,将不会对旧版Windows提供支持:没有任何开发人员正在使用那些操作系统, 这将使支持变得更加困难,Wireshark运行所依赖的库文件(如GTK,WinPCap等)也放弃对它们的支持。 同样,微软也放弃了对它们的技术支持。
  • Windows 95,98和ME不能运行Wireshark。已知的最后一个可以运行在以上平台的版本是Ethereal0.99.0(需要安装WinPCap3.1),你依然可以使用从:此链接获得。

    顺便提一下:微软于2006年1月11日停止对98/ME支持。

  • Windows NT 4.0今后将无法运行Wireshark.最有一个已知版本是Wireshark0.99.4(需安装自带的WinPCap3.1),你依然可以从:此链接得到它。

    顺便提一下:微软于2005年12月31日停止对NT 4.0的支持。

  • Windows CE 及嵌入版windows(NT/XP)不被支持。
  • 64-bit处理器运行Wireshark需要在32bit仿真环境下(称作WoW64),最低需要安装WinPCap4.0。
  • 支持多显示(不知道是显示其还是监视器)安装,但会遇到一些不可预料的问题。

1.2.3. Unix/Linux

Wireshark目前可以运行在许多UNIX平台,系统可以对照上面Windows下的指标。 二进制包最少在以下平台可用:

  • APPle Mac OSX
  • Debian GNU/Linux
  • FreeBSD
  • NetBSD
  • OpenPKG
  • Red Hat Fedora/Enterprise Linux
  • rPath Linux
  • Sun Solaris/i386
  • Sun Solaris/Sparc

如果二进制包在您的平台无法使用,你可以下载源文件并尝试编译它。 希望您能发送邮件到wireshark-dev[AT]wireshark.org .分享您的经验。

1.3. 从哪里可以得到Wireshark

你可以从我们的网站下载最新版本的Wireshark.网站上您可以选择适合您的镜像站点。
Wireshark通常在4-8周内发布一次新版本,如果您想获得Wireshark发布的消息通知,你可以订阅Wireshark-announce邮件列表。详见第 1.6.4 节 “邮件列表”

1.4. Wiresahrk简史[6]

[6] 本段因为有很多协议,程序开发方面的术语,翻译得比较糟糕

1997年以后,Gerald Combs 需要一个工具追踪网络问题并想学习网络知识。所以他开始开发Ethereal(Wireshark项目以前的名称) 以解决以上的两个需要。

Ethereal是第一版,经过数次开发,停顿,1998年,经过这么长的时间,补丁,Bug报告,以及许多的鼓励,0.2.0版诞生了。Ethereal就是以这种方式成功的。

此后不久,Gilbert Ramirez发现它的潜力,并为其提供了底层分析。

1998年10月,Guy Harris正寻找一种比TcpView更好的工具,他开始为Ethereal进行改进,并提供分析。

1998年以后,正在进行TCP/IP教学的Richard Sharpe关注了它在这些课程中的作用。并开始研究该软件是否他所需要的协议。如果不行,新协议支持应该很方便被添加。所以他开始从事Ethereal的分析及改进。

从那以后,帮助Ethereal的人越来越多,他们的开始几乎都是由于一些尚不被Ethereal支持的协议。所以他们拷贝了已有的解析器,并为团队提供了改进回馈。

2006年项目Moved House(这句不知道怎么翻译)并重新命名为:Wireshark.

1.5. Wireshark开发维护

Wireshark最初由Gerald Combs开发。目前由Wireshark team进行进一步开发和维护。Wireshark team是一个由修补bug提高Wireshark功能的独立成员组成的松散组织。

有大量的成员为Wireshark提供协议分析。同时我们也希望这些活动能持续进行。通过查看Wireshark帮助菜单下的About,你可以找到为Wireshark提供代码的人员名单,或者你也可以通过Wireshark 网站的authors页面找到。

Wireshark 是开源软件项目,发布遵循GNU General Public Licence(GPL协议),所有源代码可以在GPL框架下免费使用。欢迎您修改Wireshark以便适合您的需要,如果您可以提供您的改进给Wireshark team ,我们将不胜感激。

为Wireshark Team 提供您的改进建议,有以下益处:

  • 如果其他人发现您提供的改进十分有用会肯定它们的价值,您将会得知你曾像Wireshark team 一样帮助过他人
  • The developers of Wireshark might improve your changes even more, as there's always room for improvement. Or they may implement some advanced things on top of your code, which can be useful for yourself too.
    • The maintainers and developers of Wireshark will maintain your code as well, fixing it when API changes or other changes are made, and generally keeping it in tune with what is happening with Wireshark. So if Wireshark is updated (which is done often), you can get a new Wireshark version from the website and your changes will already be included without any effort for you.

Wireshar 源代码和二进制kits (二进制工具包?)可以根据自己的平台对应下载,网站是:http://www.wireshark.org/download.html.

1.6. 汇报问题和获得帮助

如果您在使用中碰到了问题,或者您需要Wireshark的帮助,有以下几种可能让您有兴趣的方法(当然,还包括这本书)。

1.6.1. 网站

通过访问http://www.wireshark.org你将会发现关于Wireshark许多有用的信息。

1.6.2. 百科全书

Wireshark Wiki提供广泛的跟Wireshark以及捕捉包有关信息。你将会发现一些没有被包括在本书内信息,例如:wiki上有解释如何在交换网络捕捉包,同时我们正努力建立协议参考,等等。

最好的事情是,如果对某些知识有独到见解(比如您精通某种协议),您可以通过浏览器编辑它。

1.6.3. FAQ

最经常被问到的问题“Frequently Asked Questions”提供一个经常被问到的问题以及答案的列表。

Read The FAQ

在您发送任何邮件到邮件列表之前,确信您已经阅读了FAQ,因为这里面很可能已经提供了您想问的问题,答案。这将大大节约您的时间(记住,有很多人提交了大量的邮件)。

1.6.4. 邮件列表

下面的几个几个邮件列表,分别属于不同的主题:

  • Wireshark-users

这是一个Wireshark用户的列表,大家提交关于安装和使用Wireshark的问题,其它人(非常有用)提供的答案。(译者注:其他人当然也是指用户?)

  • wireshark-announce
    这是一个关于程序发布信息的列表,通常每4-8周出现一次。+
  • wireshark-dev
    这是一个关于Wireshark开发的邮件列表,如果开始开发协议分析,可以从加入该列表

你可以通过网站http://www.wireshark.org订阅每个邮件列表.简单点击网站左手边的邮件列表链接就可以。邮件同样在网站上可以看到存档。

提示

你可以搜索存档看看有没有人问过跟你一样的问题,或许您的问题已经有了答案。这样您就不必提交邮件以等待别人答复您了。

1.6.5. 报告问题

注意

在您提交任何问题之前,请确定您安装的是最新版本的Wireshark。

当您提交问题的时候,如果您提供如下信息将会对解决问题很有帮助。

    1. Wireshark的版本,及其依赖的库的版本,如GTK+,等等。你可以通过Wireshark –v命令获得版本号。(估计是UNIX/Linux平台)。
    1. 运行Wireshark的平台信息。
    1. 关于问题的详细描述。
    1. 如果您得到错误或者警告信息,拷贝错误信息的文本(以及在此之前或之后的文本,如果有的话),这样其他人可能会发现发生问题的地方。请不要发送诸如:“I got a warning while doing x” [7],因为这样看起来不是个好主意。

[7] 译者注:那句话的意思是,我在XX时碰到一个警告信息

不要发送大文件

不要发送过大的文件(>100KB)到邮件列表,在邮件中附加一个能提供足够数据的记事本就可以。大文件会让很多邮件列表里的那些对您的问题不感兴趣的用户感到恼怒。如果需要,你可以单独发送那些数据给对您问题真正感兴趣,要求您发送数据的人。

不要发送机密信息!

如果您发送捕捉数据到邮件列表,请确定它们不包含敏感或者机密信息,比如密码或者诸如此类的。

1.6.6. 在UNIX/Linux平台追踪软件错误

如果您发送捕捉数据到邮件列表,请确定它们不包含敏感或者机密信息,比如密码或者诸如此类的。

你可以通过如下命令获得追踪信息:

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

注意

在逐字输入第一行的字符![8]

[8] 译者注:原文是:"Type the characters in the first line verbatim! Those are back-tics there!",Those are back-tics there!不知道是什么意思,back-tics=后勤抽搐?熟悉Linux的或许知道

注意

追踪是一个GDB命令。你可以在输完第一上以后输入它,但是会没有相应,^D命令(CTL+D)将会退出GDB命令。以上命令让你在当前目录得到一个名为bt.txt的文本文件,它包含您的bug报告。

注意

如果您缺少GDB,您必须检查您的操作系统的调试器。

你可以发送追踪邮件到wireshark-dev[AT]wireshark.org邮件列表

1.6.7. 在Windows平台追踪软件错误

Windows下无法包含符号文件(.pdb),它们非常大。因此不太可能创建十分有意义的追踪文件。你将汇报软件错误就像前面描述的其他问题一样。(这句不尽人意)

第 2 章 编译/安装Wireshark

2.1. 须知

万事皆有开头,Wireshark也同样如此。要想使用Wireshark,你必须:

  • 获得一个适合您操作系统的二进制包,或者
  • 获得源文件为您的操作系统编译。
  • 目前,只有两到三种Linux发行版可以传送Wireshark,而且通常传输的都是过时的版本。至今尚未有UNIX版本可以传输Wireshark。

Windows的任何版本都不能传输Wireshark.基于以上原因,你需要知道从哪能得到最新版本的Wireshark以及如何安装它。

本章节向您展示如何获得源文件和二进制包,如何根据你的需要编译Wireshark源文件。

以下是通常的步骤:

    1. 下载需要的相关包,例如:源文件或者二进制发行版。
    1. 将源文件编译成二进制包(如果您下载的是源文件的话)。这样做做可以整合编译和/或安装其他需要的包。
    1. 安装二进制包到最终目标位置。

2.2. 获得源

你可以从Wireshark网站同时获取源文件和二进制发行版。选择您需要下载的链接,然后选择源文件或二进制发行包所在的镜像站点(尽可能离你近一点的站点)。

下载所有需要的文件 !

一般来说,除非您已经下载Wireshark,如果您想编译Wireshark源文件,您可能需要下载多个包。这些在后面章节会提到。

注意

当你发现在网站上有多个二进制发行版可用,您应该选择适合您平台的版本,他们同时通常会有多个版本紧跟在当前版本后面,那些通常时拥有那些平台的用户编译的。

基于以上原因,您可能想自己下载源文件自己编译,因为这样相对方便一点。

2.3. 在UNIX下安装之前

在编译或者安装二进制发行版之前,您必须确定已经安装如下包:

    1. GTK+, The GIMP Tool Kit.
      您将会同样需要Glib.它们都可以从www.gtk.org获得。
    1. Libpcap , Wireshark用来捕捉包的工具
      您可以从www.tcpdump.org获得。

根据您操作系统的不同,您或许能够安装二进制包,如RPMs.或许您需要获得源文件并编译它。

如果您已经下载了GTK+源文件,例 2.1 “从源文件编译GTK+”提供的指令对您编译有所帮助。

例 2.1. 从源文件编译GTK+

gzip -dc gtk+-1.2.10.tar.gz | tar xvf -
./configure
make install

注意

您可能需要修改例 2.1 “从源文件编译GTK+”中提供的版本号成对应您下载的GTK+版本。如果GTK的目录发生变更,您同样需要修改它。,tar xvf 显示您需要修改的目录。

注意

如果您使用Linux,或者安装了GUN tar,您可以使用tar zxvfgtk+-1.2.10.tar.gz命令。同样也可能使用gunzip –c或者gzcat而不是许多UNIX中的gzip –dc

注意

如果您在windows中下载了gtk+ 或者其他文件。您的文件可能名称为:gtk+-1_2_8_tar.gz

如果在执行例 2.1 “从源文件编译GTK+”中的指令时有错误发生的话,你可以咨询GTK+网站。

如果您已经下载了libpcap源,一般指令如例 2.2 “编译、安装libpcap” 显示的那样会帮您完成编译。同样,如果您的操作系统不支持tcpdump,您可以从tcpdump网站下载安装它。

例 2.2. 编译、安装libpcap

gzip -dc libpcap-0.9.4.tar.Z | tar xvf -
cd libpcap-0.9.4
./configure
make
make install

注意

Libpcap的目录需要根据您的版本进行修改。tar xvf命令显示您解压缩的目录。

RedHat 6.x及其以上版本环境下(包括基于它的发行版,如Mandrake),您可以直接运行RPM安装所有的包。大多数情况下的Linux需要安装GTK+和Glib.反过来说,你可能需要安装所有包的定制版。安装命令可以参考 例 2.3 “在RedHat Linux 6.2或者基于该版本得发行版下安装需要的RPM包”。
如果您还没有安装,您可能需要安装需要的RPMs。

例 2.3. 在RedHat Linux 6.2或者基于该版本得发行版下安装需要的RPM包

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

注意

如果您使用RedHat 6.2之后的版本,需要的RMPs包可能已经变化。您需要使用正确的RMPs包。
在Debian下您可以使用apt-ge命令。apt-get 将会为您完成所有的操作。参见例 2.4 “在Deban下安装Deb”

例 2.4. 在Deban下安装Deb

apt-get install wireshark-dev

2.4. 在UNIX下编译Wireshark

如果在Unix操作系统下可以用如下步骤编译Wireshark源代码:

  • 1.如果使用Linux则解压gzip'd tar文件,如果您使用UNIX,则解压GUN tar文件。对于Linux命令如下:
tar zxvf wireshark-0.99.5-tar.gz

对于 UNIX版本,命令如下

gzip -d wireshark-0.99.5-tar.gz
tar xvf wireshark-0.99.5-tar

注意

使用管道命令行 gzip –dc Wireshark-0.99.5-tar.gz|tar xvf 同样可以[9]

[9] 译者注:看到别人翻译Pipelin之类的,似乎就是叫管道,不知道是否准确

注意

如果您在Windows下下载了Wireshark,你会发现文件名中的那些点变成了下划线。

  • 2.将当前目录设置成源文件的目录。
  • 3.配置您的源文件以编译成适合您的Unix的版本。命令如下:
./configure

如果找个步骤提示错误,您需要修正错误,然后重新configure.解决编译错误可以参考第 2.6 节 “解决UNIX下安装过程中的问题 ”

  • 4.使用make命令将源文件编译成二进制包,例如:
make
  • 5.安装您编译好的二进制包到最终目标,使用如下命令:
make install

一旦您使用make install安装了Wireshark,您就可以通过输入Wireshark命令来运行它了。

2.5. 在UNIX下安装二进制包

一般来说,在您的UNIX下安装二进制发行包使用的方式根据您的UNIX的版本类型而各有不同。例如AIX下,您可以使用smit安装,Tru64 UNIX您可以使用 setld 命令。

2.5.1. 在Linux或类似环境下安装RPM包

使用如下命令安装Wireshark RPM包

rpm -ivh wireshark-0.99.5.i386.rpm

如果因为缺少Wireshark依赖的软件而导致安装错误,请先安装依赖的软件,然后再尝试安装。REDHAT下依赖的软件请参考例 2.3 “在RedHat Linux 6.2或者基于该版本得发行版下安装需要的RPM包”

2.5.2. 在Debian环境下安装Deb包

使用下列命令在Debian下安装Wireshark

apt-get install Wireshark

apt-get 会为您完成所有的相关操作

2.5.3. 在Gentoo Linux环境下安装Portage

使用如下命令在Gentoo Linux下安装wireshark以及所有的需要的附加文件

USE="adns gtk ipv6 portaudio snmp ssl kerberos threads selinux" emerge wireshark

2.5.4. 在FreeBSD环境下安装包

使用如下命令在FreeBSD下安装Wireshark

pkg_add -r wireshark

pkg_add会为您完成所有的相关操作

2.6. 解决UNIX下安装过程中的问题 [10]

[10] 译者注:本人不熟悉UNIX/LINUX,这一段翻译的有点云里雾里,可能大家通过这部分想安装Wireshark会适得其反,那就对不住了。下面个人说一下UNIX/LINUX下安装方法。 UNIX/LINUX下安装时,有两种安装方式,1是下载源码包自己编译,这种方式的好处是因为下载源码包是单一的,可以自行加以修改,编译就是适合自己平台的了。 2、是利用已经做好的发行包直接安装,这种方法的好处是只要下载到跟自己平台对应的就可以,但缺点也在这里,不是每个平台都能找到合适的。不管是编译安装,还是使用发行包安装,都需要有一些有些基本基本支持。比如Linux下的GTK+支持,捕捉包时需要用的libpcap. 这一点可以参考第 2.3 节 “在UNIX下安装之前 ”。编译的一般步骤是解压,编译,安装(tar zxvf Wireshark-0.99.5-tar.gz;make;make install).直接安装则是根据各自平台安装的特点。

安装过程中可能会遇到一些错误信息。这里给出一些错误的解决办法:

如果configure那一步发生错误。你需要找出错误的原因,您可以检查日志文件config.log(在源文件目录下),看看都发生了哪些错误。有价值的信息通常在最后几行。

一般原因是因为您缺少GTK+环境,或者您的GTK+版本过低。configure错误的另一个原因是因为因为缺少libpcap(这就是前面提到的捕捉包的工具)。

另外一个常见问题是很多用户抱怨最后编译、链接过程需要等待太长时间。这通常是因为使用老式的sed命令(比如solaris下传输)。自从libtool脚本使用sed命令建立最终链接命令,常常会导致不可知的错误。您可以通过下载最新版本的sed解决该问题.

如果您无法检测出错误原因。发送邮件到wireshark-dev说明您的问题。当然,邮件里要附上config.log以及其他您认为对解决问题有帮助的东西,例如make过程的追踪。

2.7. 在Windows下编译源

在Windows平台下,我们建议最好是使用二进制包直接安装,除非您是从事Wireshark开发的。 如果想了解关于Windows下编译安装Wireshark,请查看我们的开发WIKI网站来了解最新的开发方面的文档。

2.8. 在Windows下安装Wireshark

本节将探讨在Windows下安装Wireshark二进制包。

2.8.1. 安装Wireshark

您获得的Wireshark二进制安装包可能名称类似Wireshark-setup-x.y.z.exe.

Wireshark安装包包含WinPcap,所以您不需要单独下载安装它。

您只需要在该链接下载Wireshark安装包并执行它即可。除了普通的安装之外,还有几个组件供挑选安装。

提示:尽量保持默认设置

如果您不了解设置的作用的话。

选择组件[11]

[11] 涉及到过多的名次,软件又没有中文版,这里及以后尽量不翻译名称

Wireshark(包括GTK1和GTK2接口无法同时安装):

如果您使用GTK2的GUI界面遇到问题可以尝试GTK1,在Windows下256色(8bit)显示模式无法运行GTK2.但是某些高级分析统计功能在GTK1下可能无法实现。

  • Wireshark GTK1-Wireshark 是一个GUI网络分析工具
  • Wireshark GTK2-Wireshark 是一个GUI网络分析工具(建议使用GTK2 GUI模组工具)
  • GTK-Wimp-GTKWimp是诗歌GTK2窗口模拟(看起来感觉像原生windows32程序,推荐使用)
  • TSshark-TShark 是一个命令行的网络分析工具

插件/扩展(Wireshark,TShark分析引擎):

  • Dissector Plugins-分析插件:带有扩展分析的插件
  • Tree Statistics Plugins-树状统计插件:统计工具扩展
  • Mate - Meta Analysis and Tracing Engine (experimental):可配置的显示过滤引擎,参考http://wiki.wireshark.org/Mate.
  • SNMP MIBs: SNMP,MIBS的详细分析。
  • Tools/工具(处理捕捉文件的附加命令行工具

User’s Guide-用户手册-本地安装的用户手册。如果不安装用户手册,帮助菜单的大部分按钮的结果可能就是访问internet.

  • Editcap - Editcap is a program that reads a capture file and writes some or all of the packets into another capture file. /Editcap是一个读取捕捉文件的程序,还可以将一个捕捉文件力的部分或所有信息写入另一个捕捉文件。(文件合并or插入?)
  • Text2Pcap - Text2pcap is a program that reads in an ASCII hex dump and writes the data into a libpcap-style capture file./Tex2pcap是一个读取ASCII hex,写入数据到libpcap个文件的程序。
  • Mergecap - Mergecap is a program that combines multiple saved capture files into a single output file. / Mergecap是一个可以将多个播捉文件合并为一个的程序。
  • Capinfos - Capinfos is a program that provides information on capture files. /Capinfos是一个显示捕捉文件信息的程序。

“Additional Tasks”页

  • Start Menu Shortcuts-开始菜单快捷方式-增加一些快捷方式到开始菜单
  • Desktop Icon-桌面图标-增加Wireshark图标到桌面
  • Quick Launch Icon-快速启动图标-增加一个Wireshark图标到快速启动工具栏
  • Associate file extensions to Wireshark-Wireshark文件关联-将捕捉包默认打开方式关联到Wireshark

Install WinPcap?”页
Wireshark安装包里包含了最新版的WinPcap安装包。

如果您没有安装WinPcap 。您将无法捕捉网络流量。但是您还是可以打开以保存的捕捉包文件。

  • Currently installed WinPcap version-当前安装的WinPcap版本
  • Install WinPcap x.x -如果当前安装的版本低于Wireshark自带的,该选项将会是默认值。
  • Start WinPcap service "NPF" at startup -将WinPcap的服务NPF在启动时运行-这样其它非管理员用户就同样可以捕捉包了。

更多关于WinPcap的信息:

安装命令选项
您可以直接在命令行运行安装包,不加任何参数,这样会显示常用的参数以供交互安装。 在个别应用中,可以选择一些参数定制安装:

  • /NCRC 禁止CRC校检
  • /S 静默模式安装或卸载Wireshark.注意:静默模式安装时不会安装WinPcap!
  • /desktopicon 安装桌面图标,/desktopicon=yes表示安装图标,反之则不是,适合静默模式。
  • /quicklaunchicon 将图标安装到快速启动工具栏,=yes-安装到工具栏,=no-不安装,不填按默认设置。
  • /D 设置默认安装目录($INSTDIR),首选安装目录和安装目录注册表键值,该选项必须设置到最后。即使路径包含空格

例 2.5.

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

2.8.2. 手动安装WinPcap

注意

事先声明,Wireshark安装时会谨慎对待WinPcap的安装,所以您通常不必担心WinPcap。
下面的WinPcap仅适合您需要尝试未包括在Wireshark内的不同版本WinPcap。例如一个新版本的WinPcap发布了,您需要安装它。

单独的WinPcap版本(包括alpha or beta版)可以在下面地址下载到

在下载页面您将会发现WinPcap的安装包名称通常类似于”auto-installer”。它们可以在NT4.0/2000/XP/vista下安装。

2.8.3. 更新Wireshark

有时候您可能想将您的WinPcap更新到最新版本,如果您订阅了Wireshark通知邮件,您将会获得Wireshark新版本发布的通知,见第 1.6.4 节 “邮件列表”。

新版诞生通常需要8-12周。更新Wireshark就是安装一下新版本。下载并安装它就可以。更新通常不需要重新启动,也不会更改过去的默认设置

2.8.4. 更新WinPcap

WinPcap的更新不是十分频繁,通常一年左右。新版本出现的时候您会收到WinPcap的通知。更新WinPcap后需要重新启动。

警告

在安装新版WinPcap之前,如果您已经安装了旧版WinPcap,您必须先卸载它。最近版本的WinPcap安装时会自己卸载旧版。

2.8.5. 卸载Wireshark

你可以用常见方式卸载Wireshark,使用添加/删除程序,选择”Wireshark”选项开始卸载即可。

Wireshark卸载过程中会提供一些选项供您选择卸载哪些部分,默认是卸载核心组件,但保留个人设置和WinPcap.

WinPcap默认不会被卸载,因为其他类似Wireshark的程序有可能同样适用WinPcap

2.8.6. 卸载WinPcap

你可以单独卸载WinPcap,在添加/删除程序选择”WinPcap”卸载它。

注意

卸载WinPcap之后您将不能使用Wireshark捕捉包。

在卸载完成之后最好重新启动计算机。

第 3 章 用户界面

3.1. 须知

现在您已经安装好了Wireshark,几乎可以马上捕捉您的一个包。紧接着的这一节我们将会介绍:

  • Wireshark的用户界面如何使用
  • 如何捕捉包
  • 如何查看包
  • 如何过滤包
  • ……以及其他的一些工作。

3.2. 启动Wireshark

你可以使用Shell命令行或者资源管理器启动Wireshark.

提示

开始Wireshark时您可以指定适当的参数。参见第 9.2 节 “从命令行启动Wireshark”

注意

在后面的章节中,将会出现大量的截图,因为Wireshark运行在多个平台 ,并且支持多个GUI Toolkit(GTK1.x/2x),您的屏幕上显示的界面可能与截图不尽吻合。但在功能上不会有实质性区别。尽管有这些区别,也不会导致理解上的困难。

3.3. 主窗口

先来看看图 3.1 “主窗口界面”,大多数打开捕捉包以后的界面都是这样子(如何捕捉/打开包文件随后提到)。

图 3.1. 主窗口界面

和大多数图形界面程序一样,Wireshark主窗口由如下部分组成:

  • 1.菜单(见第 3.4 节 “主菜单”)用于开始操作。
  • 2.主工具栏(见第 3.13 节 “"Main"工具栏”)提供快速访问菜单中经常用到的项目的功能。
  • 3.Fiter toolbar/过滤工具栏(见第 3.14 节 “"Filter"工具栏”)提供处理当前显示过滤得方法。(见6.3:”浏览时进行过滤”)
  • 4.Packet List面板(见第 3.15 节 “"Pcaket List"面板”)显示打开文件的每个包的摘要。点击面板中的单独条目,包的其他情况将会显示在另外两个面板中。
  • 5.Packet detail面板(见第 3.16 节 “"Packet Details"面板”)显示您在Packet list面板中选择的包德更多详情。
  • 6.Packet bytes面板(见第 3.17 节 “"Packet Byte"面板”)显示您在Packet list面板选择的包的数据,以及在Packet details面板高亮显示的字段。
  • 7.状态栏(见第 3.18 节 “状态栏”)显示当前程序状态以及捕捉数据的更多详情。

注意

主界面的三个面版以及各组成部分可以自定义组织方式。见第 9.5 节 “首选项”

3.3.1. 主窗口概述

Packet list和Detail 面版控制可以通过快捷键进行。表 3.1 “导航快捷键”显示了相关的快捷键列表。表 3.5 “"GO"菜单项”有关于快捷键的更多介绍

表 3.1. 导航快捷键
快捷键 描述
Tab,Shift+Tab 在两个项目间移动,例如从一个包列表移动到下一个
Down 移动到下一个包或者下一个详情
Up 移动到上一个包或者上一个详情
Ctrl-Down,F8 移动到下一个包,即使焦点不在Packet list面版
Ctrl-UP,F7 移动到前一个报,即使焦点不在Packet list面版
Left 在Pactect Detail面版,关闭被选择的详情树状分支。如果以关闭,则返回到父分支。
Right 在Packet Detail面版,打开被选择的树状分支.
Backspace Packet Detail面版,返回到被选择的节点的父节点
Return,Enter Packet Detail面版,固定被选择树项目。

另外,在主窗口键入任何字符都会填充到filter里面。

3.4. 主菜单

Wireshark主菜单位于Wireshark窗口的最上方。图 3.2 “主菜单”提供了菜单的基本界面。

图 3.2. 主菜单

主菜单包括以下几个项目:

  • File

包括打开、合并捕捉文件,save/保存,Print/打印,Export/导出捕捉文件的全部或部分。以及退出Wireshark项.见第 3.5 节 “"File"菜单”

  • Edit

包括如下项目:查找包,时间参考,标记一个多个包,设置预设参数。(剪切,拷贝,粘贴不能立即执行。)见第 3.6 节 “"Edit"菜单”

  • View

控制捕捉数据的显示方式,包括颜色,字体缩放,将包显示在分离的窗口,展开或收缩详情面版的地树状节点,……见第 3.7 节 “"View"菜单”

  • GO

包含到指定包的功能。见第 3.8 节 “"Go"菜单”

  • Capture

允许您开始或停止捕捉、编辑过滤器。见第 3.9 节 “"Capture"菜单”

  • Analyze

包含处理显示过滤,允许或禁止分析协议,配置用户指定解码和追踪TCP流等功能。见第 3.10 节 “"Analyze"菜单”

  • Statistics

包括的菜单项用户显示多个统计窗口,包括关于捕捉包的摘要,协议层次统计等等。见第 3.11 节 “"Statistics"菜单”

  • Help

包含一些辅助用户的参考内容。如访问一些基本的帮助文件,支持的协议列表,用户手册。在线访问一些网站,“关于”等等。见第 3.12 节 “"Help"菜单”

本章链接介绍菜单的一般情况,更详细的介绍会出现在后续章节。

提示

你可以直接点击访问菜单项,也可以使用热键,热键显示在菜单文字描述部分。例如:您可以使用CTRL + K打开捕捉对话框。

3.5. "File"菜单

WireSharkFile菜单包含的项目如表表 3.2 “File菜单介绍”所示

图 3.3. File菜单
表 3.2. File菜单介绍
菜单项 快捷键 描述
Open... Ctr+O 显示打开文件对话框,让您载入捕捉文件用以浏览。见第 5.2.1 节 “打开捕捉文件对话框”
Open Recent 弹出一个子菜单显示最近打开过的文件供选择。
Merg 显示合并捕捉文件的对话框。让您选择一个文件和当前打开的文件合并。见第 5.4 节 “合并捕捉文件”
Close Ctrl+W 关闭当前捕捉文件,如果您未保存,系统将提示您是否保存(如果您预设了禁止提示保存,将不会提示)
Save Crl+S 保存当前捕捉文件,如果您没有设置默认的保存文件名,Wireshark出现提示您保存文件的对话框。详情第 5.3.1 节 “"save Capture File As/保存文件为"对话框”

注意

  • 如果您已经保存文件,该选项会是灰色不可选的。
  • 您不能保存动态捕捉的文件。您必须结束捕捉以后才能进行保存
菜单项 快捷键 描述
Save As Shift+Ctrl+S 让您将当前文件保存为另外一个文件面,将会出现一个另存为的对话框(参见第 5.3.1 节 “"save Capture File As/保存文件为"对话框”)
File Set>List Files 允许您显示文件集合的列表。将会弹出一个对话框显示已打开文件的列表,参见第 5.5 节 “文件集合”
File Set>Next File 如果当前载入文件是文件集合的一部分,将会跳转到下一个文件。如果不是,将会跳转到最后一个文件。这个文件选项将会是灰色。
File set>Previous Files 如果当前文件是文件集合 的一部分,将会调到它所在位置的前一个文件。如果不是则跳到文件集合的第一个文件,同时变成灰色。
Export> as “Plain Text” File… 这个菜单允许您将捕捉文件中所有的或者部分的包导出为plain ASCII text格式。它将会弹出一个Wireshark导出对话框,见第 5.6.1 节 “"Export as Plain Text File"对话框”
Export >as "PostScript" Files 将捕捉文件的全部或部分导出为PostScrit文件。将会出现导出文件对话框。参见第 5.6.2 节 “"Export as PostScript File" 对话框”
Export > as "CVS" (Comma Separated Values Packet Summary)File... 导出文件全部或部分摘要为.cvs格式(可用在电子表格中)。将会弹出导出对话框,见第 5.6.3 节 “"Export as CSV (Comma Separated Values) File" 对话框”。
Export > as “PSML” File… 导出文件的全部或部分为PSML格式(包摘要标记语言)XML文件。将会弹出导出文件对话框。见第 5.6.4 节 “"Export as PSML File" 对话框”
Export as "PDML" File... 导出文件的全部或部分为PDML(包摘要标记语言)格式的XML文件。将会弹出一个导出文件对话框,见第 5.6.5 节 “"Export as PDML File" 对话框”
Export > Selected Packet Bytes… 导出当前在Packet byte面版选择的字节为二进制文件。将会弹出一个导出对话框。见第 5.6.6 节 “"Export selected packet bytes" 对话框”
Print Ctr+P 打印捕捉包的全部或部分,将会弹出打印对话框。见第 5.7 节 “打印包”
Quit Ctrl+Q 退出Wireshark,如果未保存文件,Wireshark会提示是否保存。

3.6. "Edit"菜单

Wireshark的"Edit"菜单包含的项目见表 3.3 “Edit菜单项”

图 3.4. "Edit"菜单

表 3.3. Edit菜单项

菜单项 快捷键 描述
Copy>As Filter Shift+Ctrl+C 使用详情面版选择的数据作为显示过滤。显示过滤将会拷贝到剪贴板。
Find Packet... Ctr+F 打开一个对话框用来通过限制来查找包,见???
Find Next Ctrl+N 在使用Find packet以后,使用该菜单会查找匹配规则的下一个包
Find Previous Ctr+B 查找匹配规则的前一个包。
Mark Packet(toggle) Ctrl+M 标记当前选择的包。见第 6.9 节 “标记包”
Find Next Mark Shift+Ctrl+N 查找下一个被标记的包
Find Previous Mark Ctrl+Shift+B 查找前一个被标记的包
Mark ALL Packets 标记所有包
Unmark All Packet 取消所有标记
Set Time Reference(toggle) Ctrl+T 以当前包时间作为参考,见第 6.10.1 节 “包参考时间”
Find Next Reference 找到下一个时间参考包
Find Previous Refrence... 找到前一个时间参考包
Preferences... Shift+Ctrl+P 打开首选项对话框,个性化设置Wireshark的各项参数,设置后的参数将会在每次打开时发挥作用。详见第 9.5 节 “首选项”

3.7. "View"菜单

表 3.4 “"View"菜单项”显示了Wireshar View菜单的选项

图 3.5. "View"菜单
表 3.4. "View"菜单项
菜单项 快捷键 描述
Main Toolbar 显示隐藏Main toolbar(主工具栏),见第 3.13 节 “"Main"工具栏”
Filter Toolbar 显示或隐藏Filter Toolbar(过滤工具栏)见第 3.14 节 “"Filter"工具栏”
Statusbar 显示或隐藏状态栏,见第 3.18 节 “状态栏”
Packet List 显示或隐藏Packet List pane(包列表面板),见第 3.15 节 “"Pcaket List"面板”
Packet Details 显示或隐藏Packet details pane(包详情面板).见第 3.16 节 “"Packet Details"面板”
Packet Bytes 显示或隐藏 packet Bytes pane(包字节面板),见第 3.17 节 “"Packet Byte"面板”
Time Display Fromat>Date and Time of Day: 1970-01-01 01:02:03.123456 选择这里告诉Wireshark将时间戳设置为绝对日期-时间格式(年月日,时分秒),见第 6.10 节 “时间显示格式及参考时间”

注意

这里的字段"Time of Day","Date and Time of Day","Seconds Since Beginning of Capture","Seconds Since Previous Captured Packet"和"Seconds Since Previous Displayed Packet"几个选项是互斥的,换句话说,一次同时有一个被选中。

菜单项 快捷键 描述
Time Display Format>Time of Day: 01:02:03.123456 将时间设置为绝对时间-日期格式(时分秒格式),见第 6.10 节 “时间显示格式及参考时间”
Time Display Format > Seconds Since Beginning of Capture: 123.123456 将时间戳设置为秒格式,从捕捉开始计时,见第 6.10 节 “时间显示格式及参考时间”
Time Display Format > Seconds Since Previous Captured Packet: 1.123456 将时间戳设置为秒格式,从上次捕捉开始计时,见第 6.10 节 “时间显示格式及参考时间”
Time Display Format > Seconds Since Previous Displayed Packet: 1.123456 将时间戳设置为秒格式,从上次显示的包开始计时,见第 6.10 节 “时间显示格式及参考时间”
Time Display Format > ------
Time Display Format > Automatic (File Format Precision) 根据指定的精度选择数据包中时间戳的显示方式,见第 6.10 节 “时间显示格式及参考时间”

注意

"Automatic","Seconds"和"...seconds"是互斥的

菜单项 快捷键 描述
Time Display Format > Seconds: 0 设置精度为1秒,见第 6.10 节 “时间显示格式及参考时间”
Time Display Format > ...seconds: 0.... 设置精度为1秒,0.1秒,0.01秒,百万分之一秒等等。 见第 6.10 节 “时间显示格式及参考时间”
Name Resolution > Resolve Name 仅对当前选定包进行解析第 7.6 节 “名称解析”
Name Resolution > Enable for MAC Layer 是否解析Mac地址
Name Resolution > Enable for Network Layer 是否解析网络层地址(ip地址),见第 7.6 节 “名称解析”
Name Resolution > Enable for Transport Layer 是否解析传输层地址第 7.6 节 “名称解析”

Colorize Packet List 是否以彩色显示包

注意

以彩色方式显示包会降低捕捉再如包文件的速度

菜单项 快捷键 描述
Auto Scrooll in Live Capture 控制在实时捕捉时是否自动滚屏,如果选择了该项,在有新数据进入时, 面板会项上滚动。您始终能看到最后的数据。反之,您无法看到满屏以后的数据,除非您手动滚屏
Zoom In Ctrl++ 增大字体
Zoom Out Ctrl+- 缩小字体
Normal Size Ctrl+= 恢复正常大小
Resiz All Columnus 恢复所有列宽

注意

除非数据包非常大,一般会立刻更改

菜单项 快捷键 描述
Expend Subtrees 展开子分支
Expand All 看开所有分支,该选项会展开您选择的包的所有分支。
Collapse All 收缩所有包的所有分支
Coloring Rulues... 打开一个对话框,让您可以通过过滤表达来用不同的颜色显示包。这项功能对定位特定类型的包非常有用。见第 9.3 节 “包色彩显示设置”
Show Packet in New Window 在新窗口显示当前包,(新窗口仅包含View,Byte View两个面板)
Reload Ctrl+R 重新再如当前捕捉文件

3.8. "Go"菜单

Wireshark "GO"菜单的内容见表 3.5 “"GO"菜单项”

图 3.6. "GO"菜单
表 3.5. "GO"菜单项
菜单项 快捷键 描述
Back Alt+Left 跳到最近浏览的包,类似于浏览器中的页面历史纪录
ForWard Alt+Right 跳到下一个最近浏览的包,跟浏览器类似
Go to Packet Ctrl+G 打开一个对话框,输入指定的包序号,然后跳转到对应的包,见第 6.8 节 “到指定的包”
Go to Corresponding Packet 跳转到当前包的应答包,如果不存在,该选项为灰色
Previous Packet Ctrl+UP 移动到包列表中的前一个包,即使包列表面板不是当前焦点,也是可用的
Next Packet Ctrl+Down 移动到包列表中的后一个包,同上
First Packet 移动到列表中的第一个包
Last Packet 移动到列表中的最后一个包

3.9. "Capture"菜单

"Capture"菜单的各项说明见表 3.6 “"Capture"菜单项”

图 3.7. "Capture"菜单
表 3.6. "Capture"菜单项
菜单项 快捷键 描述
Interface... 在弹出对话框选择您要进行捕捉的网络接口,见第 4.4 节 “捕捉接口对话框”
Options... Ctrl+K 打开设置捕捉选项的对话框,(见第 4.5 节 “捕捉选项对话框”)并可以在此开始捕捉
Start Ctrl+E 立即开始捕捉,设置都是参照最后一次设置。
Stop Ctrl+E 停止正在进行的捕捉,见第 4.9.1 节 “停止捕捉”
Restart 正在进行捕捉时,停止捕捉,并按同样的设置重新开始捕捉.仅在您认为有必要时
Capture Filters... 打开对话框,编辑捕捉过滤设置,可以命名过滤器,保存为其他捕捉时使用见第 6.6 节 “定义,保存过滤器”

3.10. "Analyze"菜单

"Analyze"菜单的各项见表 3.7 “"analyze"菜单项”

图 3.8. "Analyze"菜单
表 3.7. "analyze"菜单项
菜单项 快捷键 描述
Display Filters... 打开过滤器对话框编辑过滤设置,可以命名过滤设置,保存为其他地方使用,见第 6.6 节 “定义,保存过滤器”
Apply as Filter>... 更改当前过滤显示并立即应用。根据选择的项,当前显示字段会被替换成选择在Detail面板的协议字段
Prepare a Filter>... 更改当前显示过滤设置,当不会立即应用。同样根据当前选择项,过滤字符会被替换成Detail面板选择的协议字段
Firewall ACL Rules 为多种不同的防火墙创建命令行ACL规则(访问控制列表),支持Cisco IOS, Linux Netfilter (iptables), OpenBSD pf and Windows Firewall (via netsh). Rules for MAC addresses, IPv4 addresses, TCP and UDP ports, 以及 IPv4+混合端口 .以上假定规则用于外部接口
Enable Protocols... Shift+Ctrl+R 是否允许协议分析,见第 9.4.1 节 “"Enable Protocols"对话框”

[a] 看样子他们有个关于这部分的章节

3.11. "Statistics"菜单

Wireshark "statistics"菜单项见表 3.8 “”

图 3.9. "Statistics"菜单
表 3.8.
菜单项 快捷键 描述
Summary 显示捕捉数据摘要,见第 8.2 节 “摘要窗口”
Protocol Hierarchy 显示协议统计分层信息,见第 8.3 节 “"Protocol Hierarchy"窗口”
Conversations/ 显示会话列表(两个终端之间的通信),见???
EndPoints 显示端点列表(通信发起,结束地址),见第 8.4.2 节 “"Endpoints"窗口”
IO Graphs 显示用户指定图表,(如包数量-时间表)见第 8.6 节 “"IO Graphs"窗口”
Conversation List 通过一个组合窗口,显示会话列表,见第 8.5.3 节 “协议指定“Conversation List/会话列表”窗口”
Endpoint List 通过一个组合窗口显示终端列表,见第 8.4.3 节 “特定协议的"Endpoint List"窗口”
Service Response Time 显示一个请求及其相应之间的间隔时间,见第 8.7 节 “服务相应时间”
ANSI 见第 8.8 节 “协议指定统计窗口”
GSM 见第 8.8 节 “协议指定统计窗口”
H.225... 见第 8.8 节 “协议指定统计窗口”
ISUP Message 见第 8.8 节 “协议指定统计窗口”
Types 见第 8.8 节 “协议指定统计窗口”
MTP3 见第 8.8 节 “协议指定统计窗口”
RTP 见第 8.8 节 “协议指定统计窗口”
GSM 见第 8.8 节 “协议指定统计窗口”
SIP 见第 8.8 节 “协议指定统计窗口”
VOIP Calls... 见第 8.8 节 “协议指定统计窗口”
WAP-WSP... 见第 8.8 节 “协议指定统计窗口”
HTTP HTTP请求/相应统计,见第 8.8 节 “协议指定统计窗口”
ISUP Messages 见第 8.8 节 “协议指定统计窗口”
ONC-RPC Programs 见第 8.8 节 “协议指定统计窗口”
TCP Stream Graph 见第 8.8 节 “协议指定统计窗口”

3.12. "Help"菜单

帮助菜单的内容见表 3.9 “”

图 3.10. 帮助菜单
表 3.9.
菜单项 快捷键 描述
Contents F1 打开一个基本的帮助系统
Supported Protocols 打开一个对话框显示支持的协议或工具
Manaul Pages>... 打开浏览器,显示安装在本地的手册
Wireshark Online> 按照选择显示在线资源
About Wireshark 弹出信息窗口显示Wireshark的一些相关信息,如插件,目录等。

注意

  • 有些版本可能不支持调用WEB浏览器。如果是这样,可能会隐藏此菜单。
  • 如果调用浏览器错误,检查Wireshark首选项关于浏览器设置。

3.13. "Main"工具栏

主工具栏提供了快速访问常见项目的功能,它是不可以自定义的,但如果您觉得屏幕屏幕过于狭小,需要更多空间来显示数据。您可以使用浏览菜单隐藏它。
在主工具栏里面的项目只有在可以使用的时候才能被选择,如果不是可用则显示为灰色,不可选(例如:在未载入文件时,保存文件按钮就不可用.)

图 3.11.
表 3.10. 主工具栏选项
工具栏图标 工具栏项 对应菜单项 描述
接口 Capture/Interfaces... 打开接口列表对话框,见第 4.3 节 “开始捕捉”

TODO: 最新版图标已更换待完善

3.14. "Filter"工具栏
过滤工具栏用于编辑或显示过滤器,更多详情见第 6.3 节 “浏览时过滤包”

图 3.12. 过滤工具栏
表 3.11.
工具栏图标 工具栏项 说明
过滤 打开构建过滤器对话框,见第 6.7 节 “查找包”[a]
过滤输入框 在此区域输入或修改显示的过滤字符,见第 6.4 节 “建立显示过滤表达式”,在输入过程中会进行语法检查。如果您输入的格式不正确,或者未输入完成,则背景显示为红色。直到您输入合法的表达式,背景会变为绿色。你可以点击下拉列表选择您先前键入的过滤字符。列表会一直保留,即使您重新启动程序。

注意

  • 做完修改之后,记得点击右边的Apply(应用)按钮,或者回车,以使过滤生效。
  • 输入框的内容同时也是当前过滤器的内容(当前过滤器的内容会反映在输入框)
工具栏图标 工具栏项 说明
表达式... 标签为表达式的按钮打开一个对话框用以从协议字段列表中编辑过滤器,详见第 6.5 节 ““Filter Expression/过滤表达式”对话框”
清除 重置当前过滤器,清除输入框
应用 应用当前输入框的表达式为过滤器进行过滤

注意

在大文件里应用显示过滤可能要很长时间

[a] 我看到的Filter按钮貌似没有图标,可能只出现在0.99.4版中

3.15. "Pcaket List"面板

Packet list/包列表面板显示所有当前捕捉的包

图 3.13. "Packet list/包列表"面板

列表中的每行显示捕捉文件的一个包。如果您选择其中一行,该包得更多情况会显示在"Packet Detail/包详情","Packet Byte/包字节"面板.

在分析(解剖)包时,Wireshark会将协议信息放到各个列。因为高层协议通常会覆盖底层协议,您通常在包列表面板看到的都是每个包的最高层协议描述。

例如:让我们看看一个包括TCP包,IP包,和一个以太网包。在以太网(链路层?)包中解析的数据(比如以太网地址),在IP分析中会覆盖为它自己的内容(比如IP地址),在TCP分析中会覆盖IP信息。

包列表面板有很多列可供选择。需要显示哪些列可以在首选项中进行设置,见第 9.5 节 “首选项”

默认的列如下

  • No. 包的编号,编号不会发生改变,即使进行了过滤也同样如此
  • Time 包的时间戳。包时间戳的格式可以自行设置,见第 6.10 节 “时间显示格式及参考时间”
  • Source 显示包的源地址。
  • Destination 显示包的目标地址。
  • Protocal 显示包的协议类型的简写
  • Info 包内容的附加信息

右击包,可以显示对包进行相关操作的上下文菜单。见第 6.3 节 “浏览时过滤包”

3.16. "Packet Details"面板

"Packet Details/包详情"面板显示当前包(在包列表面板被选中的包)的详情列表。

图 3.14. "Packet Details/包详情"面板

该面板显示包列表面板选中包的协议及协议字段,协议及字段以树状方式组织。你可以展开或折叠它们。

右击它们会获得相关的上下文菜单。见第 6.4 节 “建立显示过滤表达式”

某些协议字段会以特殊方式显示

  • Generated fields/衍生字段 Wireshark会将自己生成附加协议字段加上括号。衍生字段是通过该包的相关的其他包结合生成的。例如:Wireshark 在对TCP流应答序列进行分析时。将会在TCP协议中添加[SEQ/ACK analysis]字段
  • Links/链接 如果Wireshark检测到当前包与其它包的关系,将会产生一个到其它包的链接。链接字段显示为蓝色字体,并加有下划线。双击它会跳转到对应的包。

3.17. "Packet Byte"面板

Packet Byte/包字节 面板以16进制转储方式显示当前选择包的数据

图 3.15. Packet Byte/包字节面板

通常在16进制转储形式中,左侧显示包数据偏移量,中间栏以16进制表示,右侧显示为对应的ASCII字符

根据包数据的不同,有时候包字节面板可能会有多个页面,例如:有时候Wireshark会将多个分片重组为一个,见第 7.5 节 “合并包”.这时会在面板底部出现一个附加按钮供你选择查看

图 3.16. 带选项的"Paket Bytes/包字节"面板

注意

附加页面的内容可能来自多个包。

右击选项按钮会显示一个上下文菜单显示所有可用的页的清单。如果您的面板尺寸过小,这项功能或许有所帮助

3.18. 状态栏

状态栏用于显示信息
通常状态栏的左侧会显示相关上下文信息,右侧会显示当前包数目

图 3.17. 初始状态栏

该状态栏显示的是没有文件载入时的状态,如:刚启动Wireshark时

图 3.18. 载入文件后的状态栏

左侧显示当前捕捉文件信息,包括名称,大小,捕捉持续时间等。
右侧显示当前包在文件中的数量,会显示如下值
• P:捕捉包的数目
• D:被显示的包的数目
• M: 被标记的包的数目.

图 3.19. 已选择协议字段的状态栏

如果你已经在"Packet Detail/包详情"面板选择了一个协议字段,将会显示上图

提示

括号内的值(如上图的app.opcode)可以作为显示过滤使用。它表示选择的协议字段。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章