如果用户想要查找满足某一条标准的数据包,可以使用Find对话框进行查找。这个对话框提供了很多高效的搜索方式,可以对已经抓取的文件或者软件当前正在执行的抓包操作进行搜索。用户可以选择Edit | Find packets,或者使用快捷键Ctrl + F来调用Find工具(见图2-15)。




wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_客户端



下面我们来介绍一下这个窗口中可以进行配置的选项。

Display filter:在抓取流量之后,如果用户只希望根据IP地址/端口号/协议来分析某些特定的数据包,可以在这里让系统只在列表面板中显示满足某个条件的数据包,比如:
ip.addr == 192.168.1.1(根据IP地址进行搜索)
port 8080(根据端口号进行搜索)
http(根据协议进行搜索)
Hex value:如果用户拥有自己想要查找的某个数据包的十六进制值,就可以选择这个单选框。用户在这里只需要输入用冒号隔开的物理地址,比如:
0A:C4:22:90:45:00
AA:BB:CC
String:用户可以在最后一个单选框中输入文本信息来进行检索。在这里,用户可以输入DNS服务器的名称、设备的名称,或者用户掌握的任何解析域名(输入整个字符串或者一个单词均可),比如:
Cisco;
一位管理员;
一台Web服务器;
Google。
Search In:管理员可以使用这个特性在某个面板中进行检索。比如,如果用户想要在bytes面板中寻找一个数据包,这个数据包匹配Google这个值(在数据包字节面板中匹配ASCII值),那就可以首先选择String选项,然后勾选Search In,选择Packet bytes。
String Options:要使用这个特性,用户需要先选择String选项,然后选择Casesensitive。接下来,用户可以根据自己的需求来选择字符的宽度(不过我的建议是,除非用户有明确的原因,否则不要修改这个参数)。
Direction:最后一个可选项可以修改搜索的方向;用户可以将其修改为向上搜索或者向下搜索。
一旦用户对这些可选项进行了自定义,就要输入文本信息然后点击Find。这可以让用户准确抓取到与自己标准相匹配的数据包。要在匹配的数据包中前后移动进行分析,可以使用快捷键Ctrl + N(移动到下一个数据包)和Ctrl + B(移动到之前一个数据包)。

给流量标记颜色
为了提升用户分析流量的体验,Wireshark提供了一种特性,让用户可以给某种他们希望重点显示的流量标记颜色。给流量标记颜色的目的在于区分不同类型的流量。用一种不同的规则来给某种类型的流量标记出与默认规则不同的颜色,这件事的难度不容小觑。

大多数协议的默认配置文件都是已经创建好的,所以我们在数据包列表面板中看到的流量本身就是用不同颜色标记出来的,用户可以选择View | Edit或者在主工具栏中点击Edit coloring rules按钮打开图2-16所示的窗口。


wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_运维_02



在这个对话框中,我们可以看到所有全局配置文件中保存的给流量标记前景颜色和背景颜色的规则。数据包列表面板中显示的所有数据包都会遵循相同的规则,这可以让用户获得独一无二且与众不同的使用体验。

我们来使用一下这个特性,用我们自己指定的颜色来标记一下http error数据包。比如说,我用自己的一台设备搭建了一台Web服务器,让客户端来访问这台设备上文件。现在,我的网络中有一台客户端正在尝试访问目录清单并获取HTTP 4.0错误消息。这些错误消息会在我们的数据包列表面板中弹出来,但这些消息也会采用与http标记颜色相同的规则显示,这会让这些错误消息对于网络分析人员来说不那么明显。为了让这些错误消息更加明显,我希望以black(黑色)作为背景色,以cyan(青色)作为前景色对HTTP 404错误消息进行标色。按照下面的步骤可以达到相同的效果。

1.我配置了一台Linux设备,这台设备的地址为172.16.136.129,而我的Mac OS运行的地址为172.16.136.1,这台设备在网络中负责充当Linux设备的Web服务器,详见图2-17。


wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_运维_03



Linux访问的Web服务器所发送的常规流量看起来如图2-18所示。


wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_wireshark字段正则匹配_04



2.既然所有设备都已经启动并且开始运行了,我们可以从Linux上手动访问目录清单,结果是接收到了HTTP 404错误消息。


wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_搜索_05



Wireshark抓取到了通过该请求生成的流量,详见图2-19。


wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_运维_06



我们可以在之前抓取到的流量中看到,客户端请求了abc.jpg这个资源,这个资源是不存在的;所以,客户端接收到了一条404 Not found错误消息。

3.我们之所以能够轻松找出问题,原因是只有一台客户端请求了某一个资源。试想在一个拥有成千上万台客户端的现网中出现了这样的问题又会是一种怎样的情形。在这样的情况下,对不同数据包用不同的规则来标记颜色,这会成为具有决定性意义的关键因素。

4.找到Edit Coloring Rules | New。在Name文本框中输入HTTP 404。在String文本框中输入http.response.code==404。将Foreground Color(前景颜色)设置为Cyan(青色),将Background Color(背景颜色)设置为Black(黑色)。然后点击OK,之后选择Apply | OK。


wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_客户端_07



5.在点击Apply之后,我们就会看到Wireshark只会将HTTP 404错误数据包按照我们新设置的标色规则来标记颜色(见图2-20)。


wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_运维_08



自己建立一个虚拟环境对上面的设置方法进行试验可以加深读者对这部分内容的理解。

Wireshark会按照自顶向下的顺序校验Edit Coloring Rules对话框中显示的标色规则。对于每个数据包来说,都有一个相关的标色规则信息。这个信息会显示在Frame区域下面的数据包详细信息面板(Packet Details Pane)上。通过图2-21也可以观察到相同的信息。


wireshark字段正则匹配 wireshark怎么搜索匹配数据字段_客户端_09