󰅡收起

闲人的博客

专业代维,关注IT,专注于服务器维护、服务器代维、网站安全加固、网站建设、网站SEO优化,服务器托管、租用!

08
五月

Wireshark抓包时显示TCP校验和错误(checksum incorrect)

作者: 闲人
分类: 网络安全
发布时间: 2012-05-08 07:33

抓包的过程发现很多从本地主机(客户机)发出的 TCP 包有很多都是报 IP checksum error ,但应用正常,从 server 返回的包也一切正常,很是奇怪。

如图,很多黑色的条目,黑色一般就是有问题的包:

ip_checksum_error1

网上有一篇帖子,说明了这个情况产生的原因:

http://www.netexpert.cn/thread-4850-1-1.html

5.23 Ethereal抓包时发现TCP校验和错误

Q:

在Windows平台上用Ethereal抓包时发现TCP校验和错误,
但应用层的反应告诉我,这个报文的TCP校验和没问题。

A: 2000-03

网卡配置->高级->Rx Checksum Offload/Tx Checksum Offload,
很可能你的这两处设置是Enable,将之调整成Disable即可,代价是网络性能降低。

一般由操作系统的TCP/IP协议栈完成TCP/UDP/IP校验和的计算工作,
这两处设置成Enable之后,协议栈不再进行校验和的计算,而是由网卡自己完成。
如果在前述位置没有发现Rx Checksum Offload/Tx Checksum Offload项,
有两种可能,一种是网卡本身不支持这种功能,另一种是网卡驱动未提供配置项,后一种情形居多。

事实上该问题与使用何种Sniffer软件无关。

解决方法:

把网卡的属性修改一下就可以,禁用 Checksum Offload(原理是让网卡硬件自己计算校验和,而不是交给操作系统的 tcp/ip 协议栈来计算):

ip_checksum_error2

禁用 Checksum Offload 后,抓的包显示清爽多了:

ip_checksum_error3
转载自http://www.sealinger.com/archives/366/?replyTo=277

本文出自 闲人的博客 ,转载时请注明出处及相应链接。

本文永久链接: http://www.xianren.org/net/wireshark-checksum.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*

Anti-spam image

| |