我得到这个数据包与tcpdump捕获,但我不知道如何使用 – hexstring参数来匹配数据包。 有人可以告诉我怎么做吗?
11:18:26.614537 IP (tos 0x0, ttl 17, id 19245, offset 0, flags [DF], proto UDP (17), length 37) xx187.207.1234 > xx152.202.6543: [no cksum] UDP, length 9 0x0000: f46d 0425 b202 000a b853 22cc 0800 4500 .m.%.....S"...E. 0x0010: 0025 4b2d 4000 1111 0442 5ebe bbcf 6701 .%[email protected]^...g. 0x0020: 98ca 697d 6989 0011 0000 ffff ffff 5630 ..i}i.........V0 0x0030: 3230 3300 0000 0000 0000 0000 203.........
hexstring需要被|包围 符号。 空格是可选的
iptables --append INPUT --match string --algo kmp --hex-string '|f4 6d 04 25 b2 02 00 0a|' --jump ACCEPT
请注意,string匹配应该是最后的手段。 这是密集的,不可靠的,因为它在包而不是连接上工作。 它也只开始在TCP连接中的第三个数据包上工作,这会限制你可以使用的操作(例如你不能连接NAT)。