我有一个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长度?
答案 0 :(得分:2)
不要从帧大小开始,而是从IP标头开始的IP大小。您无法知道特定接口是否允许您查看以太网FCS。