一、简介
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
二、主窗口
由上往下三个面板依次是:
- ** Packet List(数据包列表):**最上面的面板用表格显示了当前捕获文件中的所有数据包,其中包括了数据包序号、数据包被捕获的相对时间、数据包的源地址和目的地址、数据包的协议以及在数据包中找到的概况信息等列。
当文中提到流量是,通常是指Packet List面板中所有呈现出来的数据包,而当特别提到DNS流量时,指的是Packet List面板中DNS协议的数据包。
** Packet Details(数据包细节):**中间的面板分层次的显示了一个数据包中的内容,并且可以通过展开或是收缩来显示这个数据包中所捕获到的全部内容。
** Packet Bytes(数据包字节): **最下面的面板可能是最令人困惑的,因为它显示了一个数据包未经处理的原始样子,也就是其在链路上传播时的样子。
三、首选项和色彩高亮
首选项在Preference面板进行设置
每个数据包的颜色都是有讲究的,这些颜色对应着数据包使用的协议。
eg. DNS流量都是蓝色的,HTTP流量都是绿色的。当然,可以通过Coloring Rules(着色规则)窗口进行设置。
四、使用捕获的文件
保存和导出
可以选择文件格式和范围。合并
五、分析数据包
查找
Ctrl + F / Commond + F标记
Ctrl + M / Commond + M
在找到那些符合搜索条件的数据包之后,可以根据需要进行标记。打印
五、设定时间显示格式和相对参考
时间在数据包分析中格外重要。所有在网络上发生的事情都是与时间息息相关的,并且你几乎要在每一个捕获文件中检查时间规律以及网络延时。
- 时间显示格式
WireShark可显示这个数据被捕获时的绝对时间戳,也可以显示与上一个被捕获的数据包伙食铺货开始及结束的相对时间戳。
配置:视图 -> 时间显示格式
- 数据包的相对时间参考
数据包的相对时间参考,可以让你以一个数据包作为基准,而之后的数据包都一次为计算相对时间戳。
配置:Packet List面板中选择作为相对参考的数据包,在主菜单中选择Edit -> Set Time Reference。
六、设定捕获选项
- 捕获设定
- 捕获文件设计
- 停止捕获选项
- 显示选项
- 名字解析选项
七、使用过滤器
过滤器可以让你找出所希望进行分析的数据包。
捕获过滤器:在进行数据包捕获时,只有那些满足给定的包含/排除表达式的数据包会被捕获。
显示过滤器:该过滤器根据指定的表达式用于在一个已捕获的数据包集合中,隐藏不想显示的数据包,或者只显示那些需要的数据包。
- ** 捕获过滤器 **
用于进行数据包捕获的实际场合,使用它的一个主要原因就是性能。如果你知道并不需要分析某个类型的流量,可以简单的使用捕获过滤器过滤掉它,从而节省那些会被用来捕获这些数据包的处理器资源。
当处理大量数据时,创建自定义的捕获过滤器是相当好用的。
例如在一台有多个角色的服务器上捕获流量时,假设正在解决一个运行于262端口的网络服务问题,那么可通过捕获过滤器只显示出262端口的出站和入站流量。
- 捕获过滤器的BPF语法
- 主机名和地址过滤器
- 端口和协议过滤器
- 协议过滤器
- 协议域过滤器
以上详见《WireShark数据包分析实战》P63 -- P68
- ** 显示过滤器 **
显示过滤器比捕获过滤器更加常用因为他可以让你对数据包进行锅具,而却不省略掉捕获文件中的其他数据,即暂时过滤掉,而不删除。
语法:详见《WireShark数据包分析实战》P69 -- P72