tcpdump抓包解析,請問length固定為21845 ack跳號 seq跳號是怎麼回事?

時間 2021-06-02 13:50:33

1樓:hua liu

Jumbo Frame了解一下。Jumbo Frame就是為了在內網中傳輸超出傳統MTU(1500)的。

一般在傳輸過程中有個MTU探測的過程,就是不斷加大報文長度,直到探測到乙個最大不分片的MTU。

當然光從你的資料來看不一定是Jumbo Frame,需要在客戶端和服務端同時抓包,對比來看下,接收端是不是也收到這麼大的包。

2樓:

我來就我所能推測到的可能性,以及與題主交流得出的可能結論,稍作總結,如有謬誤之處,請各位批評指正。

為什麼抓到的包的長度是固定的?通過題主的截圖可以看出,題主在抓包測試的時候,採取了本機自發自收的方式,此時,無論使用哪個位址進行收發(無論是 127.0.

0.1 還是網絡卡上分配的位址)包的傳送路徑一律經過回環介面直接到本地。我們都知道,在流量較大的情況下,TCP 的分段會盡量佔滿傳送路徑的 MTU —— 因此會出現連續的若干同向的 TCP 分段長度相對固定的情況。

然而 Linux 回環介面的預設 MTU 是 65536,因此我暫時無法解釋為什麼這個固定值會固定在 21845。當然,不難知道,如果題主在兩台機器上進行測試,那麼這個長度將會是 1448,即 1500(預設的乙太網 MTU) - 20 位元組 IP 頭長度(最短的情況)- 20 位元組 TCP 頭部 - 12 位元組的 TCP 選項。

為什麼出現了 SEQ 和 ACK 不連續的問題?這個不連續的情況,應該不會是丟包造成的(否則會有重傳,不會直接確認)。我推測是由於自發自收的情況下,速率過快導致抓包出現丟失的情況。

理由是,仔細觀察發生 SEQ 不連續的位置。我們發現 IP 包頭的 ID 欄位也是不連續的;而在 SEQ 連續的位置,ID 欄位也是連續的。通過簡單的計算可以驗證,如果那些缺少的 ID 標號的包,其內部的 TCP 分段長度如果也是 21845 的話,那麼剛好可以和前後兩個包的 SEQ 銜接上。

我們知道,按照 IP 協議的標準,ID 字段應當在一定時間範圍內不重複;而 Linux 作業系統的實現是按照 ID 遞增的順序進行 IP 資料報的傳送。因此可以驗證的是,這些缺少的 TCP 分段應當是成功傳送了,只是沒有被抓取到而已。

3樓:黃亮

ethtool -K eth0 lro off

ethtool -K eth0 gro off

關閉網絡卡的lro和gro功能看看,這是收包速率高了以後,網絡卡驅動的lro和gro會將資料報合併,以較少系統中斷開銷

瀏覽器上webSoket怎麼抓包

風車 問題解決,wireshark能抓到包,混在了tcp當中 它不識別webSoket 但是是明文傳輸的 還好不是壓縮的.好像資料以 N 開頭 不確定 16進製為 814e 終於搞定了 說下webSocket建立以後不再有tcp連線建立 所以,上圖中,如果把webSocket這條記錄清空了,然後,不...

解析 http 協議是否要處理粘包? 是否要考慮到收到的資料報為不符 http 協議格式的資料報的情況

此外http協議有很多細節,會使互動不是一問一答那麼簡單,比如100 continue。再加上不少server client proxy 的實現比較奇葩,要做真正可用的系統還是都要處理 盡量用成熟庫去做吧 zanllp 每次看到這個就想懟,tcp是流。網路沒異常也不會出現資料丟失的情況,檢查邊界,就...

冬季戶外,請問抓絨褲裡面傳什麼?

千江月 我去零下三十多度的壩上,下身穿的由外到內分別是 土撥鼠軟殼,天石薄羽絨褲,凱樂石排汗內衣。整晚拍星空,下半身不冷,除了腳掌有些冷外。 will 當然是速乾衣或者排汗內衣了。一般來說戶外著裝分為內層中層外層,內層的主要作用是排汗保持乾爽,比較好的就是美麗諾羊毛衣及各種戶外大牌的速乾衣。中層的作...