擅长:python、mysql、java
<p>我添加了用于重新计算TCP校验和的行,这很有用。</p>
<p>只有当我改变有效载荷时,这才有效,我不改变有效载荷的长度,否则,我需要改变IP报头的字段长度,然后回答我自己,也许还有其他人正在寻找这个答案,我通过这样做来实现:</p>
<pre><code>payload_before = len(pkt[TCP].payload)
pkt[TCP].payload = str(pkt[TCP].payload).replace("Heading","Other string")
payload_after = len(pkt[TCP].payload)
payload_dif = payload_after - payload_before
pkt[IP].len = pkt[IP].len + payload_dif
</code></pre>
<p>我知道我必须更改更多的字段,因为有时,如果您添加了足够的负载,以便需要将其分段到一个新包中,那么您必须更改更多的字段。</p>
<p>目前我不知道如何有效地实现这一点,但一点一点。希望有人找到我的解决方案,改变有效载荷有用。</p>