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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

WireShark的常用操作

dyquk4xk2p3d ? 來源:良許Linux ? 2023-05-26 15:16 ? 次閱讀

WireShark是一個網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是擷取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。Wireshark使用WinPCAP作為接口,直接與網(wǎng)卡進(jìn)行數(shù)據(jù)報文交換。在網(wǎng)絡(luò)封包和流量分析領(lǐng)域有著十分強(qiáng)大功能的工具,深受各類網(wǎng)絡(luò)工程師和網(wǎng)絡(luò)分析師的喜愛。

本文主要內(nèi)容包括:

1、Wireshark主界面介紹。

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

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

我們首先來介紹一下Wireshark這款軟件。7e4c95ea-fae3-11ed-90ce-dac502259ad0.jpg

首先我們先認(rèn)識一下這個軟件的主界面是長這樣的

7e5515f8-fae3-11ed-90ce-dac502259ad0.jpg

在這個界面中為Wireshark的主界面

選擇菜單欄上Capture -> Option,勾選WLAN網(wǎng)卡(這里需要根據(jù)各自電腦網(wǎng)卡使用情況選擇,簡單的辦法可以看使用的IP對應(yīng)的網(wǎng)卡)。點擊Start。啟動抓包。

7e5ad75e-fae3-11ed-90ce-dac502259ad0.jpg

wireshark啟動后,wireshark處于抓包狀態(tài)中。

7e5fa5cc-fae3-11ed-90ce-dac502259ad0.jpg

1、執(zhí)行需要抓包的操作,如ping www.baidu.com。

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

7e65db54-fae3-11ed-90ce-dac502259ad0.jpg

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

Wireshakr抓包界面

7e6d1d88-fae3-11ed-90ce-dac502259ad0.jpg

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

7e75bd08-fae3-11ed-90ce-dac502259ad0.jpg

WireShark 主要分為這幾個界面

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

7e7acb18-fae3-11ed-90ce-dac502259ad0.jpg

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

7e82c692-fae3-11ed-90ce-dac502259ad0.jpg

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

(1)Frame:物理層的數(shù)據(jù)幀概況

(2)EthernetII:數(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:應(yīng)用層的信息,此處是HTTP協(xié)議

7e8a953e-fae3-11ed-90ce-dac502259ad0.jpg

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

從下圖可以看到wireshark捕獲到的TCP包中的每個字段。7e90d836-fae3-11ed-90ce-dac502259ad0.jpg

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

Wireshark過濾器設(shè)置

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

(1)抓包過濾器

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

7e95dcfa-fae3-11ed-90ce-dac502259ad0.jpg

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

7e9fd282-fae3-11ed-90ce-dac502259ad0.jpg

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

7ea7e634-fae3-11ed-90ce-dac502259ad0.jpg

(2)顯示過濾器

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

7eaf674c-fae3-11ed-90ce-dac502259ad0.jpg

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

7eb616f0-fae3-11ed-90ce-dac502259ad0.jpg

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

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

wireshark過濾器表達(dá)式的規(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ù)包列表7ec79614-fae3-11ed-90ce-dac502259ad0.jpg

(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 抓取主機(jī)地址為192.168.1.80、目的端口為80的數(shù)據(jù)包

host 192.168.1.104 || host 192.168.1.102 抓取主機(jī)為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ù)包列表

(3) ip過濾

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

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

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

7ecdebea-fae3-11ed-90ce-dac502259ad0.jpg

(4)端口過濾

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

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

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

7eddda5a-fae3-11ed-90ce-dac502259ad0.jpg

(5) Http模式過濾

http.request.method=="GET", 只顯示HTTP GET方法的。

(6)邏輯運算符為 and/or/not

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

7ee387de-fae3-11ed-90ce-dac502259ad0.jpg

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

7ee90e34-fae3-11ed-90ce-dac502259ad0.jpg

右鍵單擊選中后出現(xiàn)如下界面

7ef23dd8-fae3-11ed-90ce-dac502259ad0.jpg

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

7efe95ce-fae3-11ed-90ce-dac502259ad0.jpg

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

7f05e64e-fae3-11ed-90ce-dac502259ad0.jpg

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

Wireshark抓包分析TCP三次握手

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

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

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

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

7f0b9058-fae3-11ed-90ce-dac502259ad0.jpg

(2)wireshark抓包獲取訪問指定服務(wù)端數(shù)據(jù)包

Step1:啟動wireshark抓包,打開瀏覽器輸入www.huawei.com。

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

7f0fe856-fae3-11ed-90ce-dac502259ad0.jpg

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

7f19718c-fae3-11ed-90ce-dac502259ad0.jpg

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

第一次握手?jǐn)?shù)據(jù)包

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

7f205236-fae3-11ed-90ce-dac502259ad0.jpg

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

SYN :標(biāo)志位,表示請求建立連接

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

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

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

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

7f27d146-fae3-11ed-90ce-dac502259ad0.jpg

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

[SYN + ACK]: 標(biāo)志位,同意建立連接,并回送SYN+ACK

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

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

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

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

7f3075bc-fae3-11ed-90ce-dac502259ad0.jpg

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

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

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

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

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

7f3a6716-fae3-11ed-90ce-dac502259ad0.jpg

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

7f446d74-fae3-11ed-90ce-dac502259ad0.jpg

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

Seq: 1

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

7f4e2c38-fae3-11ed-90ce-dac502259ad0.jpg

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

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

7f567424-fae3-11ed-90ce-dac502259ad0.jpg

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

