在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Wireshark抓包原理及使用教程

網絡技術干貨圈 ? 來源:csdn ? 2023-11-19 15:05 ? 次閱讀

一、wireshark是什么?

wireshark是非常流行的網絡封包分析軟件,簡稱小鯊魚,功能十分強大。可以截取各種網絡封包,顯示網絡封包的詳細信息。

wireshark是開源軟件,可以放心使用。可以運行在Windows和Mac OS上。對應的,linux下的抓包工具是 tcpdump。使用wireshark的人必須了解網絡協議,否則就看不懂wireshark了。

二、Wireshark常用應用場景

1. 網絡管理員會使用wireshark來檢查網絡問題

2. 軟件測試工程師使用wireshark抓包,來分析自己測試的軟件

3. 從事socket編程的工程師會用wireshark來調試

4. 運維人員用于日常工作,應急響應等等

總之跟網絡相關的東西,都可能會用到wireshark

三、Wireshark抓包原理

Wireshark使用WinPCAP作為接口,直接與網卡進行數據報文交換。

Wireshark使用的環境大致分為兩種,一種是電腦直連網絡的單機環境,另外一種就是應用比較多的網絡環境,即連接交換機的情況。

「單機情況」下,Wireshark直接抓取本機網卡的網絡流量;

「交換機情況」下,Wireshark通過端口鏡像、ARP欺騙等方式獲取局域網中的網絡流量。

端口鏡像:利用交換機的接口,將局域網的網絡流量轉發到指定電腦的網卡上。

ARP欺騙:交換機根據MAC地址轉發數據,偽裝其他終端的MAC地址,從而獲取局域網的網絡流量。

四、Wireshark軟件安裝

軟件下載路徑:https://www.wireshark.org/

按照系統版本選擇下載,下載完成后,按照軟件提示一路Next安裝。

142ccd8c-86a8-11ee-939d-92fbcf53809c.png

五、Wireshark抓包示例

先介紹一個使用wireshark工具抓取ping命令操作的示例,可以上手操作感受一下抓包的具體過程。

1、打開wireshark,主界面如下:

14435ac0-86a8-11ee-939d-92fbcf53809c.png

2、選擇菜單欄上 捕獲 -> 選項,勾選WLAN網卡。這里需要根據各自電腦網卡使用情況選擇,簡單的辦法可以看使用的IP對應的網卡。點擊Start,啟動抓包。

1455c8b8-86a8-11ee-939d-92fbcf53809c.png

3、wireshark啟動后,wireshark處于抓包狀態中。

146a6778-86a8-11ee-939d-92fbcf53809c.png

4、執行需要抓包的操作,如在cmd窗口下執行ping www.baidu.com。

148cb56c-86a8-11ee-939d-92fbcf53809c.png

5、操作完成后相關數據包就抓取到了,可以點擊 停止捕獲分組 按鈕。

146a6778-86a8-11ee-939d-92fbcf53809c.png

6、為避免其他無用的數據包影響分析,可以通過在過濾欄設置過濾條件進行數據包列表過濾,獲取結果如下。說明:ip.addr == 183.232.231.172 and icmp 表示只顯示ICPM協議且主機IP為183.232.231.172的數據包。說明:協議名稱icmp要小寫。

14b25182-86a8-11ee-939d-92fbcf53809c.png

7、wireshark抓包完成,并把本次抓包或者分析的結果進行保存,就這么簡單。關于wireshark顯示過濾條件、抓包過濾條件、以及如何查看數據包中的詳細內容在后面介紹。

14c360bc-86a8-11ee-939d-92fbcf53809c.png

六、Wireshakr抓包界面介紹

14e7a076-86a8-11ee-939d-92fbcf53809c.png

Wireshark 的主界面包含6個部分:

菜單欄:用于調試、配置

工具欄:常用功能的快捷方式

過濾欄:指定過濾條件,過濾數據包

數據包列表:核心區域,每一行就是一個數據包

數據包詳情:數據包的詳細數據

數據包字節:數據包對應的字節流,二進制

說明:數據包列表區中不同的協議使用了不同的顏色區分。協議顏色標識定位在菜單欄 視圖 --> 著色規則。如下所示

14fa207a-86a8-11ee-939d-92fbcf53809c.png

WireShark 主要分為這幾個界面

1. Display Filter(顯示過濾器)

用于設置過濾條件進行數據包列表過濾。菜單路徑:分析 --> Display Filters

15129c90-86a8-11ee-939d-92fbcf53809c.png

2. Packet List Pane(數據包列表)

顯示捕獲到的數據包,每個數據包包含編號,時間戳,源地址,目標地址,協議,長度,以及數據包信息。不同協議的數據包使用了不同的顏色區分顯示。

