wireshark过滤器表达式的规则
基本规则
-
大小写敏感性:在 Wireshark 过滤器表达式里,协议和字段名是大小写敏感的。例如,
ip.src
和IP.SRC
所代表的含义不同,正确的写法是ip.src
-
空格使用:空格在表达式中可用于分隔不同的元素,但要避免在关键字和参数之间使用不必要的空格。比如,
ip.src == 192.168.1.1
是正确的,而ip. src== 192.168.1.1
则是错误的
表达式类型
Wireshark 过滤器分为捕获过滤器和显示过滤器,它们的规则有所不同
显示过滤器
显示过滤器在数据包捕获完成后发挥作用,用于筛选出符合特定条件的数据包进行显示。其语法更为丰富,支持更多的协议字段和运算符。
- 协议和字段过滤:可以使用协议名和字段名来过滤数据包。示例:
-
ip.src == 192.168.1.1 # 只显示源IP地址为192.168.1.1的数据包 tcp.dstport == 443 # 只显示目的TCP端口号为443的数据包
- 比较运算符:支持
==
(等于)、!=
(不等于)、>
(大于)、<
(小于)、>=
(大于等于)、<=
(小于等于)等比较运算符。示例: -
frame.len > 1000 # 只显示数据包长度大于1000字节的数据包
- 逻辑运算符:同样支持
and
、or
、not
逻辑运算符。示例: -
(ip.src == 192.168.1.1 or ip.dst == 192.168.1.1) and tcp.port == 80 # 只显示源或目的IP地址为192.168.1.1且TCP端口号为80的数据包
- 字符串匹配:使用
contains
关键字进行字符串匹配。示例: -
http.host contains "example.com" # 只显示HTTP请求中主机名包含"example.com"的数据包