1、几种条件操作符
== eq 等于 ip.addr == 192.168.0.1 ip.addr eq 192.168.0.1
!= ne 不等于 !ip.addr==192.168.0.1 ip.addr!= 192.168.0.1 ip.addr ne 192.168.0.1
> gt 大于 frame.len>64 frame.len gt 64
< lt 小于 frame.len<1500 frame.len le 1500
>= ge 不大于 frame.len >= 64
<= le 不小于 frame.len <= 1500
is present 符合某项参数,满足某个条件,或者出现某个现象 http.response
contains 包含某个字符串 http.host contains cisco
match 某串字符匹配某个条件 http.host matches www.cicso.com
逻辑关系操作符
&& and 逻辑与 ip.src==10.0.0.1 and tcp.flags.syn=1
|| or 逻辑或 ip.addr==10.0.0.1 or ip.addr==10.0.0.2
! not 逻辑非 not arp and not icmp 除了arp和icmp之外的包
ip.addr != 192.168.0.1 这样的表达式语法正确但是并不起作用,原因是每个IP数据包必定包含两个IP地址,wireshark执行上边的过滤功能时,只要发现源和目的IP有一不为192.168.0.1,就会判定条件为真,正确的应该是 !(ip.addr eq 192.168.0.1)
2、第二层过滤器
eth.addr eq <mac-address> #显示指定mac地址的数据帧
eth.src eq <mac-address> #显示指定源mac地址的数据帧
eth.dst eq <mac-address> #显示指定目的mac地址的数据帧
arp.opcode eq <value> #只显示特定类型的arp帧,arp按其所含代码字段值,可分为arp应答帧,响应帧,rarp应答,响应帧 1=arp请求 2=arp应答 3=rarp请求 4=rarp应答
arp.src.hw_mac eq <mac address> #显示指定mac地址的主机发出的arp帧
eth.type eq <Ethernet type> (十六进制数,格式为0xnnnn) #只显示特定以太网类型的流量,如下图,可以看到以太网类型为0x8100,过滤条件就写eth.type == 0x8100,注意不能写Protocol类型的0xb62c,用0xb62c过滤不了。
3、第三层过滤器
ip.addr eq <ip-adress> #显示指定ip地址的数据帧
ip.src eq <ip-adress> #显示指定源ip地址的数据帧
ip.dst eq <ip-adress> #显示指定目的ip地址的数据帧
ip.len = value #只显示指定长度的IP数据包
4、第四层过滤器
tcp.port eq
tcp.src/dst port
tcp.analysis.retransmission #显示重传的数据包
tcp.analysis.duplicate_ack #显示确认多次的tcp数据包