我和Scapy伪造了我捕获的一些数据包的IP报头中的TTL值。除了IP和传输层标头中的校验和之外,还有什么需要重新计算的吗?在
现在我在做:
for p in myPackets:
p[IP].ttl = targetTTL
del(p[IP].chksum)
del(p[IP].payload.chksum)
for i in range(len(myPackets)):
myPackets[i] = myPackets[i].__class__(str(myPackets[i]))
我之所以这么问是因为Scapy的sr
函数将数据包与其响应相匹配(在我的例子中是ICMP)在几秒钟内返回数据,这是荒谬的,因为我使用的是ttl=1。在
你试过把包裹寄出去吗?Scapy应该为你重新计算校验和自动。你也可以试着把它们设置为“无”,但我不认为这是必要的。在
我相信如果您对数据包调用show2()命令,scapy将自动重新计算校验和。因此,如果在对象pckt的索引0处有一个包,那么应该调用pckt.show2公司()并且校验和应该是正确的。至少这是我的理解。在
相关问题 更多 >
编程相关推荐