阅读:2526回复:2
中间层驱动发送TCP Packet时,出现TCP Check SUm 错误
为什么我通过我的中间层驱动从上层直接接受的TCP包将它拦截下来,
传给应用层处理,然后又通过IRP再通过中间层驱动发送到网络上时, 有些机器会出现TCP CheckSum Error,但是有些机器又不会出现, 不太明白为什么?怎么办? |
|
沙发#
发布于:2008-11-04 10:29
这个问题可以通过一个简单的方法去试一下,收到包后再重新计算TCP的校验码.我就是这样做的.不过我还也遇到一个问题,尽管在收到包后重新计算了校验和,但有些TCP包接收还是出现错误,但在绝大部分情况下是没有问题的.
|
|
板凳#
发布于:2011-01-10 14:07
我也碰上这个问题,好像Win2003、Vista、Win7的系统,不需要中间层计算checksum的。
如果改变报文内容,再计算checkshum,网卡驱动还会再算一次,结果checksum都是0,是错的。 不知道这些操作系统是不是都不要中间层操心这个。 |
|