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