0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

網(wǎng)絡分析工具WireShark從入門到入墳!

網(wǎng)絡技術(shù)干貨圈 ? 來源:網(wǎng)絡技術(shù)干貨圈 ? 作者:網(wǎng)絡技術(shù)干貨圈 ? 2022-12-16 10:07 ? 次閱讀

簡介

WireShark是非常流行的網(wǎng)絡封包分析工具,可以截取各種網(wǎng)絡數(shù)據(jù)包,并顯示數(shù)據(jù)包詳細信息。常用于開發(fā)測試過程中各種問題定位。本文主要內(nèi)容包括:
1、Wireshark軟件下載和安裝以及Wireshark主界面介紹。

2、WireShark簡單抓包示例。通過該例子學會怎么抓包以及如何簡單查看分析數(shù)據(jù)包內(nèi)容。

3、Wireshark過濾器使用。通過過濾器可以篩選出想要分析的內(nèi)容。包括按照協(xié)議過濾、端口和主機名過濾、數(shù)據(jù)包內(nèi)容過濾。

WireShark軟件安裝

軟件下載路徑:wireshark官網(wǎng):https://www.wireshark.org/。按照系統(tǒng)版本選擇下載,下載完成后,按照軟件提示一路Next安裝。

如果你是Win10系統(tǒng),安裝完成后,選擇抓包但是不顯示網(wǎng)卡,下載win10pcap兼容性安裝包。下載路徑:win10pcap兼容性安裝包 http://www.win10pcap.org/download/)

Wireshark 開始抓包示例

先介紹一個使用wireshark工具抓取ping命令操作的示例,讓讀者可以先上手操作感受一下抓包的具體過程。
1、打開wireshark 2.6.5,主界面如下:

8e1920aa-7ce5-11ed-8abf-dac502259ad0.png


2、選擇對應的網(wǎng)卡,右鍵,會出現(xiàn)Start Capture(開始捕獲),點擊即可進行捕獲該網(wǎng)絡信息,開始抓取網(wǎng)絡包

8e4969fe-7ce5-11ed-8abf-dac502259ad0.png



3、執(zhí)行需要抓包的操作,如ping www.baidu.com。
4、操作完成后相關數(shù)據(jù)包就抓取到了。為避免其他無用的數(shù)據(jù)包影響分析,可以通過在過濾欄設置過濾條件進行數(shù)據(jù)包列表過濾,獲取結(jié)果如下。
說明:ip.addr == 180.101.49.11 and icmp 表示只顯示ICPM協(xié)議且源主機IP或者目的主機IP為119.75.217.26的數(shù)據(jù)包。

8e7c24c0-7ce5-11ed-8abf-dac502259ad0.png

8fe609d4-7ce5-11ed-8abf-dac502259ad0.png


5、wireshark抓包完成,就這么簡單。關于wireshark過濾條件和如何查看數(shù)據(jù)包中的詳細內(nèi)容在后面介紹。

WireShark抓包界面

900f3ec6-7ce5-11ed-8abf-dac502259ad0.png


說明:數(shù)據(jù)包列表區(qū)中不同的協(xié)議使用了不同的顏色區(qū)分。協(xié)議顏色標識定位在菜單欄View --> Coloring Rules。如下所示

904c01d0-7ce5-11ed-8abf-dac502259ad0.png

WireShark 主要分為這幾個界面

1、Display Filter(顯示過濾器), 用于設置過濾條件進行數(shù)據(jù)包列表過濾。菜單路徑:Analyze --> Display Filters。

90793b6e-7ce5-11ed-8abf-dac502259ad0.png



2、Packet List Pane(數(shù)據(jù)包列表), 顯示捕獲到的數(shù)據(jù)包,每個數(shù)據(jù)包包含編號,時間截,源地址,目標地址,協(xié)議,長度,以及數(shù)據(jù)包信息。 不同協(xié)議的數(shù)據(jù)包使用了不同的顏色區(qū)分顯示。

