您好,我主要使用十六进制格式来调试程序的流量,因此在wireshark中,我还希望使用十六进制值ip.addr == 0x7f000001
来过滤ip.addr,而不是ip.addr == 127.0.0.1
这样吗?
在Wireshark的过滤器手册页介绍了如何正确使用切片操作的,特别重要的:
总是将切片与字符串或字节序列进行比较。作为一种特殊情况,当切片只有1个字节宽时,您可以将其与0xff或更小的十六进制整数(这意味着它适合一个字节)进行比较。大于一个字节的字节序列不允许这样做,因为那样一来就需要指定多字节整数的字节序。同样,十进制数字也不应该这样做,因为十进制数字会与已经允许作为字节字符串的十六进制数字混淆。
下面的示例应该起作用:
ip[12:4]==7f:00:00:01 || ip[16:4]==7f:00:00:01
请注意,此处分别为源IP地址和目标IP地址设置了12和16的适当偏移量。偏移量是从IP标头的开头指定的,因为这是您要从中进行切片的位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句