过滤规则(Capture Filter)
一、过滤规则共有两种形式
一种是原语(Primitive)
一种是用 ”and”, “or”, “not” 关系运算符,以及括号”()”将原语组合起来而构成的表达式
二、IP过滤
1.捕获所有源或目的IP地址是 ”210.30.97.53”的报文
ip.addr==172.22.16.16
2.捕获所有目的IP地址是 ”2172.22.16.16”的报文
ip.dst==172.22.16.16
3.其他
!(ip.addr==172.22.16.16)
ip.src==172.22.16.16,表示源地址为172.22.16.16
ip.dst==172.22.16.16,表示目标地址为172.22.16.16
ip.src eq 172.22.16.16 显示来源IP
ip.dst eq 172.22.16.16 显示目标IP
三、端口过滤
1.捕获所有源或目的端口号是53的TCP协议的包
tcp.port==53 只捕获DNS数据
tcp.port==80 捕获网络web浏览的所有报文
2.捕获所有目的端口号是1812的UDP协议的包
udp.dstport==1812
3.过滤端口范围
tcp.port >= 1 and tcp.port <= 80
3.其他
tcp.dstport==80
udp.srcport==1812
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包
四、协议过滤
语法:arp | ip | icmp | udp | tcp | udp | http | smtp| ftp| dns| msnms | ssl
1.捕获所有ARP协议的包
arp
五、包长度过滤
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后
六、http模式过滤
http.request.method == "GET"
http.request.method == "POST"
http.request.uri == "/img/logo-edu.gif"
http contains "GET"
http contains "HTTP/1."
// GET包
http.request.method == "GET" && http contains "Host: "
http.request.method == "GET" && http contains "User-Agent: "
// POST包
http.request.method == "POST" && http contains "Host: "
http.request.method == "POST" && http contains "User-Agent: "
// 响应包
http contains "HTTP/1.1 200 OK" && http contains "Content-Type: "
http contains "HTTP/1.0 200 OK" && http contains "Content-Type: "
七、连接符
and or not
八、表达式
九、MAC地址过滤
1.目标MAC地址是00:18:8b:8f:ed:7b的数据包
eth.dst eq 00:18:8b:8f:ed:7b
2.其他
eth.src eq 00:18:8b:8f:ed:7b
eth.addr eq 00:18:8b:8f:ed:7b