Wireshark过滤器语法设置
1. 抓包过滤器
BPF语法(Berkeley Packet Filter)——基于libpcap/wincap库,在抓包的过程中过滤掉某些类型的协议,不抓取过滤掉的协议。(建议在流量特别大的情况下使用)
1.1 语法说明
- 类型Type: host、net、port
- 方向Dir: src、dst
- 协议Proto: ether、ip、tcp、udp、http、ftp
- 逻辑运算符: &&与、||或、!非
1.2 例子
- src host 192.168.1.1 && dst port 80 抓取源地址为192.168.1.1,目的端口为80的流量
- host 192.168.1.1 || host 192.168.1.2 抓取192.168.1.1和192.168.1.2的流量
- !broadcast 不要抓广播包
过滤MAC地址案例
- ether host 00:88:ca:86:f8:od
- ether src host 00:88:ca:86:f8:od
- ether dst host 00:88:ca:86:f8:od
过滤IP地址案例
- host 192.168.1.1
- src host 192.168.1.1
- dst host 192.168.1.1
过滤端口案例
- port 80
- ! port 80
- dst port 80
- src port 80
过滤协议案例
- arp
- icmp
综合过滤案例
- host 192.168.1.1 && port 8080
2. 显示过滤器
抓包过程中抓取所有的协议,但是在显示时对过滤掉的某些协议不予显示。(在流量不大的情况下建议使用 )
2.1 语法说明
比较操作符
==、!=、<、>、>=、=
逻辑操作符
and、or、not(没有条件满足)、xor(有且仅有一个条件满足)
IP地址
ip.addr、ip.src、ip.dst
端口过滤
tcp.port、tcp.srcport、tcp.dstport、tcp.flag.syn、tcp.flag.ack
协议过滤
arp、ip、icmp、udp、tcp、bootp、dns
2.2 示例
过滤IP地址案例
- ip.addr == 192.168.1.1
- ip.src == 192.168.1.1
- ip.dst == 192.168.1.1
过滤端口案例
- tcp.port == 80
- tcp.srcport == 80
- tcp.dstport == 80
- tcp.flags.syn == 1
过滤协议案例
- tcp
- not http
- not arp
综合过滤案例
- ip.src == 192.168.1.100 and udp.port == 4000
时间: 2024-10-12 12:27:46