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為服務器

建立過程的描述請看謝老的講述、以及報文抓取截圖中的信號

 

5.數據的發送

6.TCP的鏈接釋放

TCP鏈接釋放報文交互信息

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

7.TCP的有限狀態機

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

6.TCP建立鏈接和斷開所用到的工具

開啟客戶端和服務端程序並且啟動服務的監聽

開啟服務端

 

開啟客戶端

TCP測試工具下載地址 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM