在 Scapy 中,我想要manually将数据包与其相应的 ICMP 超时消息进行匹配。
我需要匹配:
至于数据包的前8个字节,我只需要做:
str(myPacket[IP].payload)[:8]
我不知道如何获得onlyIP 标头myPacket
。我现在要做的就是用前 8 个字节替换整个数据包中的有效负载。恐怕这种搜索和替换如果应用于数千个数据包,可能会花费太长时间:
strOfMyPacket = str(myPacket[IP])
strOfMyPacket.replace(str(myPacket[IP].payload),str(myPacket[IP].payload)[:8],1)
有什么更快的方法可以让我简单地执行以下操作吗?
partOfPayload = str(myPacket[IP].payload)[:8]
fullHeader = _______
stringToCompare = fullHeader + partOfPayload
str(myPacket)[:(myPacket[IP].ihl * 4)]
IP头长度在该字段中ihl
(互联网标头长度)。它表示为标头使用的 32 位字的数量。 (由于标题的“选项”部分,它是可变的)。因此,如果我们将该字段乘以 32,然后除以 8(或 * 4),我们就会得到标头填充的字节数,无论是否有选项。
我很惊讶没有方法(我能找到)只返回没有较低层的 IP 标头。
http://en.wikipedia.org/wiki/IPv4_header#Header http://en.wikipedia.org/wiki/IPv4_header#Header
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)