152042b4-86a8-11ee-939d-92fbcf53809c.png

3. Packet Details Pane(數據包詳細信息)

在數據包列表中選擇指定數據包,在數據包詳細信息中會顯示數據包的所有詳細信息內容。數據包詳細信息面板是最重要的,用來查看協議中的每一個字段。各行信息分別為

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

(2)Ethernet II: 數據鏈路層以太網幀頭部信息

(3)Internet Protocol Version 4: 互聯網層IP包頭部信息

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

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

152f2e96-86a8-11ee-939d-92fbcf53809c.png

TCP包的具體內容

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

15433b70-86a8-11ee-939d-92fbcf53809c.png

155a1f34-86a8-11ee-939d-92fbcf53809c.png

4. Dissector Pane(數據包字節區)

報文原始內容。

156dc066-86a8-11ee-939d-92fbcf53809c.png

七、Wireshark過濾器設置

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

1.抓包過濾器

捕獲過濾器的菜單欄路徑為 捕獲 --> 捕獲過濾器。用于在抓取數據包前設置。

158c5332-86a8-11ee-939d-92fbcf53809c.png

如何使用呢?設置如下。

15a59252-86a8-11ee-939d-92fbcf53809c.png

ip host 183.232.231.172表示只捕獲主機IP為183.232.231.172的數據包。獲取結果如下:

15c8c164-86a8-11ee-939d-92fbcf53809c.png

2. 顯示過濾器

顯示過濾器是用于在抓取數據包后設置過濾條件進行過濾數據包。

通常是在抓取數據包時設置條件相對寬泛或者沒有設置導致抓取的數據包內容較多時使用顯示過濾器設置條件過濾以方便分析。

15e1bbb0-86a8-11ee-939d-92fbcf53809c.png

執行ping www.baidu.com獲取的數據包列表如下

15f1be70-86a8-11ee-939d-92fbcf53809c.png

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

1600f19c-86a8-11ee-939d-92fbcf53809c.png

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

八、wireshark過濾器表達式的規則

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

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

(1)協議過濾

比較簡單,直接在抓包過濾框中直接輸入協議名即可。

tcp,只顯示TCP協議的數據包列表

http,只查看HTTP協議的數據包列表

icmp,只顯示ICMP協議的數據包列表

