伯克利包过滤
这种语法很容易理解,列如最简单的空字符串,表示技术不过滤任何数据包,也就是保留所有的数据包
伯克利包过滤中的限定符有下面3种
type:这种限定指代的对象,列如IP地址、子网或者端口等。常见的有host表示主机名和IP地址、net表示子网,port表示端口
dir:这种限定符表示数据包传输的方向,常见的有src源地址、dst目的地址。如果没有指定的话,默认为”src or dst”
proto:这种限定符表示与数据包匹配的协议类型,常见的技术ether、ip、tcp、arp这些协议
host 192.168.1.1 | 当数据包的目的地址或者源地址为192.168.1.1 |
---|---|
Dst host 192.168.1.1 | 目的地址为192.168.1.1 |
Src host 192.168.1.1 | 源地址为192.168.1.1 |
Ether dst host 11:22:33:44:55:55 | 目的地址为11:22:33:44:55:55 |
Ether src host 11:22:33:44:55:55 | 源地址为11:22:33:44:55:55 |
Dst net 192.168.1.0/24 | IPv4/v6的目的地址为192.168.1.0/24 |
src net 192.168.1.0/24 | IPv4/v6的源地址为192.168.1.0/24 |
net 192.168.1.0/24 | IPv4/v6的源地址或目的地址为192.168.1.0/24 |
Dst port 8080 | tcp或者udp数据包且目的端口号为8080 |
Src port 8080 | tcp或者udp数据包且源端口号为8080 |
Scr portrange 2000-2500 | 保留源端口在2000-2500范围UDP和TCP |
Not icmp | 保留除了icmp以外的数据包 |
Src host 10.7.2.12 and not dst net 10.200.0.0/16 | 保留源地址10.7.2.12,但目标地址不为10.200.0.0/16范围的数据包 |
需要对数据包进行更细微的操作,伯克利包过滤也支持精确到位的操作。
语法:proto[expr:size]
proto:协议
expr:表示相对给出协议层字节偏移量
size:表示要操作的字节数
Wireshark中提供了两种不同的过滤器:捕获过滤器和显示过滤器
捕获过滤器是在Wireshark捕获过程的同时进行工作的,使用捕获过滤器,那么Wireshark就不会捕获不符合规则的数据包
显示过滤器可以在Wireshark捕获数据之后再使用、显示过滤器的语法与捕获过滤器的语法并不相同
在Wireshark中,在显示过滤器中使用网络协议时,这些网络协议都要使用小写的形式(arp、ip、dicmp、tcp、udp、dns以及http等)
使用过滤器表达式创建形式过滤器
字段名称:这里列出了Wireshshark中支持各种需要以及它们的子类
关系:这里列出了Wireshark中可以使用的各种运算符。支持比较和逻辑两种运算符
Eq | == | 等于 |
---|---|---|
Ne | != | 不等于 |
Gt | - |
比…大 |
Lt | < | 比…小 |
ge | >= | 大于等于 |
Le | <= | 小于等于 |
And | && | |
Or | || | |
Not | ! |