语法说明
wireshark 的捕获过滤器使用的是 Berkeley packet filter(BNF) 语法。使用 BNF 语法创建的过滤器被称为表达式,并且每个表达式包含一个过多个原语。每个原语包含一个或多个限定词,然后跟着一个 ID 名字或数字。
BNF 限定词
限定词 | 说明 | 例子 |
---|---|---|
Type | 指出名字或数字所代表的意义 | host, net, port |
Dir | 传输方向 | src, dst |
Proto | 指定所要匹配的协议 | ether, ip, tcp, udp, http, ftp |
可以用下列逻辑运算符连接表达式。
运算符 | 说明 |
---|---|
&& | 并且 |
|| | 或 |
! | 非 |
示例
主机名和地址过滤器
host 192.168.8.7 # ipv4
host 1050:0000:0000:0000:0005:0600:300c:326b # ipv6
host myserver # hostname
ether host 18:65:90:dc:b9:1d # mac address
src host 192.168.8.7 # from 192.168.8.7
dst host 192.168.8.7 # to 192.168.8.7
端口
port 8000
dst port 8000
协议过滤器
icmp
!ip6
协议域过滤器
icmp[0]==3
icmp[0:2]==0x0301
tcp[13]&4==4 # 第 13 字节第 4 位