抓包過程中遇到的幾種異常報文


概述:

       在平時的運維過程中,我們經常會遇到一些數據傳輸的問題,在我們平時遇到的數據傳輸問題中定位難度從難到易基本為:數據傳輸慢不符合預期、數據傳輸過程有丟包、數據傳輸被終止或網絡斷開連接。

       如果要對數據流分析抓包是最直接的辦法,它可以幫助你更快的定位問題。最常用的抓包工具:wireshark(windows系統)、tcpdump(linux系統) (工具使用略)

接下來分享下我總結的幾個常見數傳異常報文:

*TCP Dup Ack(TCP Dup Ack 22#1此報文為22號報文的重發報文)

TCP報文中的Ack字段是對預期達到的下一個報文的序列號,而看到Dup Ack則說明由於某些原因Dup Ack發起方沒有收到預期序列號的報文,從而發送Dup Ack再次請求預期數據報文,直到收到預期報文,才會停止發送Dup Ack報文。

遇到此類報文很可能是因為兩台終端之間設備有丟包,可能是防火牆或者安全設備將數據包丟棄造成,建議在兩台終端之間的其他網絡設備進行抓包對比,以確定異常位置。

*TCP Retransmission

TCP retransmission報文代表重傳,重傳是指具有相同TCP序列號的報文至少兩次或多次經過,重傳報文是一種很常見的影響數據傳輸速率的異常報文。

原因分析:

1、兩台終端之間的其他網絡節點發生功能紊亂,存在丟包,造成對端未收到相應序列號的報文或本端未收到對端的回復報文。(建議檢查防火牆,網流分析、信安系統、Ddos等安全設備)

2、對端未正常發送確認報文,對端功能紊亂(多為安全軟件或網卡校驗功能造成)

3、本端收到確認報文,但沒有正常處理(建議檢查安全軟件,網卡設置等)

*TCP Out-Of-Order

TCP Out-Of-Order是一種TCP報文亂序,報文亂序是指,該報文沒有攜帶續期的序列號,即在同一個TCP連接上,相同源地址發出的后一個TCP報文序列號不等於前一個報文的序列號加上前一個報文的報文長度()Out-Of-Order的亂序主要指實際收到的報文序列號小於預期報文序列號。此報文會與Dup Ack報文匹配出現,因為接收端沒有收到預期的序列號,就會再次發送ack報文請求預期序列號報文。

可能原因:中間網絡節點之間發生功能紊亂,轉發或者發送了異常報文;對端發送了亂序報文。

*TCP Previous Segment Lost

 TCP Previous Segment Lost也是一種TCP報文亂序。此亂序報文主要指實際收到的報文序列號大於預期序列號,或者說實際上在收到這個報文之前還應該收到一個或多個報文,但沒有收到。

可能原因:基本同上

*TCP Winodws Update

 TCP Windows Update 表明更改滑動窗口大小,可能變大也可能變小,跟TCP連接上層應用對接收到的報文數據處理速度有關,此報文並不代表一定有異常。

*TCP Zero Windows

 TCP  Zero Windows 表明滑動窗口變成0。

 發生場景

1、TCP連接復位或者斷開時,發送ACK消息,知名TCP窗口為0,此種情況無需多關注

2、輸出傳輸過程中出現Zero Windows,TCP連接創建時接收端會通知發送端可用的TCP接收窗口,隨着發送端不斷往接收端發送數據報文,如果接收端不能及時從TCP接收緩沖中提取報文進行處理,name接收緩沖的積累報文就會越來越多,TCP可用的滑動窗口大小也會越來越小,直到滑動接收窗口變為0。

Zero Winodws消息通常會在接收端TCP接收緩沖滿時發出,告訴發送端“數據已滿等等”,發送端收到此類通知后,會暫時停止向該接收端發送數據。對於經常出現Zero Windows的TCP連接,部分防火牆的規則會發送RST消息斷開這些慢連接。

原因:通常是接收端應用處理不及時。請檢查應用程序

*TCP Windows Full

 TCP Windows Full於Zero Windows有一定的聯系。數傳過程中者兩個報文常常會一起出現。區別在於TCP Windows Full出現在發送端-》接收端的報文里,TCP Zero Windows出現在接收端->發送端的報文上。

原因:同上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM