Wireshark 显示过滤器;按位比较
Wireshark display filter; bitwise comparison
给定一个 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>
在 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 组的方法。
给定一个 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>
在 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 组的方法。