过滤表达式
常用关键字
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个数