Tcp協議三次握手抓包分析
一、Tcp協議三次握手介紹
1.TCP是主機對主機層的傳輸控制協議,提供可靠的連接服務,採用三次握手確認建立一個連接。
2.tcp標誌位,有6種標示:
SYN(synchronous建立聯機)
ACK(acknowledgement 確認)
PSH(push傳送)
FIN(finish結束)
RST(reset重置)
URG(urgent緊急)
Sequence number(順序號碼)
Acknowledge number(確認號碼)
二、實驗環境
Client與Server建立tcp連接,Client IP地址爲10.0.0.100,網關10.0.0.254;Server IP地址爲20.0.0.100,網關20.0.0.254
三、抓包分析
1、第一次握手標誌位
客戶端發送一個TCP的SYN標誌位置1的包,也就是在做請求(SYN)
2、第二次握手標誌位
可以看到標誌位裏面有個確認位和同步位,也就是在做應答(SYN + ACK)
3、第三次握手標誌位
客戶端再次發送確認包(ACK) SYN標誌位爲0,ACK標誌位爲1,也就是再做再次確認(ACK)
四、實驗總結
1.第一次握手:主機A發送位碼爲syn=1,隨機產生seq number=1234567的數據包到服務器,主機B由SYN=1知道,A要求建立tcp連接
2.第二次握手:主機B收到請求後要確認聯機信息,向A發送ack number=(主機A的seq+1),syn=1,ack=1,隨機產生seq=7654321的包
3.第三次握手:主機A收到後檢查ack number是否正確,即第一次發送的seq number+1,以及位碼ack是否爲1,若正確,主機A會再發送ack number=(主機B的seq+1),ack=1,主機B收到後確認seq值與ack=1則連接建立成功。
4.完成三次握手,主機A與主機B開始傳送數據。