其實一直都想把知識點複習下,這次不能再拖延了
基本的操作就不介紹了,主要就是選擇當前網路,然後start.
在瀏覽器開啟主頁zckongbai.farbox.com,然後在wireshark中過濾當前的ip:
網路層次劃分如下,三次握手是傳輸層的tcp協議和應用層之間的互動
所有我們在抓包分析的時候主要關注的就是傳輸層- transmission control protocol ,如上圖標註所示.
先看看tcp報文段格式:
對應wireshark抓包的資料
比較重要的:好了, 正式開始分析握手吧.sequence number – 序號
acknowledgment number – 確認號
flags – 標誌位
— acknowledgment 確認位
— push 急迫位
— reset 重置位
— syn 同步位
— fin 終止位
因為我們開啟乙個**的時候,可能會同時建立多個請求,所以在wireshark裡面會抓到很多個請求,這個時候,我們選取乙個,右擊 conversation filter > tcp 這樣就過濾出這次完整的tcp請求流程客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認:從標誌位可以看到,同步位syn有值,在做請求[syn]: syn同步位為1localhost seq=0 -> 部落格位址
伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態:從標誌位看出,確認位、同步位有值,在做應答(syn+ack):syn 同步位為 1 、acknowledgment 確認位為 1部落格位址 seq=0 ack=1 -> localhost
客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手:從標誌位看出,只有確認位有值,在做再次確認(syn): acknowledgment確認位為1localhost seq=1 ack=1 -> 部落格位址 (注: seq=seq+1)
到此完成三次握手,客戶端與伺服器開始傳送資料.
完整的步驟就是:
請求(syn) -> 應答(syn+ack) -> 再次確認(syn)
TCP協議之三次握手
三次握手 三次握手 three way handshake 即建立tcp連線,就是指建立乙個tcp連線時,需要客戶端和服務端總共傳送3個包以確認連線的建立。在socket 程式設計中,這一過程由客戶端執行connect來觸發,整個流程如下圖所示 1 第一次握手 client將標誌位syn置為1,隨機...
HTTP協議之TCP之三次握手
size medium b tcp 建立連線中三次握手都做了那些事?b size b 第一次 b 客戶端 在嗎?服務端 在。b 第二次 b 客戶端 可用嗎?服務端 可用。你確定要用嗎?b 第三次 b 客戶端 是。我們開始吧。服務端 好。鏈結建立成功。開始通訊。但是為什麼一定要進行三次握手來保證連線是...
TCP基礎之三次握手
tcp協議規定的傳輸格式如下圖所示 這就是三次握手,交流三次,剛看的時候反正一臉懵逼,什麼syn,什麼ack,不了解,也不理解。syn和ack都是標誌位 標誌位 syn 請求建立連線,及tcp傳輸格式中的32位序列 ack 應答,及tcp傳輸格式中的32位確認序列 三次握手 第一次握手 伺服器一般是...