wireshark过滤器有两种:捕获过滤器、显示过滤器
捕获过滤器:减少捕获的报文大小
显示过滤器:对捕获的报文进行过滤显示
捕获过滤器的过滤功能相比显示过滤器弱,但适用范围广泛,使用BPF语法,可以用在很多工具,比如tcpdump。
这篇文章介绍:捕获过滤器,下篇介绍显示过滤器
在网卡选择窗口,可以填写 捕获过滤器
捕获过滤器使用的是(BPF):Berkeley packet filter(http://biot.com/capstats/bpf.html)
BPF的概念
下面的表达式含义:抓取 www.jd.com 对应的ip地址上的数据,并且 端口是80的数据包
限定词(qualifier):描述后面值的含义,比如 port 80,表示端口为80
逻辑操作符:连接多个原语 可以有(与或非): and(&&)、or(||)、not(!)
上图中的“值“在官网对应的是:id (name or number)
The expression consists of one or more primitives. Primitives usually consist of an id (name or number) preceded by one or more qualifiers.
限定词
限定词主要有三类
限定词 | 含义 | 可取的值 | 例子 |
Type | 表示类型 | host, net , port and portrange. | host www.jd.com |
Dir | 网络出入方向 | src, dst, src or dst and src and dst | dst port 80 目标80端口 |
Proto | 指定协议类型 | ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp and udp | tcp
|
一些例子
表达式 | 含义 |
捕获单个IP | |
host www.jd.com | 捕获www.jd.com对应ip地址上的数据包 |
host 192.168.0.11 | 捕获 来自/到达 192.168.0.11 的数据 |
not host 192.168.0.11 | 捕获除了 来自/到达 192.168.0.11 的数据 |
src host 192.168.0.11 | 捕获来自 192.168.0.11的数据 |
dst host 192.168.0.11 | 捕获到达 192.168.0.11的数据 |
捕获范围IP | |
net 192.168.0.11/24 | 捕获到达/来自 192.168.0.11网络中任何主机的数据 |
net 192.168.0.11 mask 255.255.255.0 | 同上 |
捕获端口 | |
port 80 | 捕获到达/来自 端口号为80的 UDP/TCP数据报文 |
tcp port 80 | 捕获到达/来自 端口号为80的 TCP数据报文 |
udp port 80 | 捕获到达/来自 端口号为80的 UDP数据报文 |
portrange 80-800 | 捕获到达/来自 端口号为80~800的 UDP/TCP数据报文 |