歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> tcpdump抓的tcp包超過了mtu並且和ack幀序列號不同步的原因

tcpdump抓的tcp包超過了mtu並且和ack幀序列號不同步的原因

日期:2017/3/3 15:54:50   编辑:關於Linux

最近在用tcpdump對tcp的相關參數進行學習和分析,linux下的抓包結果起初讓我感到奇怪,我手邊的ubuntu和debian都出現了相同的現象。

具體的就是抓到的發送方的tcp的數據段的長度經常性地發生變化,並且接收方回復的接收幀的序列號和發送方不同步,例如發送方發送了序列號為25:7265,接收方回復的ack裡卻有序列號是2921的。並且ack後確認的序列號是按照等差的規律遞增。

找了一段時候,還是在stackoverflowhttp://stackoverflow.com/a/2351026/1429809上找到了解答,是因為linux打開了gso(generic segmentation offload)選項,只要將這個選項關閉就可以讓tcpdump的輸出恢復正常了。具體步驟如下

查看系統相關選項

ethtool -k eth0

關閉gso

ethtool -K eth0 gso off

作者:cnblogs juejiang

更多精彩內容:http://www.bianceng.cn/OS/Linux/

Copyright © Linux教程網 All Rights Reserved