我正在使用 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)相匹配,一直在返回具有几个 RTT > 1 秒的数据,这很荒谬,因为我使用的是 ttl=1。