日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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測試工具下載地址?

?

轉載于:https://www.cnblogs.com/JiYF/p/9284239.html

總結

以上是生活随笔為你收集整理的Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。