Wireshark捕获过滤器示例

时间:2016-03-10 17:28:36

标签: hex wireshark ipv6 packet packet-capture

这是关于Wireshark数据包捕获过滤器的。

  1. IP版本不是4的IP数据包
  2. 解决方案:

    过滤:

    ip[0] & 0xF0      != 0x40
    ip[0] & 1111 0000 != 64
    

    有人可以说清楚如何推断出上述解决方案吗?

    提前致谢, 亚当

1 个答案:

答案 0 :(得分:0)

根据IPv4数据包结构:

IPv4 header

你有第一个八位字节的版本,在高位半字节中。 IPv4数据包的版本是" 4"正如您在图片中看到的那样,但请记住它必须位于高位半字节中,因此过滤器中的0x40(十进制基数为64)。

所以你的过滤器会抓住IP标头的第一个字节,并使用0xF0 AND ,以确保它保持版本部分(高位半字节),然后检查它是否与0x40IPv4数据包不同。)

您还可以做的是: ip[0] & 0xf0 == 0x60

与说法相同,仅保留IPv6个数据包。 IPv6数据包中的版本等于6.版本信息的位置与IPv4标题的位置相同:

IPv6 header