Wireshark中文简明使用教程 下载本文

在包列表面板实时更新捕捉数据。如果未选定该选项,在Wireshark捕捉结束之前将不能显示数据。如果选中该选项,Wireshark将生成两个独立的进程,通过捕捉进程传输数据给显示进程。 Automatic scrolling in live capture

指定Wireshark在有数据进入时实时滚动包列表面板,这样您将一直能看到最近的包。反之,则最新数据包会被放置在行末,但不会自动滚动面板。如果未设置\该选项将是灰色不可选的。

Hide capture info dialog

选中该选项,将会隐藏捕捉信息对话框

4.5.5. 名称解析设置

Enable MAC name resolution

设置是否让Wireshark翻译MAC地址为名称,见第 7.6 节 “名称解析” Enable network name resolution

是否允许Wireshark对网络地址进行解析,见第 7.6 节 “名称解析”

4.5.6. 按钮

进行完上述设置以后,你可以点击start按钮进行捕捉,也可以点击Cancel退出捕捉. 开始捕捉以后,在你收集到足够的数据时你可以停止捕捉。见第 4.9 节 “在捕捉过程中”

4.6. 捕捉文件格式、模式设置

在 捕捉时,libpcap 捕捉引擎(linux环境下)会抓取来自网卡的包存放在(相对来说)较小的核心缓存内。这些数据由Wireshark读取并保存到用户指定的捕捉文件中。 保存包数据到捕捉文件时,可采用差异模式操作。

提示

处理大文件(数百兆)将会变得非常慢。如果你计划进行长时间捕捉,或者处于一个高吞吐量的网络中,考虑 使用前面提到的\多文件\选项。该选项可以将捕捉包分割为多个小文件。这样可能更适合上述环境。 注意

使用多文件可能会切断上下文关联信息。Wireshark保留载入包的上下文信息,所以它会报告上下文关联问题 (例如流问题)和关联上下文协议信息(例如:何处数据产生建立阶段,必须查找后续包)。这些信息仅能在载入文件中显示,使用多文件模式可能会截断这样的上下文。如果建立连接阶段已经保存在一个文件中,你想要看的在另一个文件中,你可能无法看到可用的上下文关联信息。 提示

关于捕捉文件的目录信息,可见???

表 4.1. 捕捉文件模式选项

\\选\with n files\项 files\选项 选项 - - - - - x Mode Single temporary file Single named file Multiple files,continuous 最终文件命名方式 etherXXXXXX (where XXXXXX 是一个独立值) foo.cap foo_00001_20040205110102.cap, foo_00002_20040205110102.cap, ... foo.cap - foo.cap x foo.cap x Single temporary file

Multiple files,ring foo_00001_20040205110102.cap, buffer foo_00002_20040205110102.cap, ... 将会创建并使用一个临时文件(默认选项).捕捉文件结束后,该文件可以由用户指定文件名。

Single named file

使用单独文件,如果你想放到指定目录,选择此模式 Multiple files,continuous

与single name file模式类似,不同点在于,当捕捉达到多文件切换临界条件时之一时,会创建一个新文件用于捕捉

Multiple files,ring buffer

与\files continuous\模式类似,不同之处在于,创建的文件数目固定。当达到ring buffer with n值时,会替换掉第一个文件开始捕捉,如此循环往复。

该模式可以限制最大磁盘空间使用量,即使未限制捕捉数据输入,也只能保留最后几个捕捉数据。

4.7. 链路层包头类型

在通常情况下,你不需要选择链路层包头类型。下面的段落描述了例外的情况,此时选择包头类型是有必要的,所以你需要知道怎么做:

如果你在某种版本BSD操作系统下从某种802.11 设备(无线局域网设备)捕捉数据,可能需要在\和\中做出选择。\将会导致捕捉到的包带有伪以太网帧头(不知道是不是应该叫伪首部更准确些);\将会导致他们带有802.11帧头。如果捕捉时的应用程序不支持\帧头\,你需要选择\

如果你使用Endace DAG card(某种网络监视卡)连接到同步串口线(译者注:E文为synchronous serial line,权且翻译作前文吧,未接触过此卡、未熟稔此线名称),可能会出现\over serial\或 \HDLC\自己google去)供选择。根据你自己的情况选择二者中的一个。

如果你使用Endace DAG card(同上)连接到ATM网络,将会提供\、\供选择。如果捕捉的通信是RFC 1483封装IP(RFC 1483 LLC-encapsulated IP,不翻译为妙),或者需要在不支持SunATM帧头的应用程序下捕捉,选择前者。反之选择后者。

如果你在以太网捕捉,将会提供\、\供选择,如果您是在Cisco Cable Modem Termination System(CMTS是思科同轴电缆终端调制解调系统?)下捕捉数据。它会将DOCSIS(同轴电缆数据服务接口)通信放置到以太网中,供捕捉。此时需要选择\反之则反之。

4.8. 捕捉时过滤

Wireshark使用libpcap过滤语句进行捕捉过滤(what about winpcap?)。在tcpdump主页有介绍,但这些只是过于晦涩难懂,所以这里做小幅度讲解。

提示

你可以从http://wiki.wireshark.org/CaptureFilters找到捕捉过滤范例.

