天天看點

Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析

Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析

一、介紹計算機網絡體系結構

1.計算機的網絡體系結構

在抓包分析TCP建立連結之前首先了解下計算機的網絡通信的模型,我相信學習過計算機網絡的都比較熟悉,如下圖所示是一個OSI七層模型、TCP/IP四層模型以及五層模型的對比圖。(此圖來源于計算機網絡第七版-謝希仁版本書)。

其中OSI模型以及TCP/IP的模型大夥都應該熟悉,至于說五層模型,就是講網絡接口層分成 資料鍊路層、和實體層,關于這個問題,謝老這麼解釋的

2.計算機網絡模型每層所包含的資訊内容

内容介紹

    • 實體層 
      • 通過線路傳送原始的比特流
      • 隻完成一個節點到另一個節點的傳送
    • 資料鍊路層 
      • 通過實體網絡傳送包(這裡的包指的是資料報)
      • 實作點到點的可靠傳輸
    • 網絡層 
      • 把包裡面的目的位址拿出來,進行路由選擇,決定要往哪個方向傳輸
      • 負責從源通過路由選擇到目的地的過程,達到從源主機傳輸資料到目标主機的目的
    • 傳輸層 
      • 網絡層隻是把資料送到主機,但不會送到程序,傳輸層負責程序與主機間的傳輸,主機到主機的傳輸交由網絡層負責
      • 傳輸層實作端到端的可靠傳送
    • 會話層 
      • 通過資料流建立會話關系
    • 展示層 
      • 資料壓縮、解壓、加密、解密、資料類型、格式變換等一切與資料展示有關的操作
    • 應用層 
      • 專門針對某些應用提供服務

針對以上内容展現一個圖例

此圖來源于https://www.jianshu.com/p/c793a279f698 不定非常準确,參考

二、使用抓包工具分析TCP連結過程

1.安裝Wireshark(自己百度下載下傳安裝)

我使用版本Version 1.4.9 ,工具有好多比如Sniffer等等,這個工具自己解決

2.開啟wireshark

輕按兩下打開本軟體--點選接口清單或者單擊這個圖示  ,彈出網卡監聽的界面對話框,可以選擇對應的網卡監聽、滑鼠點選ip位址可以從IPV4與IPV6互相切換,點選開始即可。

點選開始即可監聽該網卡所流經過的資料

我使用倆台機器來測試抓取封包 如下圖所示,服務開啟端口為4455,用戶端随機開啟一個  我測試過程中的為40183

可以看到頭部的Filter 過濾規則、如果為空白,則會将流經本網卡的所有資料均監聽采集上來,為了友善抓取我們所需要的資料包,我們需要過濾掉無關的消息

3.輸入過濾規則進行過濾

過濾規則

  • tcp->隻顯示TCP協定的記錄;
  • http->隻看HTTP協定的記錄;
  • ip.src ==192.168.0.110 ->顯示源位址為192.168.0.110的記錄;
  • ip.dst==192.168.0.1120 ->目标位址為192.168.0.120的記錄;
  • ip.addr == 42.121.252.58 ->隻顯示與某主機的通信;
  • tcp.port ==80->端口為80的;
  • tcp.srcport == 80 ->隻顯示TCP協定的源端口為80的;
  • http.request.method=="GET"  ->隻顯示HTTP GET方法的;
  • eth.type == 0x806->隻顯示ARP封包,這個字段的值表示是ARP封包,如果是ip封包此值為0x8000
  • 注:Type後面的值記不住的話,可以在Expression中選擇,

例如:ip.src == 192.168.0.109 or ip.dst == 192.168.0.109 and tcp  表示ip位址來源是192.168.0.120 或者ip位址目的為192.168.0.120并且通信協定是tcp

我輸入的是:tcp.srcport == 4455 or tcp.dstport == 4455 表示隻檢視目的端口和來源端口為4455的資訊

過濾封包如下

 過濾規則也有說明打擊表達式可以檢視别的規則文法

檢視具體抓到的資料包對應的協定層

4.TCP的連結建立

TCP的三次握手

包資料

TCP的三次握手建立連結圖(此圖依然來源于計算機網絡-謝希仁)

由上圖可以看出TCP的連結三次握手信号的過程 A為用戶端,B為伺服器

建立過程的描述請看謝老的講述、以及封包抓取截圖中的信号

Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析
Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析
Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析

5.資料的發送

Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析
Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析

6.TCP的連結釋放

TCP連結釋放封包互動資訊

Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析

TCP連結釋放的過程,也就是通常說的四次揮手

Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析
Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析
Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析
Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析

7.TCP的有限狀态機

為了能夠更加清晰的看清楚TCP連結過程的狀态變化情況,以及狀态之間的關系下圖介紹了TCP的有限狀态機

Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析
Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析

6.TCP建立連結和斷開所用到的工具

開啟用戶端和服務端程式并且啟動服務的監聽

開啟服務端

開啟用戶端

Wireshark抓包分析TCP建立/釋放連結的過程以及狀态變遷分析

TCP測試工具下載下傳位址