90908080-7ce5-11ed-8abf-dac502259ad0.png




3、Packet Details Pane(數(shù)據(jù)包詳細信息), 在數(shù)據(jù)包列表中選擇指定數(shù)據(jù)包,在數(shù)據(jù)包詳細信息中會顯示數(shù)據(jù)包的所有詳細信息內(nèi)容。數(shù)據(jù)包詳細信息面板是最重要的,用來查看協(xié)議中的每一個字段。各行信息分別為
(1)Frame: 物理層的數(shù)據(jù)幀概況

(2)Ethernet II: 數(shù)據(jù)鏈路層以太網(wǎng)幀頭部信息

(3)Internet Protocol Version 4: 互聯(lián)網(wǎng)層IP包頭部信息

(4)Transmission Control Protocol: 傳輸層T的數(shù)據(jù)段頭部信息,此處是TCP

(5)Hypertext Transfer Protocol: 應用層的信息,此處是HTTP協(xié)議

90a7dfb4-7ce5-11ed-8abf-dac502259ad0.png

TCP包的具體內(nèi)容

從下圖可以看到wireshark捕獲到的TCP包中的每個字段。

90c464fe-7ce5-11ed-8abf-dac502259ad0.png


4. Dissector Pane(數(shù)據(jù)包字節(jié)區(qū))。

Wireshark過濾器設置

初學者使用wireshark時,將會得到大量的冗余數(shù)據(jù)包列表,以至于很難找到自己自己抓取的數(shù)據(jù)包部分。wireshar工具中自帶了兩種類型的過濾器,學會使用這兩種過濾器會幫助我們在大量的數(shù)據(jù)中迅速找到我們需要的信息。
(1)抓包過濾器

捕獲過濾器的菜單欄路徑為Capture --> Capture Filters。用于在抓取數(shù)據(jù)包前設置。

90fb7cf0-7ce5-11ed-8abf-dac502259ad0.png

如何使用?可以在抓取數(shù)據(jù)包前設置如下。

917bb672-7ce5-11ed-8abf-dac502259ad0.png


ip host 60.207.246.216 and icmp表示只捕獲主機IP為60.207.246.216的ICMP數(shù)據(jù)包。獲取結(jié)果如下:

919aff3c-7ce5-11ed-8abf-dac502259ad0.png

(2)顯示過濾器
顯示過濾器是用于在抓取數(shù)據(jù)包后設置過濾條件進行過濾數(shù)據(jù)包。通常是在抓取數(shù)據(jù)包時設置條件相對寬泛,抓取的數(shù)據(jù)包內(nèi)容較多時使用顯示過濾器設置條件過濾以方便分析。同樣上述場景,在捕獲時未設置捕獲規(guī)則直接通過網(wǎng)卡進行抓取所有數(shù)據(jù)包,如下

91c634cc-7ce5-11ed-8abf-dac502259ad0.png

執(zhí)行ping www.huawei.com獲取的數(shù)據(jù)包列表如下

91e38d4c-7ce5-11ed-8abf-dac502259ad0.png


觀察上述獲取的數(shù)據(jù)包列表,含有大量的無效數(shù)據(jù)。這時可以通過設置顯示器過濾條件進行提取分析信息。ip.addr == 211.162.2.183 and icmp。并進行過濾。

9204c890-7ce5-11ed-8abf-dac502259ad0.png

上述介紹了抓包過濾器和顯示過濾器的基本使用方法。在組網(wǎng)不復雜或者流量不大情況下,使用顯示器過濾器進行抓包后處理就可以滿足我們使用。下面介紹一下兩者間的語法以及它們的區(qū)別。

wireshark過濾器表達式的規(guī)則

1、抓包過濾器語法和實例

抓包過濾器類型Type(host、net、port)、方向Dir(src、dst)、協(xié)議Proto(ether、ip、tcp、udp、http、icmp、ftp等)、邏輯運算符(&& 與、|| 或、!非)

(1)協(xié)議過濾

