2024年1月22日发(作者:)

Wireshark使用教程

1 什么是wireshark

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,wireshark也使用pcap network library来进行封包捕捉。

2 wireshark的下载与安装

2.1 下载wireshark

访问wireshark的官方主页我们可以下载wireshark的安装文件,在这里我们既可以下载到最新的发布版本软件安装文件,也可以下载到以前发布的旧版本软件安装文件。

Wireshark支持多个操作系统,在下载安装文件的时候注意选择与自己PC的操作系统匹配的安装文件。下面的介绍我们都是以windows XP 系统为例。

2.2 安装wireshark

选择组件(Choose Components)

Wireshark——GUI网络分析工具

TSshark-TShark ——命令行的网络分析工具

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

● Dissector Plugins——分析插件:带有扩展分析的插件

● Tree Statistics Plugins——树状统计插件:统计工具扩展

● Mate - Meta Analysis and Tracing Engine (experimental)——可配置的显示过滤引擎。

● SNMP MIBs——SNMP,MIBS的详细分析。

Tools/工具(处理捕捉文件的附加命令行工具

● Editcap是一个读取捕捉文件的程序,还可以将一个捕捉文件力的部分或所有信息写入另一个捕捉文件。

● Tex2pcap是一个读取ASCII hex,写入数据到libpcap文件的程序。

● Mergecap是一个可以将多个捕捉文件合并为一个的程序。

● Capinfos是一个显示捕捉文件信息的程序。

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

选择附加任务(Select Additional Tasks)

● Start Menu Item——增加一些快捷方式到开始菜单

● Desktop Icon——增加Wireshark图标到桌面

● Quick Launch Icon——增加一个Wireshark图标到快速启动工具栏

● Associate File extensions to Wireshark-Wireshark——将捕捉包默认打开方式关联到Wireshark

选择安装目录(Choose Install Location)

安装路径默认为C盘,用户可以根据自己的需求更改默认安装路径。

安装WinPcap(Install WinPcap)

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

当一切都选择完成后,点击安装按钮等待完成安装即可。

3 用户界面

安装完成后,即可运行wireshark。打开wireshark后的抓包主界面如下图所示。Wireshark主窗口由如下部分组成:

● 菜单——用于开始操作。

● 主工具栏——提供快速访问菜单中经常用到的项目的功能。

● Fiter toolbar/过滤工具栏——提供处理当前显示过滤得方法。

● Packet List面板——显示打开文件的每个包的摘要。点击面板中的单独条目,包的其他情况将会显示在另外两个面板中。

● Packet detail面板——显示您在Packet list面板中选择的包的更多详情。

● Packet bytes面板——显示您在Packet list面板选择的包的数据,以及在Packet details面板高亮显示的字段。

● 状态栏——显示当前程序状态以及捕捉数据的更多详情。

3.1 菜单栏

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

● File ——包括打开、合并捕捉文件,save/保存,Print/打印,Export/导出捕捉文件的全部或部分。以及退出Wireshark项.

● Edit ——包括如下项目:查找包,时间参考,标记一个多个包,设置预设参数。(剪切,拷贝,粘贴不能立即执行。)

● View ——控制捕捉数据的显示方式,包括颜色,字体缩放,将包显示在分离的窗口,展开或收缩详情面版的地树状节点

● GO ——包含到指定包的功能。

● Capture——控制抓包的对话框,包括接口,选项,开始/停止/重新开始和过滤器。

● Analyze ——包含处理显示过滤,允许或禁止分析协议,配置用户指定解码和追踪TCP流等功能。

● Statistics ——包括的菜单项用户显示多个统计窗口,包括关于捕捉包的摘要,协议层次统计等等。

● Help ——包含一些辅助用户的参考内容。如访问一些基本的帮助文件,支持的协议列表,用户手册。

3.2 工具栏

——打开接口列表对话框

——打开捕捉选项对话框

——使用最后一次的捕捉设置立即开始捕捉

——停止当前捕捉

——停止当前捕捉并立即重新开始

——启动打开文件对话框,用于载入文件

——保存当前文件为任意其他的文件,它将会弹出一个保存对话框

● 注:如果当前文件是临时未保存文件,图标将会显示为

——关闭当前文件。如果未保存,将会提示是否保存

——重新载入当前文件

——打印捕捉文件的全部或部分,将会弹出一个打印对话框

——打开一个对话框,查找包

——返回历史记录的上一个

——跳转到历史记录中的下一个包

——弹出一个设置跳转到指定的包的对话框

——跳转到第一个包

——跳转到最后一个包

——切换是否以彩色方式显示包列表

——开启/关闭实时捕捉时自动滚动包列表

——增大字体

——缩小字体

——设置缩放大小为100%

——重置列宽,是内容适合列宽(使包列表内的文字可以显示)

——打开对话框,用于创建、编辑捕捉过滤器

——打开对话框,用于创建、编辑显示过滤器

——定义以彩色方式显示数据包的规则

——打开首选项对话框

——打开帮助对话框

3.3 过滤工具栏

点击Filter按钮会弹出display filter对话框

这个和在工具栏上输入协议来查找包的结果是一样的,只是它方便点

● New——增加一个新的过滤器到列表中。当前输入的Fiter name,Filter

string将会被使用并被保存,如果这些都为空,将会设置为“new”。

● Delete——删除选中的过滤器。如果没有过滤器被选中则为灰色

● Filter name——修改当前选择的过滤器的名称。注:过滤器名称仅用在此处为了区分方便而已,没有其他用处。可以将多个过滤器使用同一个名称,但这样很不方便。

● Filter string——修改当前选中过滤器的内容。仅适用显示过滤:在输入时进行语法检查。

● Add expression——仅适用显示过滤:打开增加表达式对话框,辅助创建过滤表达式。

● OK——仅适用显示过滤:应用当前显示选择的过滤器,关闭当前对话框。

● Apply——仅适用显示过滤:应用当前显示选择的过滤器。

● Cancel——放弃当前设置,关闭当前对话框。

点击Expression按钮,会出现Filter Expression对话框

● Field name——从协议字段书中选择协议字段。每个可过滤协议都放在第一级。点击“+”展开列表,可以获得关于那些协议的可过滤字段。

● Relation——从可以关系列表中选择关系。Is present是一元关系,如果选择的字段存在,表达式为真值。其它关系为二元关系,需附加数据来完成。如果从字段名列表选择一个字段,并选择一个二元关系,你可能需要输入值,也有可能是范围信息。

● Value——在此输入合适的配置值,输入的值同样要符合你选择的field

name的属性值类型。

● Predefined values——有些协议字段包含预设值可用,这点和C语言中的枚举变量类似。如果选择的协议有这样的值定义,你可以再次选择。

在工具栏上输

点击在此区域输入或修改显示的过滤字符,在输入过程中会进行语法检查。如果您输入的格式不正确,或者未输入完成,则背景显示为红色。直到您输入合法的表达式,背景会变为绿色。你可以点击下拉列表选择您先前键入的过滤字符。列表会一直保留,即使您重新启动程序。

3.4 封包列表

封包列表中显示所有已经捕获的封包。在这里您可以看到发送或接收方的MAC/IP地址,TCP/UDP端口号,协议或者封包的内容。如果捕获的是一个OSI

layer 2的封包,您在Source(来源)和Destination(目的地)列中看到的将是MAC地址,当然,此时Port(端口)列将会为空。

如果捕获的是一个OSI layer 3或者更高层的封包,您在Source(来源)和Destination(目的地)列中看到的将是IP地址。Port(端口)列仅会在这个封包属于第4或者更高层时才会显示。

您可以在这里添加/删除列或者改变各列的颜色:Edit menu ->

Preferences。

3.5 封包列表信息

这里显示的是在封包列表中被选中项目的详细信息。信息按照不同的OSI

layer进行了分组,您可以展开每个项目查看。

3.6 16进制数据

“解析器”在Wireshark中也被叫做“16进制数据查看面板”。这里显示的内容与“封包详细信息”中相同,只是改为以16进制的格式表述。

4 wireshark实时捕捉数据包

使用wireshark捕捉数据包可以使用下面几种方式:

● 使用

打开捕捉接口对话框,浏览可用的本地网络接口,选择需要进行捕捉的接口启动捕捉

● 使用"

捕捉选项"按钮启动对话框开始捕捉。

● 如果前次捕捉时的设置和现在的要求一样,可以点击"

开始捕捉"按钮或者是菜单项立即开始本次捕捉。

● 如果已经知道捕捉接口的名称,可以使用如下命令从命令行开始捕捉: wireshark -i eth0 –k 此命令会从eht0接口开始捕捉。

4.1 捕捉接口对话框

如果从捕捉菜单选择interface按钮(或者从主工具栏选择

),wireshark弹出Capture Interface/捕捉接口对话框。

这个对话框只显示本地已知的网络接口,wireshark可能无法检测到所有的本地接口,wireshark不能检测远程可用的网络接口,只能列出可用的网络接口。

● IP——wireshark能解析的第一个IP地址,如果接口未获得IP地址(如,不存在可用的DHCP服务器),将会显示”unkown”,如果有超过一个IP的,只显示第一个(无法确定显示哪一个)。

● Packets——打开该窗口后,从此接口捕捉到的包的数目。如果一直没有接收到包,则会显示为灰色。

● Packets/s——最近一秒捕捉包的数目。如果最近一秒没有捕捉到包,将会是灰色显示。

● Stop——停止当前包的捕捉。

● Capture——从选择的接口立即开始捕捉,使用最后一次捕捉的设置。

● Option——打开该接口的捕捉选项对话框。

● Details——打开对话框显示接口的详细信息。

● Close——关闭对话框。

4.2 捕捉选项对话框

如果从捕捉菜单选择start按钮(或者从主工具栏选择

),wireshark弹出Capture Option/捕捉选项对话框。

● Interface——指定想用于进行捕捉的接口,一次只能使用一个接口。

● IP address——选择接口的IP地址。如果系统未指定IP地址,将会显示为”unknown”。

● Link-layer header type——选择接口的工作层。

● Buffer size——输入用于捕捉的缓存大小。

● Capture packets inpromiscuous mode——指定wireshark捕捉包时,设置接口为杂收模式。如果未指定该选项,wireshark将只能捕捉进出你电脑的数据包(不能捕捉整个局域网段的包)。

● Limit each packet to n bytes——指定捕捉过程中每个包的最大字节数。如果机制该选项,默认值为65535。

● Capture filter——指定捕捉过滤。默认情况下是空的。

● File——指定用于捕捉的文件名。该字段默认为空白。如果保持空白,捕捉数据将会存储在临时文件夹。

● User multiple files——如果指定条件达到临界值,wireshark将会自动生成一个新文件,不适用于单独文件。

● Next file every nmegabyte(s)——仅适用于选中user multiple

files,如果捕捉文件容量达到指定值,将会切换到新文件。

● Next file every n minutes(s)——仅适用于选中user multiple

files,如果捕捉文件持续时间达到指定值,将会切换到新文件。

● Ring buffer with n files——仅适用于选中user multiple files,如果捕捉文件持续时间达到指定值,将会切换到新文件。

● Stop capture after n file(s)——仅适用于use multiple files,当生成指定数目文件时,在生成下一个文件时停止捕捉。

● After n packet(s)——在捕捉到指定数目数据包后停止捕捉。

● After n megabyte(s)——在捕捉到指定容量的数据(byte(s)/kilobyte(s)/megabyte(s)/gigabyte(s))后停止捕捉。如果没有适用”user multiple files”,该选项将是灰色。

● After n minute(s)——在达到指定时间后停止捕捉。

● Update list of packet in real time——在包列表面板实时更新捕捉数据。如果为选定该选项,在wireshark捕捉结束之前将不能显示数据。如果选中该选项,wireshark将生成两个独立的进程,通过捕捉进程传输数据给显示进程。

● Automatic scrolling in live capture——指定wireshark在有数据进入时实时滚动包列表面板,一直显示最新数据包。反之,则最新数据包会被放置在行末,但不会自动滚动面板。如果未设置”update list if packets in real

time”,该选项竟是灰色不可选的。

● Hide capture info dialog——隐藏捕捉信息对话框。

● Enable MAC name resolution——设置是否让wireshark翻译MAC地址为名称。

● Enable network name resolution——是否允许wireshark对网络地址进行解析。

进行完上述设置以后,点击Start按钮进行捕捉。

4.3 停止捕捉

运行中的捕捉线程可以用以下列方法停止:

1. 使用捕捉信息对话框上的

stop按钮停止。

2. 使用菜单项capture——

stop

3. 使用工具栏项

stop

4. 使用快捷键:Ctrl+E

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

4.4 重新启动捕捉

运行中的捕捉过程可以被重新启动,这将会移除上次捕捉的所有包。重新启动时一项方便的功能,类似于停止捕捉后,在很短的时间内立即开始捕捉。一下两种法师可以实现冲洗启动捕捉:

1. 使用菜单项"Capture/

Restart"

2. 使用工具栏"

Restart"

5. 文件输出与输入

5.1 抓包文件的保存

保存捕捉文件时可以通过File——Save As…菜单或选择住工具栏

保存捕捉文件。

通过对话框,可以执行如下操作:

1. 输入指定的文件名。

2. 选择保存的目录。

3. 选择保存包的范围。

4. 通过点击file type/文件类型下拉表指定保存文件的格式。

5. 点击Save/OK按钮保存。如果保存时遇到问题,会出现错误提示。

6. 点击Cancel按钮退出而不保存捕捉包。

wireshark捕捉的包可以保存为其原生格式文件(libpcap),也可以保存为其他格式供其他工具进行读取分析。

Wireshark可以保存为如下格式:

● Libpcap, tcpdump and various other tools using tcpdump’s

capture format (*.pcap, *.cap, *.dmp)

● Accellent 5Views (*.5vw)

● HP-UX’s nettle (*.TRCO, TRC1)

● Microsoft Network Monitor—NetMon (*.cap)

● Network Associates Sniffer—DOS (*.cap, *.enc, *trc, *.fdc,

*.syc)

● Network Associates Sniffer—Windows (*.cap)

● Network Instruments Observer version 9 (*.bfr)

● Novell LANalyzer(*.tr1)

● Sun snoop(*.snoop,*.cap)

● Visual Networks Visual UpTime traffic (*.*)

5.2 wireshark捕捉文件输入

Wireshark可以读取以前保存的文件,想读取这些文件,只需选择菜单或工具栏的:“File/

Open”。Wireshark将会弹出打开文件对话框。

常见对话框行为:

● 选择文件和目录

● 点击Open/OK按钮,选择你需要的文件并打开它

● 点击Cancel按钮返回wireshark主窗口而不载入任何文件

Wireshark对话框标准操作扩展

● 如果选中文件,可以查看文件预览信息(文件大小,包个数…)

● 通过“Display filter”对话框,显示字段指定显示过滤器。过滤器将会在打开文件后应用。在输入过滤字符时会进行语法检查。如果输入正确背景为绿色,如果错误或输入未结束,北京为红色。载入文件后,点击filter按钮会打开过滤对话框,用于辅助输入显示显示过滤表达式。

6 应用举例

上面介绍了wireshark软件的安装与使用方法,下面我们以捕捉本机PPLive网络电视流量为例说明一下wireshark的具体使用过程。

第一步:打开wireshark,会出现wireshark抓包开始界面。

第二步:点击

,弹出接口对话框

第三步:从接口对话框中可以看到有三个接口,第一个为本地网卡,另外两个为虚拟机。我们要抓取本急流量,所以选择本地网卡接口,点击对应的Start按钮,开始捕捉包。

第四步:打开PPLive网络电视,选择节目进行播放。可以看到wireshark抓包界面不断地更新封包列表。

第五步:点击

停止当前包的捕捉

第六步:点击

按钮保存当前捕捉包。选择保存文件的路径及文件名称,保存类型如果没有特殊需求选择libpcap(注:文件保存类型参考5.1),选择完成后点击保存即完成一个本地PPLive网络电视流量包的捕捉。

第七步:如果不想保存当前捕捉包,点击

按钮,会出现保存提示对话框,点击“Continue without Saving”按钮即关闭当前未保存包并回到wireshark抓包开始界面。

如果不想保存当前捕捉包并想立即开始新的捕捉,点击

按钮。