Randomblue Asked: 2012-12-05 03:12:11 +0800 CST2012-12-05 03:12:11 +0800 CST 2012-12-05 03:12:11 +0800 CST TCP 校验和是否超过有效负载? 772 我以某种方式确信 TCP 校验和是一个标头校验和(类似于 IP 校验和),但我现在对阅读维基百科文章有疑问: 校验和字段是头部和文本中所有 16 位字的补码和的 16 位补码。 这对我来说似乎有点疯狂,因为 TCP 校验和位于标头(而不是页脚)中,它取决于标头之后发送的字节。这对硬件优化的 TCP 是一个障碍。从本质上讲,这使在知道 TCP 数据包文本之前就开始发送 TCP 标头的“直通”架构无效。 为什么 TCP 校验和在依赖于文本时放在头部?对于“直通”架构,这可以缓解吗? tcp 2 个回答 Voted Best Answer Nathan V 2012-12-05T03:19:17+08:002012-12-05T03:19:17+08:00 是的,校验和在 TCP 标头中。除了查看 wiki,您还可以访问此处的参考资料:RFC 793 具体阅读第 3 节第 1 段。 当您提到直通时,我假设指的是切换。交换机不会更改数据包有效负载中的任何内容,因此无需重新计算校验和。 Mircea Vutcovici 2012-12-05T11:20:56+08:002012-12-05T11:20:56+08:00 我认为您可以从scapy开始实时进行数据包操作。
是的,校验和在 TCP 标头中。除了查看 wiki,您还可以访问此处的参考资料:RFC 793 具体阅读第 3 节第 1 段。
当您提到直通时,我假设指的是切换。交换机不会更改数据包有效负载中的任何内容,因此无需重新计算校验和。
我认为您可以从scapy开始实时进行数据包操作。