(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的數據包

host 192.168.1.104 || host 192.168.1.102 抓取主機為192.168.1.104或者192.168.1.102的數據包

!broadcast 不抓取廣播數據包

2. 顯示過濾器語法和實例

(1)比較操作符

比較操作符有

== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于

(2)協議過濾

比較簡單,直接在Filter框中直接輸入協議名即可。注意:協議名稱需要輸入小寫。

tcp,只顯示TCP協議的數據包列表

http,只查看HTTP協議的數據包列表

icmp,只顯示ICMP協議的數據包列表

16157fea-86a8-11ee-939d-92fbcf53809c.png

(3) ip過濾

ip.src ==112.53.42.42 顯示源地址為112.53.42.42的數據包列表

ip.dst==112.53.42.42, 顯示目標地址為112.53.42.42的數據包列表

ip.addr == 112.53.42.42 顯示源IP地址或目標IP地址為112.53.42.42的數據包列表

162a4466-86a8-11ee-939d-92fbcf53809c.png

(4)端口過濾

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

tcp.srcport == 80, 只顯示TCP協議的源主機端口為80的數據包列表。

tcp.dstport == 80,只顯示TCP協議的目的主機端口為80的數據包列表。

163d595c-86a8-11ee-939d-92fbcf53809c.png

(5) http模式過濾

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

164f1d04-86a8-11ee-939d-92fbcf53809c.png

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

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

165f7dde-86a8-11ee-939d-92fbcf53809c.png

(7)按照數據包內容過濾

假設我要以ICMP層中的內容進行過濾,可以單擊選中界面中的碼流,在下方進行選中數據。

166cb7f6-86a8-11ee-939d-92fbcf53809c.png

右鍵單擊選中后出現如下界面

168568fa-86a8-11ee-939d-92fbcf53809c.png

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

1698e132-86a8-11ee-939d-92fbcf53809c.png

后面條件表達式就需要自己填寫。如下我想過濾出data數據包中包含"abcd"內容的數據流。關鍵詞是contains,完整條件表達式為data contains "abcd"

16a8e6ae-86a8-11ee-939d-92fbcf53809c.png

圖片

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

3. 常見用顯示過濾需求及其對應表達式

數據鏈路層:

篩選mac地址為043813:26的數據包

eth.src == 043813:26

篩選源mac地址為043813:26的數據包----

eth.src == 043813:26

網絡層:

篩選ip地址為192.168.1.1的數據包

ip.addr == 192.168.1.1

篩選192.168.1.0網段的數據

ip contains "192.168.1"

傳輸層:

篩選端口為80的數據包

tcp.port == 80

篩選12345端口和80端口之間的數據包

tcp.port == 12345 &&tcp.port == 80

篩選從12345端口到80端口的數據包

tcp.srcport == 12345 &&tcp.dstport == 80

應用層:

特別說明: http中http.request表示請求頭中的第一行(如GET index.jsp HTTP/1.1) http.response表示響應頭中的第一行(如HTTP/1.1 200 OK),其他頭部都用http.header_name形式。

篩選url中包含.php的http數據包

http.request.uri contains ".php"

篩選內容包含username的http數據包

http contains "username"

九、Wireshark抓包分析TCP三次握手

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

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

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

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

16bd32bc-86a8-11ee-939d-92fbcf53809c.png

2. Wireshark抓包獲取訪問指定服務端數據包

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

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

16da2d40-86a8-11ee-939d-92fbcf53809c.png

Step3:輸入過濾條件獲取待分析數據包列表 ip.addr == 183.232.231.172

16f7a154-86a8-11ee-939d-92fbcf53809c.png

圖片

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

第一次握手數據包

客戶端發送一個TCP,標志位為SYN,序列號為0, 代表客戶端請求建立連接。

1711e73a-86a8-11ee-939d-92fbcf53809c.png

圖片

數據包的關鍵屬性如下:

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

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

Ack =0:初始建立連接值為0,已經收到包的數量,表示當前沒有接收到數據

第二次握手的數據包

服務器發回確認包, 標志位為 SYN,ACK。將確認序號(Acknowledgement Number)字段+1,即0+1=1。

17290d0c-86a8-11ee-939d-92fbcf53809c.png

數據包的關鍵屬性如下:

[SYN + ACK]: 標志位,同意建立連接,并回送SYN+ACK

Seq = 0 :初始建立值為0,表示當前還沒有發送數據

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

第三次握手的數據包

客戶端再次發送確認包(ACK) SYN標志位為0,ACK標志位為1。并且把服務器發來ACK的序號字段+1,放在確定字段中發送給對方,并且在Flag段寫ACK的+1:

173eb94a-86a8-11ee-939d-92fbcf53809c.png

圖片

數據包的關鍵屬性如下:

ACK :標志位,表示已經收到記錄

Seq = 1 :表示當前已經發送1個數據

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

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

175394be-86a8-11ee-939d-92fbcf53809c.png

十、Wireshark分析常用操作

調整數據包列表中時間戳顯示格式。調整方法為 視圖 -->時間顯示格式 --> 日期和時間。調整后格式如下:

17753600-86a8-11ee-939d-92fbcf53809c.png

一般Wireshark軟件也可以與各主流廠家的模擬器一起使用,更適合于項目準確配置。

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5600

    瀏覽量

    175099
  • 交換機
    +關注

    關注

    21

    文章

    2728

    瀏覽量

    101540
  • 數據包
    +關注

    關注

    0

    文章

    269

    瀏覽量

    24916
  • 過濾器
    +關注

    關注

    1

    文章

    436

    瀏覽量

    20278
  • Wireshark
    +關注

    關注

    0

    文章

    49

    瀏覽量

    6727

原文標題:超詳細的Wireshark使用教程,看完速成高手!

文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Wireshark和Tcpdump實例分析

    wireshark是開源軟件,可以放心使用。可以運行在Windows和Mac OS上。對應的,linux下的包工具是 tcpdump。使用wireshark的人必須了解網絡協議,否則就看不懂
    的頭像 發表于 02-01 09:31 ?3549次閱讀

    WIZnet芯片通訊時怎么?

    `Q:WIZnet芯片進行公網通訊或者芯片間通訊的話怎么?A:芯片和PC通訊的話可以直接通過Wireshark,如果芯片和公網直接通
    發表于 03-13 11:32

    wireshark數據分析問題

    用網絡調試助手作為Tcp Server給STM32F429發送數據,每次傳輸完21845bytes后,就出現問題。用WireShark的數據有些不太理解。上圖為用串口調試助手調試后的信息,每次傳輸到21846bytes就接收
    發表于 04-08 04:35

    請問wireshark很慢,一兩秒才抓到一個,要怎么設置呢?

    wireshark安裝在virtual的ubuntu里,WIFI模塊發出來的TCP,WIFI模塊每15ms會發一個1000Byte的TCP,但是
    發表于 08-06 08:00

    CH395Q異常是什么原因?如何解決?

    使用CH395Q和電腦進行通信,CH395作為server,用wireshark總是出現TCP Dup ACK(CH395發送)報文,但是使用外置的PHY就沒有這個問題。請問是什么原因,怎么解決?謝謝!
    發表于 10-14 07:57

    使用wireshark分析TCP及UDP的資料詳細說明

    本文檔的主要內容詳細介紹的是使用wireshark分析TCP及UDP的資料詳細說明。
    發表于 05-09 17:36 ?27次下載
    使用<b class='flag-5'>wireshark</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>分析TCP及UDP的資料詳細說明

    SRT協議的工作流程、數據結構及Wireshark分析

    摘 要:本文從SRT協議的工作流程談起,著重介紹和解析了SRT協議的數據結構,并舉例說明如何利用Wireshark軟件進行鏈路故障分析,從而解決實際工作中的問題。
    的頭像 發表于 05-17 10:08 ?4123次閱讀

    Android使用Wireshark

    Frida逆向分析APP實戰 Objection動態分析App Frida Hook的使用方法 Android逆向分析基礎(一) Android逆向分析基礎(二) 使用frida-net玩轉frida-rpc 內置frida hook到Android系統 Objection高效對APP逆向分析實踐
    的頭像 發表于 11-16 10:07 ?4379次閱讀

    詳細的Wireshark和分析

    選擇菜單欄上Capture -> Option,勾選WLAN網卡(這里需要根據各自電腦網卡使用情況選擇,簡單的辦法可以看使用的IP對應的網卡)。點擊Start。啟動
    的頭像 發表于 11-24 15:29 ?1649次閱讀

    交換機、路由器工作原理難理解?通過WireShark就搞定了

    一、集線器(hub) 1、首先在eNSP下配置環境: 2、在PC1執行ping命令 ? ping?192.168.1.2?-c?3 ? 在點PC3的Ethernet 0/0/1上
    的頭像 發表于 12-22 15:32 ?2343次閱讀

    Wireshark和Tcpdump實例分析!

    今天浩道跟大家分享2款網工生涯中必不可少的神器Wireshark及Tcpdump,掌握這2個神器的使用,運維排查故障基本就是如魚得水。
    的頭像 發表于 02-01 09:31 ?2082次閱讀

    在Ubuntu下如何使用wireshark

    Wireshark(前稱Ethereal)是一個網絡封包分析軟件。
    的頭像 發表于 02-22 09:26 ?5169次閱讀

    超詳細的WireShark使用教程

    Wireshark是非常流行的網絡封包分析軟件,可以截取各種網絡數據,并顯示數據詳細信息。
    的頭像 發表于 06-06 09:22 ?7118次閱讀
    超詳細的<b class='flag-5'>WireShark</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>使用教程

    如何通過Wireshark理解網絡層

    由于在 IPv6中分段只能在源與目的地上執行,不能在路由器上進行。因此當數據過大時,路由器就會直接丟棄該數據包包,并向發送端發回一個"分組太大"的ICMP差錯報文,之后發送端就會使用較小長度的IP數據報重發數據。
    發表于 07-07 10:23 ?1879次閱讀
    如何通過<b class='flag-5'>Wireshark</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>理解網絡層

    在PC上使用WiresharkVLAN

    PC(win10)上面默認已經把vlan tag剝離掉了,需要觀察到VLAN tag,需要做下設置。
    的頭像 發表于 08-09 15:30 ?8668次閱讀
    主站蜘蛛池模板: 免费一级特黄特色大片在线观看看 | 国产午夜精品久久理论片小说 | 欧美精品hdvideosex | 天天做天天爱天天影视综合 | 热九九精品 | 一区二区在线免费视频 | 台湾一级毛片 | 狠狠色丁香婷婷综合激情 | 久久国模 | 色第一页| 色站视频 | 久久久久久久久久久观看 | 夜夜骑日日操 | 亚洲精品精品一区 | 羞涩妩媚玉腿呻吟嗯啊销魂迎合 | 国产特黄1级毛片 | 国产一级特黄特色aa毛片 | 综合色区 | 免费一级特黄 欧美大片 | 激情在线播放免费视频高清 | 黄h视频在线观看视频 | 美女被视频网站在线看九色 | 成人网久久 | 色综合97天天综合网 | 上课被同桌摸下面做羞羞 | 美脚连裤袜老师正在播放 | 久青草免费在线视频 | 四虎国产欧美成人影院 | 一女多夫嗯啊高h | www色.com| 免费人成网站永久 | 午夜精品视频在线观看美女 | 让她爽的喷水叫爽乱 | 玖玖激情 | 久久久这里有精品999 | 午夜爱爱网站 | 欧美午夜寂寞影院安卓列表 | 四虎必出精品亚洲高清 | 1024手机在线看永久免费 | 奇米奇米 | 在线天堂bt中文www在线 |