很抱歉,今天本來是要更新應急回應的,一個ctlt+z讓我在暫時放棄了
8900字,直接跳回2300字,今天沒法沉下心去寫了,為了寫出來的文章品質更高,今天暫時不更新,畢竟應急回應后續是比較難的,
目錄
1. TCP報文的頭
2. 三次握手程序
3. 三次握手程序(狀態機)
4. 實體觀察tcpdump命令
5. 從實體看三次握手程序
6. 精品文章分享
這篇文章你如果可以認認真真一點點看完,你識訓會很大,
看不懂的地方可以查看我給的傳送門,相信你看完之后會學到很多,不僅僅是tcp三次握手四次揮手,主要是學習思路可以得到很大的提升,
TCP 的三次握手和四次揮手是大廠常見的面試考題,具有一定的水平區分度,
如果你的回答不符合面試官期待的水準,有可能就直接涼涼,
那么,之前我是分享過TCP三次握手和四次揮手的,之前我是站在一個常見面試題的角度去進行的分享,講的比較淺,主要講了為什么不能兩次握手,半連接佇列是什么,SYN Flood攻擊是什么,四次揮手為什么是十四次以及12種狀態機,傳送門
那么這篇文章將從其他的角度來進行分享
1. TCP報文的頭
要徹底掌握三次握手和四次揮手我們就需要了解TCP報文的頭部結構,如下圖所示:


需要用到的欄位:SYN表示建立連接,FIN表示關閉連接,ACK表示回應,PSH表示有 DATA資料傳輸,RST表示連接重置
2. 三次握手程序
(在此不做詳細講解,可看傳送門)

3. 三次握手程序(狀態機)
(在此不做詳細講解,可看傳送門)

4. 實體觀察tcpdump命令
使用tcpdump觀察如下:因為都是在本機同時運行client和server
所以命令為: tcpdump -i lo port 5555
只能監聽回路lo介面,結果如下:
如圖用紅色圈起來的就是3次握手
但是為什么最后一次握手,為什么ack = 1,而不是369535922 呢
這是因為這里的第三次握手tcpdump顯示的是相對的順序號,
但是為了便于觀察我們需要把tcpdump的順序號變為絕對的順序號,
命令只需要加-S(大寫)便可,即:tcpdump - i lo port 5555 -S
5. 從實體看三次握手程序
從tcpdump的資料,可以明顯的看到三次握手的程序是:
第一次握手:client SYN=1, Sequence number=2322326583 —> server
第二次握手:server SYN=1,Sequence number=3573692787; ACK=1, Acknowledgment number=2322326583 + 1 —> client
第三次握手:client ACK=1, Acknowledgment number=3573692787 + 1 -->server
6. 精品文章分享
[ 網路模型篇 ]大白話告訴你什么是OSI七層模型
[ 網路協議篇 ] 一篇文章讓你掌握神秘的 ACL
[ 網路協議篇 ] 一篇文章讓你掌握神秘的 NAT
[ 網路協議篇 ] 一篇文章讓你掌握神秘的 DHCP(一)
[ 應急回應 ]服務器(電腦)受到攻擊該如何處理?(三)
睡覺:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/374684.html
標籤:其他