比較簡單,直接在抓包過濾框中直接輸入?yún)f(xié)議名即可。

TCP,只顯示TCP協(xié)議的數(shù)據(jù)包列表

HTTP,只查看HTTP協(xié)議的數(shù)據(jù)包列表

ICMP,只顯示ICMP協(xié)議的數(shù)據(jù)包列表

(2)IP過濾

host 192.168.1.104

src host 192.168.1.104

dst host 192.168.1.104

(3)端口過濾

port 80

src port 80

dst port 80

(4)邏輯運算符&& 與、|| 或、!非

src host 192.168.1.104 && dst port 80 抓取主機地址為192.168.1.80、目的端口為80的數(shù)據(jù)包

host 192.168.1.104 || host 192.168.1.102 抓取主機為192.168.1.104或者192.168.1.102的數(shù)據(jù)包

!broadcast 不抓取廣播數(shù)據(jù)包
2、顯示過濾器語法和實例

(1)比較操作符

比較操作符有== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于。

(2)協(xié)議過濾

比較簡單,直接在Filter框中直接輸入?yún)f(xié)議名即可。注意:協(xié)議名稱需要輸入小寫。

tcp,只顯示TCP協(xié)議的數(shù)據(jù)包列表

http,只查看HTTP協(xié)議的數(shù)據(jù)包列表

icmp,只顯示ICMP協(xié)議的數(shù)據(jù)包列表

9231c28c-7ce5-11ed-8abf-dac502259ad0.png


(3) ip過濾
ip.src ==192.168.1.104 顯示源地址為192.168.1.104的數(shù)據(jù)包列表

ip.dst==192.168.1.104, 顯示目標地址為192.168.1.104的數(shù)據(jù)包列表

ip.addr == 192.168.1.104 顯示源IP地址或目標IP地址為192.168.1.104的數(shù)據(jù)包列表

925879c2-7ce5-11ed-8abf-dac502259ad0.png

(4)端口過濾

tcp.port ==80, 顯示源主機或者目的主機端口為80的數(shù)據(jù)包列表。

tcp.srcport == 80, 只顯示TCP協(xié)議的源主機端口為80的數(shù)據(jù)包列表。

tcp.dstport == 80,只顯示TCP協(xié)議的目的主機端口為80的數(shù)據(jù)包列表。

927a1906-7ce5-11ed-8abf-dac502259ad0.png

(5) Http模式過濾

http.request.method==“GET”, 只顯示HTTP GET方法的。
(6)邏輯運算符為 and/or/not

過濾多個條件組合時,使用and/or。比如獲取IP地址為192.168.1.104的ICMP數(shù)據(jù)包表達式為ip.addr == 192.168.1.104 and icmp

92a539b0-7ce5-11ed-8abf-dac502259ad0.png

(7)按照數(shù)據(jù)包內(nèi)容過濾。假設我要以IMCP層中的內(nèi)容進行過濾,可以單擊選中界面中的碼流,在下方進行選中數(shù)據(jù)。如下

92c1d1d8-7ce5-11ed-8abf-dac502259ad0.png


右鍵單擊選中后出現(xiàn)如下界面(作為過濾器應用)

93059cf6-7ce5-11ed-8abf-dac502259ad0.png

選中Select后在過濾器中顯示如下

93266ec2-7ce5-11ed-8abf-dac502259ad0.png


后面條件表達式就需要自己填寫。如下我想過濾出data數(shù)據(jù)包中包含"abcd"內(nèi)容的數(shù)據(jù)流。包含的關鍵詞是contains 后面跟上內(nèi)容。

93470a1a-7ce5-11ed-8abf-dac502259ad0.png

看到這, 基本上對wireshak有了初步了解。

Wireshark抓包分析TCP三次握手

(1)TCP三次握手連接建立過程

第一步:客戶端發(fā)送一個SYN=1,ACK=0標志的數(shù)據(jù)包給服務端,請求進行連接,這是第一次握手;

