对于我们个人用户,显示过滤器相比捕获过滤器要更为常用。显示过滤器主要适用于单机环境流量不大的情况。对于攻击者而言,往往不知道需要什么样的数据包,只能在抓包审计之后再确定,因而也通常选用显示过滤器。

当停止捕获数据之后,在数据包列表上面的过滤框中输入过滤表达式,就可以只显示我们需要的数据包。比如输入表达式“http”,就只显示采用http协议的数据包,点击过滤框右侧的×,可以去掉过滤规则,重新显示所有数据包。

 

wireshark常用显示过滤器 wireshark应用显示过滤器_IP

 

 (1)语法规则

显示过滤器的语法规则:

 

wireshark常用显示过滤器 wireshark应用显示过滤器_语法规则_02

 

 在显示过滤器所采用的过滤表达式中,经常要用到各种比较运算符,主要有:

wireshark常用显示过滤器 wireshark应用显示过滤器_语法规则_03

 

 

应用示例:

ip.addr == 192.168.0.1 //筛选出含有IP地址192.168.0.1的包

ip.src == 192.168.0.1 //筛选出源地址为192.168.0.1的包

ip.dst == 192.168.0.1 //筛选出目的地址为192.168.0.1的包

frame.len<=128 //只显示长度小于128字节的包

tcp.port == 80 //只显示含有80端口的包

tcp.dstport == 25 //只显示目的TCP端口号为25的包

tcp.port > 1024 //只显示端口号大于1024的包

 

显示过滤器中的逻辑运算符:

wireshark常用显示过滤器 wireshark应用显示过滤器_wireshark常用显示过滤器_04

 

 

应用示例:

http //只显示采用http协议的包

http or arp //只显示采用http或arp协议的包

snmp || dns || icmp //显示采用SNMP或DNS或ICMP协议的包

not arp //不显示采用arp协议的包

!tcp //不显示采用tcp协议的包

!(ip.addr == 192.168.0.1) //排除含有IP地址192.168.0.1的包

 

注意,如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,则说明表达式有误。

(2)自动添加过滤表达式

有些过滤表达式的写法是比较复杂的,下面介绍一种相对简单的方法,可以自动添加过滤表达式。

首先清除之前的过滤结果,显示完整的数据包。

然后选择一条我们希望在过滤后能保留下来的数据包,比如要过滤出所有HTTP协议中以POST方式发送的数据包,我们先手动找到这样的一个数据包,比如在第3个包的Info中出现了POST信息。

 

wireshark常用显示过滤器 wireshark应用显示过滤器_端口号_05

 

 

选定3号包,查看该数据包的详细信息。在应用层Hypertext Transfer Protocol中的POST部分再次展开后可以看到Request Method:POST。

 

wireshark常用显示过滤器 wireshark应用显示过滤器_语法规则_06

 

 

在Request Method:POST上点击右键,选择“作为过滤器应用/选中”。

 

wireshark常用显示过滤器 wireshark应用显示过滤器_语法规则_07

 

 

此时就可以发现,过滤器中已经填写上了对应的过滤规则。同时显示也变成了对应的过滤规则下的数据包。

 

wireshark常用显示过滤器 wireshark应用显示过滤器_语法规则_08

 

 

如果我们想要找方法为GET的包,直接将POST改成GET即可。

使用这种方式,难度在于需要事先找到一条含有自己想要的过滤信息的数据包。相比较而言这种方式更加适于初学者,简单易行,而且时间久了,会慢慢的熟悉常见的过滤语句,直到最终直接输入。

(3)保存过滤后的数据包

我们可以将过滤后的数据包保存下来以备以后随时使用,比如我们要保存http.request.method == "POST"的数据包,在文件菜单中选择“导出特定分组”。

 

wireshark常用显示过滤器 wireshark应用显示过滤器_端口号_09

选择之后,可以看到保存的方式有多种。可以保存所有的数据包(Captured),也可以只保存过滤后的数据包(Displayed)。下方的数据显示,在所有的344条数据包中,有62条为满足我们过滤条件的数据包。一般情况下都是选择Displayed。

wireshark常用显示过滤器 wireshark应用显示过滤器_语法规则_10