在Wireshark捕捉选项对话(见图 4.2 “\捕捉选项\对话框”)框输入捕捉过滤字段。下面的语句有点类似于tcpdump捕捉过滤语言。在tcpdump主页http://www.tcpdump.org/tcpdump_man.html可以看到tcpdump表达式选项介绍。

捕捉过滤的形式为:和取值(and/or)进行进行基本单元连接,加上可选的,高有限级的not: [not] primitive [and|or [not] primitive ...] 例 4.1. 捕捉来自特定主机的telnet协议 tcp port 23 and host 10.0.0.5

本例捕捉来自或指向主机10.0.0.5的Telnet 通信,展示了如何用and连接两个基本单元。另外一个例子例 4.2 “捕捉所有不是来自10.0.0.5的telnet 通信”展示如何捕捉所有不是来自10.0.0.5的telnet 通信。 例 4.2. 捕捉所有不是来自10.0.0.5的telnet 通信 tcp host 23 and not src host 10.0.0.5

此处笔者建议增加更多范例。但是并没有添加。

一个基本单元通常是下面中的一个 [src|dst] host

此基本单元允许你过滤主机ip地址或名称。你可以优先指定src|dst关键词来指定你关注的是源地址还是目标地址。如果未指定,则指定的地址出现在源地址或目标地址中的包会被抓取。 ether [src|dst] host

此单元允许你过滤主机以太网地址。你可以优先指定关键词src|dst在关键词ether和host之间,来确定你关注的是源地址还是目标地址。如果未指定,同上。 gateway host

过滤通过指定host作为网关的包。这就是指那些以太网源地址或目标地址是host,但源ip地址和目标ip地址都不是host的包

[src|dst] net [{mask}|{len }]

通过网络号进行过滤。你可以选择优先指定src|dst来确定你感兴趣的是源网络还是目标网络。如果两个都没指定。指定网络出现在源还是目标网络的都会被选择。另外,你可以选择子网掩码或者CIDR(无类别域形式)。 [tcp|udp] [src|dst] port

过滤tcp,udp及端口号。可以使用src|dst和tcp|udp关键词来确定来自源还是目标,tcp协议还是udp协议。tcp|udp必须出现在src|dst之前。 less|greater

选择长度符合要求的包。(大于等于或小于等于) ip|ether proto

选择有指定的协议在以太网层或是ip层的包 ether|ip broadcast|multicast

选择以太网/ip层的广播或多播 relop

创建一个复杂过滤表达式,来选择包的字节或字节范围符合要求的包。请参考http://www.tcpdump.org/tcpdump_man.html

4.8.1. 自动过滤远程通信

如果Wireshark是使用远程连接的主机运行的(例如使用SSH,X11 Window输出,终端服务器),远程连接必须通过网络传输,会在你真正感兴趣的通信中产生大量数据包(通常也是不重要的)

想要避免这种情况,wireshark可以设置为如果发现有远程连接(通过察看指定的环境变量),自动创建一个过滤器来匹配这种连接。以避免捕捉Wireshark捕捉远程连接通信。 下列环境变量可以进行分析

SSH——CONNECTION(ssh)

SSH_CLIENT (ssh)

REMOTEHOST (tcsh, others?)

DISPLAY (x11)

[remote name]: SESSIONNAME (terminal server)

4.9. 在捕捉过程中

捕捉时,会出现下面的对话框

图 4.3. 捕捉信息对话框

上述对话框会向你显示捕捉到包的数目,捕捉持续时间。选择的被统计的协议无法更改(什么鸟意思?)

提示

这个对话框可以被隐藏,在前次的捕捉选项对话框设置\即可。

4.9.1. 停止捕捉

运行中的捕捉线程可以用下列方法停止: 1. 使用捕捉信息对话框上的\

注意

捕捉信息对话框有可能被隐藏,如果你选择了\

stop\按钮停止。

2. 使用菜单项\3. 使用工具栏项\

Stop\

Stop\

4. 使用快捷键:Ctrl+E

5. 如果设置了触发停止的条件,捕捉达到条件时会自动停止。

4.9.2. 重新启动捕捉

运行中的捕捉进程可以被重新启动。这将会移出上次捕捉的所有包。如果你捕捉到一些你不感兴趣的包,你不想保留它,这个功能十分有用。

重新启动是一项方便的功能,类似于停止捕捉后,在很短的时间内立即开始捕捉。以下两种方式可以实现重新启动捕捉:

1. 使用菜单项\2. 使用工具栏项\

[12]

Restart\

Restart\

记得在Windows安装那一节层提到如果作为服务启动可以避免非管理员无法进行捕捉,不知道二者能否相互印证。

[13]

网卡在局域网内会接到很多不属于自己的包,默认情况下,网卡会不对这些包进行处理。貌似设置为杂收模式,Wireshak会监听所有的包,但并不作出相应。

[14]

粗略查了一下,未找到该词的合适翻译,多见于Winpcap的描述,如果把该单词拆分,snap:单元,快照,len:长度,似乎就是单位长度,单元大小的意思。在看看该段下面第二个如果中提到的snapshot length,snaplen应该是二者的简写形式,快照长度