Wireshark 的两种过滤器
- 捕捉过滤器
刚开始进入wireshark的时候设置的过滤器,在抓包之前进行设置,在抓取时,就不会抓取不符合文件的数据包。
是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。

- 进入后wireshark的显示过滤器,在捕捉结果中进行详细查找,他们可以在得到捕捉结果后随意修改。
是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。

两个不同的过滤器,过滤写法也会不一样。捕获过滤器(如tcp端口80)不应该与显示过滤器(如tcp.port == 80)相混淆。捕获过滤器的限制更多,用于减少原始数据包捕获的大小。显示过滤器用于隐藏一些数据包。先了解wireshark的显示过滤器写法。
先说捕捉过滤器
捕捉过滤器语法

-
Protocol(协议): 可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. 如果没有特别指明是什么协议,则++默认使用所有支持的协议++。
-
Direction(方向): 可能的值: src, dst, src and dst, src or dst 如果没有特别指明来源或目的地,则默认使用
src or dst作为关键字。 例如,host 10.2.2.2与src or dst host 10.2.2.2是一样的。 -
Host(s): 可能的值:net, port, host, portrange. 如果没有指定此值,则默认使用
host关键字。 例如,src 10.1.1.1与src host 10.1.1.1相同。 -
Logical Operations(逻辑运算): 可能的值:not, and, or. 否("not")具有最高的优先级。或("or")和与("and")具有相同的优先级,运算时从左至右进行。 例如,
not tcp port 3128 and tcp port23与(not tcp port 3128) and tcp port 23相同。not tcp port 3128 and tcp port23与not (tcp port 3128 and tcp port 23)不同。
使用例子:
基于类型过滤
Wireshark可以基于类型进行捕获过滤。其中可能使用的类型有主机host,网段net,端口port,端口范围portrange和特殊类型。
1. 主机host
语法格式: host host 解析:第一个host表示过滤器类型为host:第二个host表示主机地址,可以是ipv4或Ipv6地址。 例:捕获主机192.168.1.1 的数据包。
host 192.168.1.1
2. 网段net
net用来指定捕获那个网段的数据包,其中网络类型的过滤器有三种形式。
- net net
net 192.168.1.0 //对应掩码 255.255.255.255
net 192.168.1 //对应掩码 255.255.255.0
net 192.168 //对应掩码 255.255.0.0
net 192 //对应掩码255.0.0.0
- net mask
net 192.168.1.0 mask 255.255.255.0
- net CIDR
net 192.168.1.0/24
3. 端口port
语法格式: port port
port 53
4. 端口范围
语法:portrange port1-port2
portrange 1-100
5. 特殊类型
gateway host
基于传输方向的过滤
1. 源src
可以在host,net,port,portrange类型前面加上src
src host host //仅捕获地址为指定主机的数据包
src net net //仅捕获源地址为指定网段的数据包
src port port //仅捕获源端口为指定端口的数据包
src portrange port1-port2 //仅捕获端口范围为指定端口范围的数据包
2. 目标dst
dst host host //仅捕获目标地址为指定主机的数据包
dst net net //仅捕获目标地址为指定网段的数据包
dst port port //仅捕获目标端口为指定端口的数据包
dst portrange port1-port2 //仅捕获目标端口范围为指定端口范围的数据包
3. 源或者目标
src or dst host
src or dst net
src or dst port
src or dst portrange port1-port2
4. 源和目标
src and dst host
src and dst net
src and dst port
src and dst portrange port1-port2
5. 特殊方向
除了上述还有两种特殊方向捕获过滤器,分别是: 广播:broadcast 多播:multicast
ether broadcast //捕获以太网广播流量
ip broadcast //捕获ip广播流量
ether multicast //捕获以太网多播流量
基于数据过滤
1. 长度过滤
可以使用 less ,greater关键字
less 100 也可写成 len <=100
greater 100 也可写成 len>=100
2. 基于内容过滤
语法格式: proto[expr:size] relop express 参数解析:
- proto:支持的协议,有ether,fddi,tr,wlan,ppp,slip,link,ip,arp,rarp,tcp,udp,icmp,ip6或radio
- expr :指定协议的偏移地址
- size:指定数据长度其中,单位bit
- relop:指定使用的运算符,关系运算符有,>,<,>=,<=.=,!=,二进制运算符有,+,-,*,/,%,&,|,^,<<,>>
使用多个捕获过滤器
通过结合逻辑运算符可以同时使用多个捕获过滤器。 有: not (!) ,and(&&),or(||) ,
例如:捕获主机192.168.1.100,而且tcp端口为80的数据包
host 192.168.1.100 and tcp port 80
注意: not(!) 具有最高优先级,and(&&)和 or(||)优先级相等。
评论