捕获过滤器
当进行数据包捕获时,只有那些满足给定的包含/排除表达式的数据包会被捕获
捕获的BPF语法
限定词 | 说明 | 例子 |
---|
type | 指定名字或数字代表的意义 | host, net, port |
dir | 指明传输方向是前往还是来自名字或数字 | src, dst |
proto | 限定所要匹配的协议 | ether, ip, tcp, udp, http, ftp |
使用例子
dst host 192.168.153.131 && tcp port 80 # 目的地址192.168.153.131 并且是tcp协议使用80端口
src net 192.168.153.0/24 || src port 80 # 源地址192.168.153.0/24网段 或者源端口为80
!tcp portrange 1-1024 || !src net 192.168.153.0/24 # tcp端口号范围不在1-1024或者源地址不在192.168.153.0/24
# host可以限定IPv4、IPv6、主机名称、MAC地址来进行过滤【ether host 00-1a-a0-52-e2-a0】
表达式样例
过滤器 | 说明 |
---|
tcp[13]&32==32 | 设置了URG位的TCP数据包 |
tcp[13]&16==16 | 设置了ACK位的TCP数据包 |
tcp[13]&8==8 | 设置了PSH位的TCP数据包 |
tcp[13]&4==4 | 设置了RST位的TCP数据包 |
tcp[13]&2==2 | 设置了SYN位的TCP数据包 |
tcp[13]&1==1 | 设置了FIN位的TCP数据包 |
tcp[13]==18 | TCP SYN-ACK数据包 |
(!)ether host 00:00:00:00:00:00 | 流入或流出的MAC地址 |
broadcast | 仅广播流量 |
icmp | icmp流量 |
icmp[0:2] | icmp目标不可达,主机不可达 |
显示过滤器
根据指定的表达式用于一个已捕获的数据包几何,将隐藏不想显示的数据包,或者只显示那些需要的数据包
- 可以直接在expression(表达式)处进行设置选择需要显示的内容
- 自定义过滤器表达式
操作符
操作符 | 说明 |
---|
== | 等于 |
!= | 不等于 |
> / < | 大于/小于 |
and | 和 |
or | 或 |
xor | 有且仅有一个条件被满足 |
not | 没有满足条件的 |
常用显示
过滤器 | 说明 |
---|
!tcp.port==3389 | 排出rdp |
tcp.flags.syn==1 | 具有SYN标志位的TCP数据包 |
tcp.flags.rst==1 | 具有RST标志位的TCP数据包 |
smtp | pop | imap | 文本email流量 |