过滤表达式
常用关键字
eq、==、and、or、!、not
针对IP地址的过滤
- 源IP:ip.src == 192.168.0.1
 - 目的IP:ip.dst == 192.168.0.1
 - 源IP和目的IP:ip.addr == 192.168.0.1
 - 排除包:!(ip.addr == 192.168.0.1)
 
针对协议的过滤
- 捕获某种协议的数据包:arp
 - 排除某种协议的数据包:not arp 或 !arp
 
针对端口的过滤
- 捕获某一端口的数据包:
- tcp.dstport == 80
 - tcp.srcport == 80
 - tcp.port == 80
 - udp.port == 1500
 
 - 捕获多端口的数据包:udp.port >= 2048
 
针对MAC地址的过滤
- eth.dst == A0:00:00:04:C5:84
 - eth.src == A0:00:00:04:C5:84
 - eth.addr == A0:00:00:04:C5:84
 
针对包长度的过滤
- udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
 - tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
 - ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
 - frame.len == 119 整个数据包长度,从eth开始到最后
 - eth ---> ip or arp ---> tcp or udp ---> data
 
针对包内容的过滤
- udp[offset,n]:n表示截取的个数
 - udp[8:3] == 20:21:22 //偏移8个Bytes,再取3个数