1、过滤器语法格式
<Protocol> <Direction> <Host> <Value> <Logical Operation> <other expression> #<>代表可选,为空时使用默认值 #Protocol协议:可用值有eth、vlan、ip、arp、tcp、udp、arp、icmp、http、ftp等,默认所有的协议。 #Direction方向:可用值有src、dst、sre and dst、src or dst(默认)。 #Host: 可用值有host(主机)、net(网段)、port(端口)、portrange(端口范围)。 #Logical Operations逻辑运算:可用值有:and(&&)、or(||)、not(!),其中not优先级最高。 Other expression其他表达式:使用其他表达式捕获过滤器。 #参数 expr:指定协议的偏移地址 size:指定数据长度其中,单位bit relop:指定使用的运算符 关系运算符有:==(eq)、!=(ne)、>(gt)、>=(ge)、<(lt)、<=(le) 二进制运算符有:+、-、*、/、%、&、|、^、<<、>>
2、常用过滤举例
#过滤MAC eth.addr == 80:f6:2e:ce:3f:00 //过滤目标或源地址 eth.src == 80:f6:2e:ce:3f:00 //过滤源地址 eth.dst == 80:f6:2e:ce:3f:00 //过滤目标地址 #过滤VLAN vlan.id == 2594 #过滤IP ip.addr == 192.168.0.208 //过滤目标或源地址 ip.src == 192.168.0.208 //源地址过滤 ip.dst == 192.168.0.208 //目标地址过滤 #端口过滤 tcp.port == 80 //过滤目标或源端口 tcp.dstport == 80 //过滤tcp协议的目标端口 tcp.srcport == 80 //过滤tcp协议的来源端口 tcp.port >= 1 and tcp.port <= 80 //过滤端口范围 #包长度过滤 udp.length == 26 //指udp本身固定长度8加上udp下面数据包之和 tcp.len >= 7 //指tcp下面那块数据长度,不包括tcp本身 ip.len == 94 //指以太网头固定长度14加上下面的数据之和 frame.len == 119 //整个数据包长度,从eth开始到最后 #http过滤 !ssl 或 not ssl //排除ssl包 http.request.method == “GET” //GET包 http.request.method == “POST” //POST”包 http.request.uri == “/img/logo-edu.gif” //url过滤 http contains “HTTP/1.” #主机过滤 host 10.3.1.1 //抓取发到/来自10.3.1.1的数据流 not host 10.3.1.1 //抓取除了发到/来自该IP以外的所有数据流 src host 10.3.1.1 //抓取来自10.3.1.1的数据流 dst host 10.3.1.1 //抓取发到10.3.1.1的数据流 host 10.3.1.1 or 10.3.1.2 host www.espn.com //发到/来自所有解析为www.espn.com的数据流 #网段过滤 net 10.3.0.0/16 //抓取指定网段数据流 net 10.3.0.0 mask 255.255.0.0 //与之前的过滤结果相同 ip6 net 2406:da00:ff00::/64 //抓取IPv6网段的数据流 not dst net 10.3.0.0/16 //抓取除了发到以10.3开头的IP地址以外的所有数据流 not src net 10.3.0.0/16 //抓取除了来自以10.3开头的IP地址以外的所有数据流 #广播多播 ip broadcast //抓取广播报文 ip multicast //抓取多播报文 ether dst ff:ff:ff:ff:ff:ff //抓取广播报文 ether multicast //抓取多播报文
转载请注明:零五宝典 » Wireshark过滤语法规则及常用过滤举例