第二步:服務端收到請求并且允許連接的話,就會發(fā)送一個SYN=1,ACK=1標志的數(shù)據(jù)包給發(fā)送端,告訴它,可以通訊了,并且讓客戶端發(fā)送一個確認數(shù)據(jù)包,這是第二次握手;

第三步:服務端發(fā)送一個SYN=0,ACK=1的數(shù)據(jù)包給客戶端,告訴它連接已被確認,這就是第三次握手。TCP連接建立,開始通訊。

93a5511a-7ce5-11ed-8abf-dac502259ad0.png


(2)wireshark抓包獲取訪問指定服務端數(shù)據(jù)包
Step1:啟動wireshark抓包,打開瀏覽器輸入www.huawei.com。

Step2:使用ping www.huawei.com獲取IP。

93c1deac-7ce5-11ed-8abf-dac502259ad0.png


Step3:輸入過濾條件獲取待分析數(shù)據(jù)包列表 ip.addr == 211.162.2.183

93e0f15c-7ce5-11ed-8abf-dac502259ad0.png

圖中可以看到wireshark截獲到了三次握手的三個數(shù)據(jù)包。第四個包才是HTTP的, 這說明HTTP的確是使用TCP建立連接的。

第一次握手數(shù)據(jù)包

客戶端發(fā)送一個TCP,標志位為SYN,序列號為0, 代表客戶端請求建立連接。 如下圖。

9418af3e-7ce5-11ed-8abf-dac502259ad0.png

數(shù)據(jù)包的關鍵屬性如下:

SYN :標志位,表示請求建立連接

Seq = 0 :初始建立連接值為0,數(shù)據(jù)包的相對序列號從0開始,表示當前還沒有發(fā)送數(shù)據(jù)

Ack =0:初始建立連接值為0,已經(jīng)收到包的數(shù)量,表示當前沒有接收到數(shù)據(jù)
第二次握手的數(shù)據(jù)包

服務器發(fā)回確認包, 標志位為 SYN,ACK. 將確認序號(Acknowledgement Number)設置為客戶的I S N加1,即0+1=1, 如下圖

943928cc-7ce5-11ed-8abf-dac502259ad0.png

數(shù)據(jù)包的關鍵屬性如下:

Seq = 0 :初始建立值為0,表示當前還沒有發(fā)送數(shù)據(jù)

Ack = 1:表示當前端成功接收的數(shù)據(jù)位數(shù),雖然客戶端沒有發(fā)送任何有效數(shù)據(jù),確認號還是被加1,因為包含SYN或FIN標志位。(并不會對有效數(shù)據(jù)的計數(shù)產(chǎn)生影響,因為含有SYN或FIN標志位的包并不攜帶有效數(shù)據(jù))

第三次握手的數(shù)據(jù)包

客戶端再次發(fā)送確認包(ACK) SYN標志位為0,ACK標志位為1.并且把服務器發(fā)來ACK的序號字段+1,放在確定字段中發(fā)送給對方.并且在數(shù)據(jù)段放寫ISN的+1, 如下圖:

9473d8f0-7ce5-11ed-8abf-dac502259ad0.png


數(shù)據(jù)包的關鍵屬性如下:

ACK :標志位,表示已經(jīng)收到記錄

Seq = 1 :表示當前已經(jīng)發(fā)送1個數(shù)據(jù)

Ack = 1 : 表示當前端成功接收的數(shù)據(jù)位數(shù),雖然服務端沒有發(fā)送任何有效數(shù)據(jù),確認號還是被加1,因為包含SYN或FIN標志位(并不會對有效數(shù)據(jù)的計數(shù)產(chǎn)生影響,因為含有SYN或FIN標志位的包并不攜帶有效數(shù)據(jù))。

就這樣通過了TCP三次握手,建立了連接。開始進行數(shù)據(jù)交互

94b01f7c-7ce5-11ed-8abf-dac502259ad0.png

下面針對數(shù)據(jù)交互過程的數(shù)據(jù)包進行一些說明:

94d51eda-7ce5-11ed-8abf-dac502259ad0.png

