Wireshark捕獲分析TCP數據包三次握手

1、操作步驟

(1)打開wireshark,開始捕獲界面

(2)打開一個網址(如:csdn)

(3)對捕獲的數據包進行分析

第一個包的作用是第一握手,發送連接請求;第二個包的作用是第二次握手,連接接受;第三個包的作用是第三次握手,對連接接受的確認。

2、分析三次握手過程

(1)第一次握手

  客戶端發送一個 TCP,標誌位爲 SYN,序列號爲0,表示:客戶端請求建立連接。

(2)第二次握手

  序號說明的是自己發送的數據的編號。 由於確認包是服務器發給客戶端的一個數據包,對服務器來講,這是它的第一個數據包,因此序號 seq=0。確認號是告訴對方,下一個應該發送的數據字節的編號。由於對方(客戶端)上一次(第二次握手) 發來 seq 的序號字段是0,下一個應該發送的就應該是0+1=1,因此服務器發回的確認包中的確認號是1(ACK=0+1=1)。

(3) 第三次握手

  客戶端再次發送確認包(ACK) SYN 標誌位爲0,ACK 標誌位爲 ACK 有效.序號說明的是自己發送的數據的編號。由於客戶端第一次握手的數據字段已成功發送1個字節,因此數據字段序號 seq 從0變爲1。確認號是告訴對方,下一個應該發送的數據字節的編號。由於對方(服務器)上一次(第二次握手) 發來 seq 的序號字段是0,下一個應該發送的就應該是0+1=1,放在確定字段中發
送給對方(ACK=0+1=1)。

另外要注意TCP 不可以使用兩次握手建立連接。因爲兩次握手無法處理下面出現的情況:一個已失效的連接請求在超時後到達接收端,接收端收到請求,自然會接受請求,於是等待對方發送數據,可實際對方沒有數據要發送,因此不會發送數據,接收方只能空等。於是該連接就這樣在無數據傳輸的情況下白白浪費很多資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章