日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

 

面試中我們經常會被問到TCP協議的三次握手和四次揮手的過程,為什么總喜歡問這個問題呢?

 

其實我們平時使用的很多協議都是應用層協議,比如HTTP協議,https協議,DNS協議,FTP協議等;而應用層協議都是要基于傳輸層的兩個協議之上的,也就是TCP協議和UDP協議。我們在使用應用層協議遇到一些問題需要去分析定位的時候,會需要涉及到底層協議的連接問題上。所以,作為測試掌握這兩個底層協議的工作原理是非常有必要的!

 

UDP協議作為一個不可靠的傳輸層協議,工作過程相對比較簡單!所以我們就重點來大家講一下TCP協議。

 

Wireshark抓包分析TCP協議 為了更好的學習和理解TCP協議的連接和斷開連接的過程,我們來引入一個非常適合用來學習網絡協議的抓包工具Wireshark。這個抓包工具可以詳細看到每一層網絡報文的詳細信息。

 

TCP協議的三次握手過程 TCP建立連接需要經歷三次握手,具體過程如下:

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

 

那么,這個過程我們配合抓包工具來看看具體的案例;如下圖是訪問某個HTTP請求用wireshark抓到的報文,前面的三個報文就是TCP的三次握手過程:SYN包,SYN ACK包,ACK報文。

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

 

展開看詳情:

 

第一次握手的報文如下:這是客戶端發起給服務器的報文,用于請求建立連接。

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

 

可以看到TCP報文里有一個Flags位:

 

當Syn位標記為1的時候,表示這個報文是一個請求鏈接的報文;

 

自己的序號(sequence number):0

 

第二次握手的報文如下:這是服務器回復給客戶端的報文,用于確認并同意連接請求。

Wireshark抓包分析TCP協議:三次握手和四次揮手

可以看到TCP報文里的Flags位:

 

Syn位也標記為1,表示這個報文是一個同意建立鏈接的報文;

 

ACK位也標記為1,表示是一個對上一個報文的確認報文;

 

Sequence number:自己的序號;

 

acknowledgment number:表示對上一個請求報文的確認號,所以是在上一個報文的序號+1

 

第三次握手:是客戶端發給服務器的,是對上一個同意連接請求的確認。

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

 

Flags里的ACK位標記為1,表示是一個對上一個報文的確認報文;

 

Sequence number:自己的序號,在上一個報文的基礎上+1;

 

acknowledgment number:表示對上一個請求報文的確認號,在上一個報文序號的基礎上+1.

 

至此,三次握手完成!接下來就開始發送HTTP的請求了。

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

 

TCP協議的四次揮手過程

 

當數據傳輸結束了,客戶端和服務器之間就開始斷開連接了。斷開連接需要經歷四次揮手,具體過程如下:

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

 

同樣,我們用wireshark工具來進行詳細過程的報文的分析:

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

 

我們同樣展開看下詳細的報文內容:

 

第一次揮手:當數據傳輸首先結束的端(比如客戶端),會率先發起結束斷開連接的請求:

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

 

Flags位的 Fin位標記為1,說明這是個一個斷開連接的請求的報文。

 

這時候我們發送這個請求的端已經停止發送數據了!但是還可以接受數據。

 

第二次揮手:對上一個斷開連接請求的報文進行確認。并同時,停止接受數據。

Wireshark抓包分析TCP協議:三次握手和四次揮手

 

 

所以,我們能看到這個報文的ACK位標記為1,并且acknowledgment number是對上一個報文的序號+1,表示對上一個報文的確認。

 

第三次揮手:服務器端也結束數據發送了,所以也會發起一個斷開連接的請求。

 

 

 

這是個服務器發起FIN報文,請求斷開連接,同時,服務器也會停止發送數據。

 

第四次揮手:是客戶端對服務器斷開連接請求的進行確認。

 

 

 

所以這個flags位是ACK位標記為1。此時,客戶端也停止接受數據了。

 

至此,服務器和客戶端都停止發送和接受數據了!四次揮手就完成了。

分享到:
標簽:Wireshark
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定