數(shù)據(jù)包的關鍵屬性說明

Seq: 1

Ack: 1: 說明現(xiàn)在共收到1字節(jié)數(shù)據(jù)

951f3678-7ce5-11ed-8abf-dac502259ad0.png

Seq: 1
Ack: 951: 說明現(xiàn)在服務端共收到951字節(jié)數(shù)據(jù)

在TCP層,有個FLAGS字段,這個字段有以下幾個標識:SYN, FIN, ACK, PSH, RST, URG。如下

956124c0-7ce5-11ed-8abf-dac502259ad0.png



其中,對于我們?nèi)粘5姆治鲇杏玫木褪乔懊娴奈鍌€字段。它們的含義是:SYN表示建立連接,F(xiàn)IN表示關閉連接,ACK表示響應,PSH表示有DATA數(shù)據(jù)傳輸,RST表示連接重置。

Wireshark分析常用操作

調(diào)整數(shù)據(jù)包列表中時間截顯示格式。調(diào)整方法為View -->Time Display Format --> Date and Time of Day。調(diào)整后格式如下:

957e96d6-7ce5-11ed-8abf-dac502259ad0.png

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 網(wǎng)絡分析

    關注

    0

    文章

    28

    瀏覽量

    11769
  • 過濾器
    +關注

    關注

    1

    文章

    427

    瀏覽量

    19526
  • Wireshark
    +關注

    關注

    0

    文章

    49

    瀏覽量

    6491

原文標題:網(wǎng)絡分析工具WireShark從入門到入墳!

