在 Scapy 中,我想手动将数据包与其相应的 ICMP 超时消息匹配。
我需要匹配:
- ICMP数据包的IP-in-ICMP字段
IP 标头和我的数据包的前 8 个字节 ICMP 数据包没有问题:
icmpPayload = str(icmpPacket[ICMP].payload)
至于数据包的前 8 个字节,我只需要这样做:
str(myPacket[IP].payload)[:8]
我不知道如何仅获取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