当编译并安装好Wireshark后,就可以执行“Wireshark”命令来启动Wireshark。在用Wireshark截获数据包之前,应该为其设置相应的过滤规则,可以只捕获感兴趣的数据包。Wireshark使用与Tcpdump相似的过滤规则,并且可以很方便地存储已经设置好的过滤规则。
◆Wireshark主窗口有很多的GUI程序组成。
(1) File(文件):这个菜单包含:打开文件、合并文件、保存/打印/导出整个或部分捕获文件、退出。
(2) Edit(编辑)这个菜单包括:查找包、时间参照、标记一个或多个包、设置参数、(剪切、复制、粘贴)。
(3) View(查看):这个菜单控制捕获数据的显示,包括:给定特定的一类包标以不同的颜色、字体缩放、在一个新窗口中显示一个包、展开&折叠详细信息面板的树状结构。
(4) Go:这个菜单实现转到一个特定包。.
(5) apture(捕获):这个菜单实现开始、停止捕获,编辑捕获过滤条件的功能。
(6) Analyze(分析):这个菜单包含编辑显示过滤、enable(开)或disable(关)协议解码器、配置用户指定的解码方法、追踪一个TCP 流。
(7) Statistics(统计):该菜单完成统计功能。包括捕获的包的一个摘要、基于协议的包的数量等树状统计图等许多功
(8) Help(帮助)这个菜单包含了一些对用户有用的信息。比如基本帮助、支持的协议列表、手册页、在线访问到网站等等。
◆ Wireshark界面结构
该工具提供一个强健的GUI界面,用来整理网络数据的捕获以及随后的网络通信浏览。主窗口包括一组菜单项,界面结构如图1。许多菜单从名字上看一目了然,这里不再阐述。第一个面板包含所有捕获报文的摘要。该面板包含报文号、时间戳、源、目的、协议以及信息域。这些域是可定制的,并且用户可删掉或加入其他的报文字段信息。
498)this.style.width=498;">
图 3 Wireshark界面结构
图注:
1. 控制面板和主菜单;
2. 报文摘要窗口;
3. 过滤器。
4. 报文细节窗口;
◆设置Wireshark的过滤规则
在用Wireshark截获数据包之前,应该为其设置相应的过滤规则,可以只捕获感兴趣的数据包。Wireshark使用与Tcpdump相似的过滤规则,并且可以很方便地存储已经设置好的过滤规则。要为Wireshark配置过滤规则,首先单击“Capture”选单,然后选择“Capture Filters...”菜单项,打开“Wireshark :Capture Filter”对话框。因为此时还没有添加任何过滤规则,因而该对话框右侧的列表框是空的(如图2所示)。在Wireshark中添加过滤器时,需要为该过滤器指定名字及规则。
498)this.style.width=498;">
图 4 为Wireshark添加一个过滤器
例如,要在主机192.168.0.3和192.168.0.11间创建过滤器,可以在“Filter name”编辑框内输入过滤器名字“cjh”,在“Filter string”编辑框内输入过滤规则“host 192.168.0.3 and 192.168.0.11”,然后单击“新建”按钮即可。
在Wireshark中使用的过滤规则和Tcpdump几乎完全一致,这是因为两者都基于pcap库的缘故。Wireshark能够同时维护很多个过滤器。网络管理员可以根据实际需要选用不同的过滤器,这在很多情况下是非常有用的。例如,一个过滤器可能用于截获两个主机间的数据包,而另一个则可能用于截获ICMP包来诊断网络故障。单击“保存”按钮,会到对话框。单击“关闭”按钮完成设置。
1. 指定过滤器
要将过滤器应用于嗅探过程,需要在截获数据包之前或之后指定过滤器。要为嗅探过程指定过滤器,并开始截获数据包,可以单击“Capture”选单,选择“Start...”选单项,打开“iterface”对话框,单击该对话框中的“Filter:”按钮,然后选择要使用的网络接口,如图5所示。
498)this.style.width=498;">
图 5 为Wireshark指定网络接口
l注意:在“Capture Options”对话框中,“Update list of packets in real time”复选框被选中了。这样可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。
在选择了所需要的过滤器后,单击“确定”按钮,整个嗅探过程就开始了。Wireshark可以实时显示截获的数据包,因此能够帮助网络管理员及时了解网络的运行状况,从而使其对网络性能和流量能有一个比较准确的把握。如图6 。
498)this.style.width=498;">
图 6 Wireshark实时显示截获的数据包
Capture Options其他选项:
Interface(接口)
这个字段指定在哪个接口进行捕获。这是一个下拉字段,只能从中选择Wireshark 识别出来的接口,默认是第一块支持捕获的非loopback 接口卡。如果没有接口卡,那么第一个默认就是第一块loopback 接口卡。在某些系统中,loopback 接口卡不能用来捕获(loopback 接口卡在Windows平台是不可用的)。
lIP address(IP 地址)
所选接口卡的IP 地址。如果不能解析出IP 地址,则显示"unknown"
lLink-layer header type(链路层头类型)
除非你在极个别的情况下可能用到这个字段,大多数情况下保持默认值。具体的描述,见”
lBuffer size: n megabyte(s) (缓冲区大小:n 兆)
输入捕获时使用的buffer 的大小。这是核心buffer 的大小,捕获的数据首先保存在这里,直到写入磁盘。如果遇到包丢失的情况,增加这个值可能解决问题。
lCapture packets in promiscuous mode (在混杂模式捕获包)
这个选项允许设置是否将网卡设置在混杂模式。如果不指定,Wireshark 仅仅捕获那些进入你的计算机的或送出你的计算机的包。(而不是LAN 网段上的所有包).
lLimit each packet to n bytes (限制每一个包为n 字节)
这个字段设置每一个数据包的最大捕获的数据量。有时称作snaplen 。如果disable 这个选项默认是65535, 对于大多数协议来讲中够了。
lCapture Filter(捕获过滤)
这个字段指定一个捕获过滤。 “在捕获时进行过滤”部分进行讨论。默认是空的,即没过过滤。也可以点击标为Capture Filter 的按钮, Wireshark 将弹出Capture Filters(捕获过滤)对话框,来建立或者选择一个过滤。