在抓包分析TCP創建連接以前首先了解下計算機的網絡通訊的模型,我相信學習過計算機網絡的都比較熟悉,以下圖所示是一個OSI七層模型、TCP/IP四層模型以及五層模型的對比圖。(此圖來源於計算機網絡第七版-謝希仁版本書)。服務器
其中OSI模型以及TCP/IP的模型大夥都應該熟悉,至於說五層模型,就是講網絡接口層分紅 數據鏈路層、和物理層,關於這個問題,謝老這麼解釋的網絡
此圖來源於https://www.jianshu.com/p/c793a279f698 不定很是準確,參考tcp
我使用版本Version 1.4.9 ,工具備好多好比Sniffer等等,這個工具本身解決工具
雙擊打開本軟件--點擊接口列表或者單擊這個圖標 ,彈出網卡監聽的界面對話框,能夠選擇對應的網卡監聽、鼠標點擊ip地址能夠從IPV4與IPV6相互切換,點擊開始便可。學習
點擊開始便可監聽該網卡所流通過的數據測試
我使用倆臺機器來測試抓取報文 以下圖所示,服務開啓端口爲4455,客戶端隨機開啓一個 我測試過程當中的爲40183加密
能夠看到頭部的Filter 過濾規則、若是爲空白,則會將流經本網卡的全部數據均監聽採集上來,爲了方便抓取咱們所須要的數據包,咱們須要過濾掉無關的消息計算機網絡
過濾規則3d
例如:ip.src == 192.168.0.109 or ip.dst == 192.168.0.109 and tcp 表示ip地址來源是192.168.0.120 或者ip地址目的爲192.168.0.120而且通訊協議是tcpblog
我輸入的是:tcp.srcport == 4455 or tcp.dstport == 4455 表示只查看目的端口和來源端口爲4455的信息
過濾報文以下
過濾規則也有說明打擊表達式能夠查看別的規則語法
TCP的三次握手
包數據
TCP的三次握手創建連接圖(此圖依然來源於計算機網絡-謝希仁)
由上圖能夠看出TCP的連接三次握手信號的過程 A爲客戶端,B爲服務器
創建過程的描述請看謝老的講述、以及報文抓取截圖中的信號
TCP連接釋放報文交互信息
TCP連接釋放的過程,也就是一般說的四次揮手
爲了可以更加清晰的看清楚TCP連接過程的狀態變化狀況,以及狀態之間的關係下圖介紹了TCP的有限狀態機
開啓客戶端和服務端程序而且啓動服務的監聽