我正在尝试生成一系列数据包来模拟 TCP 3 次握手过程,我的第一步是捕获真正的连接数据包,并尝试从同一台机器重新发送相同的数据包,但它没有工作首先。
最后我发现我用 tcpdump 捕获的数据包不是我的计算机发出的,TCP 的校验和字段发生了变化,这让我认为即使 TCP 校验和不正确,我也可以建立 tcp 连接。
所以我的问题是校验和字段是如何计算的?它是由 tcpdump 还是硬件修改的?为什么会改变?这是tcpdump的错误吗?或者是因为省略了计算。
以下是我从我的主机和虚拟机上截取的截图,你可以看到在不同的机器上截取的同一个数据包除了 TCP 校验和之外都是一样的。
小窗口是我的虚拟机,我使用来自主机的命令“ssh 10.82.25.138”来生成这些数据包