您好,登錄后才能下訂單哦!
1. TCP報文段的首部格式
說明:
ACK : TCP協議規定,只有ACK=1時有效,也規定連接建立后所有發送的報文的ACK必須為1
SYN(SYNchronization) : 在連接建立時用來同步序號。當SYN=1而ACK=0時,表明這是一個連接請求報文。對方若同意建立連接,則應在響應報文中使SYN=1和ACK=1. 因此, SYN置1就表示這是一個連接請求或連接接受報文
FIN (finis)即完,終結的意思, 用來釋放一個連接。當 FIN = 1 時,表明此報文段的發送方的數據已經發送完畢,并要求釋放連接
2. tcp連接時的三次握手和斷開時的4次揮手整體過程
2.1 tcp三次握手具體過程
1)首先由Client發出請求連接即 SYN=1,聲明自己的序號是 seq=x(我可以給你發數據嗎?)
2)然后Server 進行回復確認,即 SYN=1 ,聲明自己的序號是 seq=y, 并設置為ack=x+1(可以)
3)最后Client 再進行一次確認,設置 seq=x+1, ack=y+1(好的)
注:seq 序列號范圍:2^32 -1 到最大值,再從0開始
seq 序列號作用:server端依據這個序列號來組數據
2.2 使用tcpdump抓包查看tcp三次握手過程
參數說明:
-c 指定包個數
-n IP、端口用數字方式顯示
-i 指定網卡,默認為eth0
-X 把協議頭和包內容以16進制和ASCII的形式顯示出來,對進行協議分析時很有用
-e 輸出增加以太網幀頭部信息
-F 指定過濾表達式所在的文件
-w 將流量保存到文件中,二進制格式
-r 讀取參數-w保存的文件
port 指定端口
1)192.168.1.24機器建立ssh連接
ssh root@192.168.1.124
說明:ssh也屬于tcp連接,等待抓取數據包過程中,另一臺服務器ssh登錄該服務器,無需輸密碼,即可完成3次握手
2)192.168.1.123機器
抓包 tcpdump port 22 -c 3 -n
注:Flags [S] 中的 S 表示為SYN包為1
client主機返回ACK,包序號為ack=1 ,這是相對序號,如果需要看絕對序號,可以在tcpdump命令中加-S
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。