wireshark 显示过滤器表达式是根据协议+.+属性来判断的。
基础使用的官方文档
全部的协议属性列表见官方文档
各种协议的wiki 地址
过滤器表达式基本语法
| english | c-like | desc |
|---|---|---|
| eq | == | ip.src=10.0.0.5 |
| ne | != | ip.src!=10.0.0.5 |
| gt | > | frame.len>10 |
| lt | < | frame.len<10 |
| ge | >= | frame.len>=10 |
| le | <= | frame.len<=10 |
| contains | sip.TO contains "a123" | |
| matches | ~ | 使用正则,http.host matches "acme.(org|com)" |
| bitewire_and | & | 二进制 and 运算结果不为 0, tcp.flags & 0x02 |
数字值可以使用十进制、八进制、十六进制
1 | ip.len le 1500 |
布尔类型的值可以使用1(true),0(false)
网络地址可以使用:,.,-分割
1 | == ff:ff:ff:ff:ff:ff |
可以比较字符串
1 | == "https://www.wireshark.org/" |
过滤器表达式组合语法
| english | c-like | desc |
|---|---|---|
| and | && | ip.src==10.0.0.5 and tcp.flags.fin |
| or | || | ip.src==10.0.0.5 or ip.src=10.0.0.6 |
| xor | ^^ | tr.src==10.0.0.5 xor tr.dst==10.0.0.5 |
| not | ! | not tcp |
| [...] | 子序列比较 | |
| in | 是否在集合中 |
一些示例
1 | eth.src[0:3] == 00:00:83 |