天天看點

TCP的封包格式及具體内容分析,TCP三向交握(從wireshark捕獲到的TCP包觀察)

TCP的封包具體内容:

從下圖可以看到wireshark捕獲到的TCP包中的每個字段。

TCP的封包格式及具體内容分析,TCP三向交握(從wireshark捕獲到的TCP包觀察)

TCP三向交握的執行個體:

TCP的封包格式及具體内容分析,TCP三向交握(從wireshark捕獲到的TCP包觀察)

1. Wireshark抓包完成後,在wireshark中輸入http過濾”tcp.stream eq 5”, 然後選中你要檢視的記錄,右鍵然後點選"Follow TCP Stream"(跟蹤流)。這樣做的目的是為了得到與浏覽器打開網站相關的資料包,将得到如下圖

TCP的封包格式及具體内容分析,TCP三向交握(從wireshark捕獲到的TCP包觀察)

圖中可以看到wireshark截獲到了三次握手的三個資料包。第四個包才是HTTP的, 這說明HTTP的确是使用TCP建立連接配接的。

第一次握手資料包

用戶端發送一個TCP,标志位為SYN,序列号為0, 代表用戶端請求建立連接配接。 如下圖

TCP的封包格式及具體内容分析,TCP三向交握(從wireshark捕獲到的TCP包觀察)

第二次握手的資料包

伺服器發回确認包, 标志位為 SYN,ACK. 将确認序号(Acknowledgement Number)設定為客戶的ISN加1.即0+1=1, 如下圖

TCP的封包格式及具體内容分析,TCP三向交握(從wireshark捕獲到的TCP包觀察)

第三次握手的資料包

用戶端再次發送确認包(ACK) SYN标志位為0,ACK标志位為1.并且把伺服器發來ACK的序号字段+1,放在确定字段中發送給對方.并且在資料段放寫ISN的+1, 如下圖: 

TCP的封包格式及具體内容分析,TCP三向交握(從wireshark捕獲到的TCP包觀察)

就這樣通過了TCP三向交握,建立了連接配接。

繼續閱讀