给定一个pcap文件,我想基于ip.src上的按位比较将数据包分为四组,只比较IP中的两个特定位。例如,我想将此比较应用于IP的第二个字节和最后两个位。因此,比较将如下所示:
a = xxxxxxxx & 0x03 //It is 8bits. Hence a includes 000000xx
IF (a == 0x00) THEN set0
IF (a == 0x01) THEN set1
IF (a == 0x02) THEN set2
IF (a == 0x03) THEN set3
不幸的是,只有bitwise_and选项可用。而且我无法在此处对IP进行按位操作。有什么解决办法吗?
我想到的是使用以下命令四次,每次使用相应的显示过滤器。
tshark -r <infile> -Y "<display-filter>" -w <outfile>
答案 0 :(得分:1)
在Wireshark中,打开PCAP文件并使用显示过滤器,如下所示:
!(ip[12] & 0x01) and !(ip[12] & 0x02)
(ip[12] & 0x01) and !(ip[12] & 0x02)
!(ip[12] & 0x01) and (ip[12] & 0x02)
(ip[12] & 0x01) and (ip[12] & 0x02)
第一个匹配0b00的最后两位,第二个0b01,第三个0b10和最后一个匹配0b11。
如果需要其他位,则最高有效位分别为0x04、0x08、0x10、0x20、0x40和0x80。 “&”与bitwise_and相同。
在每个匹配之后,使用文件->导出指定的数据包,并确保标记了已显示选项。这是一种根据需要将文件分成4组的方法。