TCP三次握手 wireShark分析

2021-08-25 02:47:16 字數 1821 閱讀 6207

使用nslookup查詢www.tmall.com的ip位址

ps c:\windows\system32> nslookup www.tmall

.com

dns request timed out.

timeout was 2 seconds.

伺服器: unknown

address:

101.226

.4.6

非權威應答:

名稱: www.tmall

.com

.danuoyi

.tbcache

.com

addresses:

183.232

.250

.235

183.232

.238

.239

183.232

.250

.236

183.232

.249

.239

183.232

.249

.106

aliases: www.tmall

.com

使用wireshark的過濾工具建立專門捕獲我們需要通訊的server的資料

219.223.247.181也就是本機的ip位址,後面一律使用客戶端描述,而183.232.250.235的ip位址是天貓的乙個ip位址

點開網頁,進入天貓頁面,檢視wireshark捕捉tcp

第一次握手:從第一次握手我們client傳送的sequence num = 0,這是乙個相對的數字,其實是隨機產生的;acknowledge number=0;acknowledgement這個字段沒有被設定,而syn=1這兩個字段表示這是客戶端發起連線用於表示這是乙個請求連線的資料。

第二次握手:從第二次握手我們可以看到服務端傳送資料給客戶端傳送的sequence num = 0;但是acknowledge number=1是客戶端的sequence number+1的結果,表示服務端接收到了客戶端傳送的資料;syn這個欄位和acknowledgement都設定 為1表示這是服務端建立連線,並攜帶了確認訊號的資料報。

第三次握手:我們發現客戶端傳送的sequence num = 1,這是上乙個server端傳送的acknowledgement num。而acknowledge number=1是表示對server端傳送的sequence num 的乙個響應,表示自己已經接收到了這個服務端建立請求連線的資訊。

流程總結

如果採用兩次握手,那麼假如client第一次傳送乙個請求連線資料給server,但是這個資料經過乙個漫長的路由之後才會達到server,此時client在規定的時間內沒有收到server的確認連線請求資訊,又會重新傳送乙個請求連線資料用於請求連線,這一次連線資料很快到達了,並建立起了連線,進行資料交換完成以後會關閉連線。這個時候,第乙個請求連線的資料終於到達了server端,此時server端不需要進行第二次和第三次握手,直接開啟乙個執行緒建立連線,但是此時客戶端已經傳輸完資料了,不會再傳送資料了。這樣server端就會造成乙個資源浪費。

tcp三次握手 TCP 三次握手總結

tcp特點概述 tcp segment structure 段結構 step2 server host receives syn,replie with syn ack segment 答覆syn ack報文段 step3 client receives synack,replies with ac...

TCP 三次握手

tcp 三次握手 tcp 連線是通過三次握手進行初始化的。三次握手的目的是同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。以下步驟概述了通常情況下客戶端計算機聯絡伺服器計算機的過程 1.客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小 表示客戶端上用來...

TCP三次握手

1.伺服器準備好接受外來連線。passive open 被動開啟 需呼叫 socket bind listen 函式來完成。2.客戶端通過呼叫 connect 主動開啟 active open 這使得客戶 tcp傳送乙個 syn 表示同步 分節,這個分節告訴伺服器,客戶端將在待建立的連線中傳送的資料...