Wireshark 十六进制逃逸在匹配有效载荷时不起作用

Wireshark 十六进制逃逸在匹配有效载荷时不起作用

在 wireshark 中,我尝试匹配有效负载不以 开头的数据包00 24。但由于某种原因,此过滤器失败:

not(udp.payload ~ "^\x00\x24")

但令人惊讶的是,这个方法有效:

not(udp.payload ~ "^\x00\\x24")

还有这个:

not(udp.payload ~ "^\x00\\\x24")

为什么会发生这种情况?

答案1

matches(或)运算~符适用于字符串,不适用于字节。相反,您可以使用contains比较( ==) 运算符以及[]) 操作员。

例如:

not (udp.payload[0:2] contains 00:24)

或者:

!(udp.payload[0:2] == 00:24)

请参阅wireshark 过滤器有关这些运算符的更多详细信息,请参见手册页。

相关内容