计算TCP总长度

时间:2017-08-06 12:11:02

标签: python sockets tcp

我有一个Python代码,用于计算TCP校验和,如http://www.roman10.net/2011/11/27/how-to-calculate-iptcpudp-checksumpart-1-theory/

中所述

因此,我需要计算伪标头的TCP长度,以及从帧缓冲区获取相关的TCP数据字节。

所以我尝试了TCP length = Frame size - TCP offset - 4,其中4应该是以太网CRC的大小。

对于某些数据包,这样可以正常工作,但后来我得到了一些没有以太网CRC的数据包。所以我的问题是,如何判断TCP长度?

1 个答案:

答案 0 :(得分:2)

不要从帧大小开始,而是从IP标头开始的IP大小。您无法知道特定接口是否允许您查看以太网FCS。