Nixon
驱动牛犊
驱动牛犊
  • 注册日期2012-07-19
  • 最后登录2012-12-04
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2112回复:2

为什么在网卡开启硬件校验和后NdisSend发送的包校验和为0

楼主#
更多 发布于:2012-11-14 16:21
           我在驱动中拦截MPSendPackets函数 把包复制一份后返回 然后自己调用NdisSend发包 为何开启网卡硬件校验和后包的校验和变为0了? 客户端收到包后发现校验和不对就丢弃了 而关闭硬件校验和后就可以正常通讯

         开启硬件校验和不是由网卡计算校验和吗 为何不能网卡校验失败? 难道要给自己申请的包设置标志? 如果要设置标志 请问具体设置哪些标志?        
iihacker
论坛版主
论坛版主
  • 注册日期2010-01-07
  • 最后登录2017-08-16
  • 粉丝5
  • 关注8
  • 积分377分
  • 威望1941点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2012-11-23 18:12
最好把原始包的标识都给加上
NDIS 1群74755180 NDIS 2群182802097 交换机软硬件技术群 187471475 FPGA PCI PCIE 群187471817
Tesiro
驱动牛犊
驱动牛犊
  • 注册日期2008-04-18
  • 最后登录2014-04-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望387点
  • 贡献值1点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2012-12-03 17:02
NDIS_TCP_IP_CHECKSUM_PACKET_INFO ChecksumInfo;
ChecksumInfo.Value = NET_BUFFER_LIST_INFO(NetBufferList,TcpIpChecksumNetBufferListInfo);

获取新克隆包的带外数据中校验和减荷标志位,查看是否与原始数据包相关同,如果不同则将其设置为相同。

也可先抓包看一下被克隆的包是否正常发出,再做以上处理。
游客

返回顶部