收藏官网首页
查看: 12381|回复: 0

wireshark TCP 抓包 报IP checksum error问题解决方法

51

主题

99

帖子

827

积分

高级会员

Rank: 4

积分
827
跳转到指定楼层
楼主
发表于 2016-7-13 20:00:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发
本帖最后由 Snail 于 2016-7-13 20:10 编辑

调试过程中用wireshark抓tcp包发现抓到的TCP 包会报 IP checksum error
如下图所示:


报:TCP checksum offload


网上有一篇帖子,用ethereal抓包软件也遇到类似的问题,并且说明了这个情况产生的原因:
1. 在Windows平台上用Ethereal抓包时发现TCP校验和错误,
2. 但应用层的反应告诉我,这个报文的TCP校验和没问题。
3. 网卡配置->高级->Rx Checksum Offload/Tx Checksum Offload,
4. 很可能你的这两处设置是Enable,将之调整成Disable即可,代价是网络性能降低。
5. 一般由操作系统的TCP/IP协议栈完成TCP/UDP/IP校验和的计算工作,
6. 这两处设置成Enable之后,协议栈不再进行校验和的计算,而是由网卡自己完成。
7. 如果在前述位置没有发现Rx Checksum Offload/Tx Checksum Offload项,
8. 有两种可能,一种是网卡本身不支持这种功能,另一种是网卡驱动未提供配置项,后一种情形居多。
9. 事实上该问题与使用何种Sniffer软件无关。
转自:http://blog.csdn.net/wzsy/article/details/4801822

亲测wireshark win7上的遇到这个问题的解决方法如下:
把网卡的属性修改一下就可以,禁用 Checksum Offload(原理是让网卡硬件自己计算校验和,而不是交给操作系统的 tcp/ip 协议栈来计算):



禁用 Checksum Offload 后,wireshak上抓的包:

file:///C:/Users/Administrator/AppData/Roaming/Foxmail7/Temp-6276-20160711100401/Catch.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表