文章出處:【微信號:網(wǎng)絡技術(shù)干貨圈,微信公眾號:網(wǎng)絡技術(shù)干貨圈】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    矢量網(wǎng)絡分析儀的工作原理 矢量網(wǎng)絡分析儀的掃描速度

    矢量網(wǎng)絡分析儀(Vector Network Analyzer,簡稱VNA)是一種用于測量射頻(RF)和微波頻率范圍內(nèi)的網(wǎng)絡參數(shù)的儀器。它廣泛應用于通信、雷達、電子戰(zhàn)、航空航天等領域。本文將詳細介紹
    的頭像 發(fā)表于 06-03 15:42 ?1085次閱讀

    網(wǎng)絡分析儀工作原理 網(wǎng)絡分析儀和頻譜分析儀的區(qū)別

    網(wǎng)絡分析儀和頻譜分析儀是兩種廣泛應用于電子測量領域的儀器。它們各自具有獨特的工作原理和應用場景。本文將詳細介紹網(wǎng)絡分析儀的工作原理,網(wǎng)絡分析儀與頻譜
    的頭像 發(fā)表于 06-03 15:38 ?1239次閱讀

    艾體寶干貨 | 用于故障排除的最佳 Wireshark 過濾器

    Wireshark是一種流行的網(wǎng)絡協(xié)議分析工具,可用于捕獲和分析網(wǎng)絡數(shù)據(jù)包。在
    的頭像 發(fā)表于 05-29 15:40 ?497次閱讀
    艾體寶干貨 | 用于故障排除的最佳 <b class='flag-5'>Wireshark</b> 過濾器

    矢量網(wǎng)絡分析儀和射頻網(wǎng)絡分析儀有什么區(qū)別

    矢量網(wǎng)絡分析儀( VNA)和射頻網(wǎng)絡分析儀是兩種在電子工程領域中常用的測試儀器,它們主要用于測量和分析射頻(RF)和微波(MW)網(wǎng)絡的特性。
    的頭像 發(fā)表于 05-20 16:33 ?675次閱讀

    矢量網(wǎng)絡分析儀的頻率范圍解析

    、天線設計及測試等場景。在這些應用中,矢量網(wǎng)絡分析儀的頻率范圍是其核心性能指標之一,直接影響其測試能力和應用范圍。本文將對矢量網(wǎng)絡分析儀的頻率范圍進行深入解析,探討其技術(shù)特點、應用場景及未來發(fā)展趨勢。
    的頭像 發(fā)表于 05-17 18:24 ?1351次閱讀

    基于矢量網(wǎng)絡分析儀的時域測量技術(shù)

    隨著電子技術(shù)的飛速發(fā)展,網(wǎng)絡分析儀作為電子測量領域的重要工具,其應用日益廣泛。矢量網(wǎng)絡分析儀(Vector Network Analyzer,簡稱VNA)以其高精度、寬頻帶、多功能等優(yōu)點,在網(wǎng)
    的頭像 發(fā)表于 05-17 18:15 ?1101次閱讀

    矢量網(wǎng)絡分析儀的常見故障和原因分析

    矢量網(wǎng)絡分析儀(Vector Network Analyzer,簡稱VNA)是現(xiàn)代微波測試與測量領域的重要工具,其精度和穩(wěn)定性對于確保電子系統(tǒng)性能至關重要。然而,由于使用過程中的各種因素,矢量
    的頭像 發(fā)表于 05-13 17:06 ?1061次閱讀

    網(wǎng)絡分析儀和頻譜分析儀的區(qū)別

    在電子測試和測量領域,網(wǎng)絡分析儀和頻譜分析儀是兩種不可或缺的工具,它們各自在特定的應用場景中發(fā)揮著重要的作用。雖然兩者都用于信號分析,但它們在功能、原理、應用場景等方面存在顯著的差異。
    的頭像 發(fā)表于 05-10 15:52 ?1040次閱讀

    矢量網(wǎng)絡分析儀的技術(shù)指標

    指矢量網(wǎng)絡分析儀能夠覆蓋的頻率區(qū)間。例如,一些矢量網(wǎng)絡分析儀的頻率范圍可以10MHz67GHz,甚至更寬。
    的頭像 發(fā)表于 05-09 16:15 ?757次閱讀

    網(wǎng)絡分析儀的分類

    網(wǎng)絡分析儀主要可以分為兩類:標量網(wǎng)絡分析儀(Scalar Network Analyzer)和矢量網(wǎng)絡分析儀(Vector Network Analyzer)。
    的頭像 發(fā)表于 05-08 16:34 ?513次閱讀

    網(wǎng)絡分析儀的工作原理

    網(wǎng)絡分析儀是一種能在寬頻帶內(nèi)進行掃描測量以確定網(wǎng)絡參量的綜合性微波測量儀器,其全稱是微波網(wǎng)絡分析儀。
    的頭像 發(fā)表于 05-08 16:33 ?672次閱讀

    網(wǎng)絡分析儀的作用和應用

    網(wǎng)絡分析儀是一種能在寬頻帶內(nèi)進行掃描測量以確定網(wǎng)絡參量的綜合性微波測量儀器。
    的頭像 發(fā)表于 05-08 16:22 ?850次閱讀

    什么是網(wǎng)絡分析

    網(wǎng)絡分析儀是一種能在寬頻帶內(nèi)進行掃描測量以確定網(wǎng)絡參量的綜合性微波測量儀器,其全稱是微波網(wǎng)絡分析儀。該儀器主要用于測量網(wǎng)絡參數(shù),具有多種功能,如直接測量有源或無源、可逆或不可逆的雙口和
    的頭像 發(fā)表于 05-08 16:22 ?665次閱讀

    網(wǎng)絡監(jiān)控工具有哪些 網(wǎng)絡監(jiān)控用幾芯網(wǎng)線

    情況,幫助管理員了解網(wǎng)絡的使用狀況和流量分布,以便進行合理的網(wǎng)絡設計和帶寬管理。常見的網(wǎng)絡流量監(jiān)控工具Wireshark、NetworkM
    的頭像 發(fā)表于 01-24 10:00 ?981次閱讀

    矢量網(wǎng)絡分析儀校準技術(shù)規(guī)范

    矢量網(wǎng)絡分析儀校準規(guī)范
    發(fā)表于 12-14 09:42 ?0次下載