Wireshark过滤器详解

时间:2023-03-08 16:58:43

Wireshark过滤器详解

1.Wireshark主要提供两种主要的过滤器

  • 捕获过滤器:当进行数据包捕获时,只有那些满足给定的包含/排除表达式的数据包会被捕获
  • 显示过滤器:该过滤器根据指定的表达式用于一个已捕获的数据包集合,它将隐藏不想显示的数据包或者只显示那些需要的数据包

2.捕获过滤器

2.1捕获过滤器的BPF语法:
使用BPF语法创建的过滤器被称为expression(表达式),并且每个表达式包含一个或多个primitives(原语)。每个原语包含一个或多个qualifiers(限定词),然后跟着一个ID名字或数字
限定词 例子
Type 指出名字或数字所代表的含义 host、net、port
Dir 指出传输方向是前往还是来自名字或数字 src、dst
Proto 限定所要匹配的协议 Ether、ip、tcp、udp、ftp
一个捕获过滤器样例

src host 192.168.0.10 && port 80

在给定表达式的组成部分中,一个src限定词和host 192.168.0.10组成了一个原语。这个原语本身就是表达式,可以用它只捕获那些源IP地址是192.168.0.10的流量

你也可以使用以下三种逻辑运算符,对原语进行组合,从而创建出更高级的表达式:
  • 连接运算符 与(&&)
  • 选择运算符 或(||)
  • 否定运算符 非(!)
所以上述表达式只对源地址是192.168.0.10和源端口或目标端口是80的流量进行捕获

3.显示过滤器

显示应用器应用于筛选符合过滤器的数据包,对不符合条件的数据进行隐藏,只需清空显示过滤表达式即可回到原先的捕获文件

3.1应用显示过滤器的两种方法

3.1.1过滤器表达式对话框
3.2.2过滤器表达式语法结构
比较操作符
操作符 说明
== 等于
!= 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
逻辑操作符
操作符 说明
and 两个条件同时被满足
or 其中有一个条件满足
xor 有且仅有一个条件满足
not 没有条件满足
3.3.3显示过滤器表达式实例(常用)
过滤器 说明
!tcp.port==3389 排除RDP流量
tcp.flags.syn==1 具有SYN标志位的TCP数据包
tcp.flags.rst==1 具有RST标志位的TCP数据包
!arp 排除ARP流量
tcp.port23 ||tcp.port21 文件管理流量(Telnet或FTP)
smtp ||pop||imap 文本email流量(SMTP/POP/IMAP)