Checksum: 0x7259 [incorrect, should be 0x0a75 (maybe caused by "TCP checksum offload"?)]
2013-10-30 10:18
543 查看
今天在分析一个TCP DUP ACK的问题时,发现Server端的Wireshark抓包出现下面的错误:
Checksum: 0x7259 [incorrect, should be 0x0a75 (maybe caused by "TCP checksum offload"?)]
在网上查找原因,基本认为是网卡帮助Tcp协议栈处理了校验和从而发生的错误。本身校验和是Tcp协议栈来处理的,但为了提高效率,降低CPU的负担,可以将校验和的任务分担给网卡来完成,从而提高吞吐率。消除该错误的方法就是关闭网卡的校验和计算功能。
在windows下直接通过右击网卡属性就可以进行修改:
如果网卡支持,在高级选项里可以设置Checksum Offload是否对Rx或Tx有效,也可以设置为对两者都有效。
在Linux下的修改方法为:
ethtool -K eth1 rx off tx off sg off tso off
从Wireshark网站上看到的处理方法:
http://wiki.wireshark.org/CaptureSetup/Offloading?action=show&redirect=TCP_checksum_offload
linux侧的抓包方法:
/mnt/flash/BIN/tcpdump tcp -i ipoa_linux -w /mnt/flash/BIN/client.cap
tcpdump -i eth0 -vv -s 0 -w active.cap
这个是 Linux计算checksum的源码
http://www.2cto.com/kf/201202/118907.html
Checksum: 0x7259 [incorrect, should be 0x0a75 (maybe caused by "TCP checksum offload"?)]
在网上查找原因,基本认为是网卡帮助Tcp协议栈处理了校验和从而发生的错误。本身校验和是Tcp协议栈来处理的,但为了提高效率,降低CPU的负担,可以将校验和的任务分担给网卡来完成,从而提高吞吐率。消除该错误的方法就是关闭网卡的校验和计算功能。
在windows下直接通过右击网卡属性就可以进行修改:
如果网卡支持,在高级选项里可以设置Checksum Offload是否对Rx或Tx有效,也可以设置为对两者都有效。
在Linux下的修改方法为:
ethtool -K eth1 rx off tx off sg off tso off
从Wireshark网站上看到的处理方法:
http://wiki.wireshark.org/CaptureSetup/Offloading?action=show&redirect=TCP_checksum_offload
linux侧的抓包方法:
/mnt/flash/BIN/tcpdump tcp -i ipoa_linux -w /mnt/flash/BIN/client.cap
tcpdump -i eth0 -vv -s 0 -w active.cap
这个是 Linux计算checksum的源码
http://www.2cto.com/kf/201202/118907.html
相关文章推荐
- WireShark抓包时TCP数据包出现may be caused by ip checksum offload
- WireShark抓包,may be caused by ip checksum offload的解决办法
- WireShark抓包,may be caused by ip checksum offload的解决办法
- 转载:WireShark中为什么会出现Tcp Checksum Offload?
- WireShark 中为什么会出现 Tcp Checksum Offload?
- 什么是Tcp Checksum Offload,WireShark中为什么会出现Tcp Checksum Offload
- xcode 报错 malloc: *** error for object 0x6c3c5a4: incorrect checksum for freed object - object was probably modified after being freed. *** set a breakpoint in malloc_error_break to debug------d
- 07-09 07:28:38.350: E/AndroidRuntime(1437): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.googleplay.ui.activity.MainActivity" on path: DexPathList[[zip file "/data/app/c
- Greenplum源码编译安装ORCA握手失败解决 - Caused by SSLError(SSLError("bad handshake: ...)
- TCP checksum offload
- TCP bad checksum in wireshark
- The request sent by the client was syntactically incorrect ()"解决办法
- 执行Hive时出现org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.NumberFormatException: For input string: "1s"错误的解决办法(图文详解)
- beans.xml Caused by: org.xml.sax.SAXParseException不允许有匹配 "[xX][mM][lL]" 的处理指
- HOWTO: Use ethtool to configure checksum offload for NICs under Linux
- yum 报错 "[Errno -3] Error performing checksum"
- linux基础-"[Errno -3] Error performing checksum" yum 报错
- Python:malloc: *** error for object: incorrect checksum for freed object - object was
- Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
- Mac下运行svn update报错"Checksum mismatch while updating"