Wireshark分析常用操作

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

7f6479ac-fae3-11ed-90ce-dac502259ad0.jpg

這些就是WireShark的常用操作了。

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

    關(guān)注

    8

    文章

    6808

    瀏覽量

    88743
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1347

    瀏覽量

    78933
  • Wireshark
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    6489

原文標(biāo)題:Wireshark 的抓包和分析,看這篇就夠了!

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Wireshark抓包和Tcpdump抓包實例分析

    wireshark是開源軟件,可以放心使用。可以運行在Windows和Mac OS上。對應(yīng)的,linux下的抓包工具是 tcpdump。使用wireshark的人必須了解網(wǎng)絡(luò)協(xié)議,否則就看不懂wireshark了。
    的頭像 發(fā)表于 02-01 09:31 ?2968次閱讀

    wireshark(1)——ubuntu下解決wireshark權(quán)限問題

    wireshark要監(jiān)控eth0,但是必須要root權(quán)限才行。但是,直接用root運行程序是相當(dāng)危險,也是非常不方便的。解決方法如下: 1.添加wireshark用戶組 sudo groupadd
    發(fā)表于 01-08 10:18

    wireshark2——ubuntu系統(tǒng)下wireshark普通用戶抓包設(shè)置

    sudo的方式用root打開Wireshark顯然是不安全的,也不是很方便,因為得到的封包數(shù)據(jù)也屬于root用戶。解決這個問題的辦法——可以使用用戶組功能使用Wireshark,具體操作: 1、添加
    發(fā)表于 01-08 10:19

    Linux系統(tǒng)的wireshark安裝步驟

    wireshark是一個我們用來抓包的好幫手,使用它可讓我們看到端口數(shù)據(jù)變化(tcp/http等都可以),如接收、發(fā)送甚至是我們每個操作命令如何傳遞,都可以通過wireshark來截取數(shù)據(jù)查看,它會
    發(fā)表于 07-22 08:42

    如何使用WireShark進(jìn)行網(wǎng)絡(luò)抓包

      如何使用WireShark進(jìn)行網(wǎng)絡(luò)抓包:準(zhǔn)備工作、wireshark 主界面介紹、封包列表介紹
    發(fā)表于 04-02 07:05

    如何去使用Wireshark抓包工具呢

    Wireshark是什么?怎樣去安裝一種Wireshark抓包工具?如何去使用Wireshark抓包工具呢?
    發(fā)表于 09-17 06:31

    Wireshark中文簡明使用教程

    Wireshark中文簡明使用教程
    發(fā)表于 12-29 11:33 ?0次下載

    Ubuntu16.04 LTS下apt安裝WireShark

    Ubuntu16.04 LTS下apt安裝WireShark安裝與配置首先通過apt安裝WireShark:$ sudo apt install wireshark會同時安裝許多
    發(fā)表于 04-02 14:32 ?391次閱讀

    如何使用WireShark進(jìn)行TCP三次握手

    WireShark是一種非常方便的網(wǎng)絡(luò)抓包工具,下面演示,使用WireShark來抓取TCP的三次握手過程。
    的頭像 發(fā)表于 11-01 09:50 ?2083次閱讀

    在Ubuntu下如何使用wireshark抓包?

    Wireshark(前稱Ethereal)是一個網(wǎng)絡(luò)封包分析軟件。
    的頭像 發(fā)表于 02-22 09:26 ?4485次閱讀

    WireShark 的 IzoT 插件

    WireShark 的 IzoT 插件
    發(fā)表于 03-13 19:29 ?2次下載
    <b class='flag-5'>WireShark</b> 的 IzoT 插件

    Wireshark幾個常用技巧

    經(jīng)典的開源的網(wǎng)絡(luò)抓包工具 Wireshark 相信大部分人(或者搞過網(wǎng)絡(luò))的人都知道它,用過的人基本了解它的強(qiáng)大功能。
    的頭像 發(fā)表于 05-23 17:49 ?592次閱讀
    <b class='flag-5'>Wireshark</b>幾個<b class='flag-5'>常用</b>技巧

    WireShark 的 IzoT 插件

    WireShark 的 IzoT 插件
    發(fā)表于 07-04 20:46 ?0次下載
    <b class='flag-5'>WireShark</b> 的 IzoT 插件

    wireshark是什么軟件 wireshark安裝教程

    Wireshark 是網(wǎng)絡(luò)包分析工具。網(wǎng)絡(luò)包分析工具的主要作用是嘗試捕獲網(wǎng)絡(luò)包, 并嘗試顯示包的盡可能詳細(xì)的情況。 你可以把網(wǎng)絡(luò)包分析工具當(dāng)成是一種用來測量有什么東西從網(wǎng)線上進(jìn)出的測量工具,就好像
    發(fā)表于 09-13 16:26 ?0次下載

    Wireshark抓包原理及使用教程

    Wireshark使用的環(huán)境大致分為兩種,一種是電腦直連網(wǎng)絡(luò)的單機(jī)環(huán)境,另外一種就是應(yīng)用比較多的網(wǎng)絡(luò)環(huán)境,即連接交換機(jī)的情況。 「單機(jī)情況」下,Wireshark直接抓取本機(jī)網(wǎng)卡的網(wǎng)絡(luò)流量; 「交換機(jī)情況」下,Wiresha
    的頭像 發(fā)表于 11-19 15:05 ?5804次閱讀
    <b class='flag-5'>Wireshark</b>抓包原理及使用教程