TCP 抓包分析(seq ack)

2022-06-18 11:30:16 字數 998 閱讀 3659

總結:1、ack包可以和其他包合在一起,比如ack包可以攜帶資料

2、可以接收多個資料報後,一次性給乙個應答,不用每個資料報一一對應給應答

3、在通訊過程中,通過接收到的包的ack值可以判斷是否是上乙個本機傳送包的應答包(ack值與上乙個本機傳送包的seq有關),seq值和ack值的確定規則如下:

三次握手:

第一次握手(傳送):seq為x(x為任意值),無視ack(因為是第乙個包,不需要給其他包應答)

第二次握手(傳送):seq為y(y為任意值),ack等於接收包seq+1(即x+1)

資料傳輸:

某主機傳送的seq和ack是根據上乙個接收包的seq、ack和len得到,具體為:seq=ack,ack=seq+len

特別:如果握手完第乙個資料報是客戶端傳送,第乙個資料報的seq和ack和第三次握手的一樣 

四次揮手:

如果是伺服器發起的揮手,揮手前最後乙個包是伺服器傳送:

如果是客戶端發起的揮手,揮手前最後乙個包是客戶端傳送:

第二個揮手(傳送):seq為本次接收包ack,ack為本次接收包seq+1

第三次揮手(傳送):和第二次揮手一樣

第四次揮手(傳送):seq為本次接收包ack,ack為本次接收包seq+1

如果是伺服器發起的揮手,揮手前最後乙個包是客戶端傳送:

如果是客戶端發起的揮手,揮手前最後乙個包是伺服器傳送:

第一次揮手(傳送):seq為本次接收包ack,ack為本次接收包seq+len

第二個揮手(傳送):seq為本次接收包ack,ack為本次接收包seq+1

第三次揮手(傳送):和第二次揮手一樣

第四次揮手(傳送):seq為本次接收包ack,ack為本次接收包seq+1

wireshark抓包分析 tcp包長度

1 最近分析rtmp資料報的時候,用tcpdump抓到一段資料報,有一部分理解不了。tcp連線的時候,協商的mss是1460,為什麼這裡傳輸的時候是2920位元組?2 原因分析,tcpdump工作在資料鏈路層,linux系統在設定了tso iso的時候,通過網絡卡進行分tcp資料 組合tcp資料報以...

TCP抓包總結

感謝博主 tcp window update 如果乙個tcp window變為0了,或者接近0了,這就會警告資料傳送方沒有更多空間來接受更多資料了.檔案傳輸會停止,直到收到乙個update說buffer已經清空了tcp previous segment lost 它告訴傳送方資料段丟失 tcp du...

Wireshark抓包分析tcp連線的建立和斷開

1 建立連線 客戶端ip 192.168.101.129 伺服器ip 192.168.3.22 ip host 192.168.3.22 and tcp 第一次握手 客戶端主機a傳送標誌位位碼syn 1,隨機產生seq number x的資料報到伺服器,客戶端進入syn send狀態,等待伺服器的確...