12.03 軟件測試必須掌握的抓包工具Wireshark,你會了麼?

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

作為軟件測試工程師,大家在工作中肯定經常會用到各種抓包工具來輔助測試,比如瀏覽器自帶的抓包工具-F12,方便又快捷;

比如時下特別流行的Fiddler工具,使用各種web和APP測試的各種場景的抓包分析。

但是,今天我要給大家分享的抓包工具,叫做Wireshark,是一款專注於網絡封包分析,相比於其他的抓包軟件有自己的特色和優勢的一款報文捕獲工具。

一、下載安裝包

去Wireshark的官網,下載這個工具的安裝包:

https://www.wireshark.org/download.html

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

二、安裝

軟件測試必須掌握的抓包工具Wireshark,你會了麼?


軟件測試必須掌握的抓包工具Wireshark,你會了麼?

選擇創建桌面快捷方式。

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

然後,一路next安裝,最後重啟一下電腦,就可以安裝成功!

三、運行軟件

安裝完成之後,找到這個文件的桌面快捷方式

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

雙擊打開運行軟件

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

打開即可看到如上圖的界面。我們來認識一下這個軟件的基本界面。

1、Wireshark這個工具是基於接口抓包的。

如果電腦主機上有多個網絡接口的話,可以點擊’標號1‘的按鈕,選擇對應的網絡接口抓取對應的報文。 ![1574908565347](C

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

如上是點擊按鈕1 出現的所有接口列表,一般選擇自己的上網的接口,或者關心的流量通過的接口,然後點擊’開始‘按鈕,即可開始抓包。

2、除了上面的方法開始抓包之外,還可以在2區域+3按鈕開始抓包。

在區域2,也可以看到所有的網絡接口,同樣選擇自己需要抓取的接口,然後點擊按鈕3,也可以開始抓取報文。

#### 抓包

經過上述操作之後,Wireshark工具已經開始抓取報文了,此時用瀏覽器訪問你測試的web頁面,交互的報文就會被全部抓取,如下圖所示。

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

首先,來認識一下頁面上方的幾個常用功能。

區域1,表示當前工具正在捕獲報文,在抓包進行時;區域2有兩個按鈕,紅色的按鈕,表示停止抓包,點擊後即可停止捕獲;綠色按鈕,表示重新抓取報文,點擊後會提示是否保存:

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

根據自己的需求選擇保存或者不保存報文,然後工具會清除之前的報文重新開始抓取;區域3,是為了過濾用戶關心的報文,有一定的過濾規則。我們來羅列一些常用的過濾使用方法。

1)過濾源IP以及目的IP:

在wireshark的過濾規則框Filter中輸入過濾條件。

如查找目的地址為120.24.89.47 的包,ip.dst==120.24.89.47;查找源地址為192.168.1.37的包,ip.class="lazy" data-original==192.168.1.37。

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

2)端口過濾:

如過濾80端口,在Filter中輸入,tcp.port==80,這條規則是把源端口和目的端口為80的都過濾出來。

使用tcp.dstport==80只過濾目的端口為80的,tcp.srcport==80只過濾源端口為80的包。

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

3)協議過濾:

比較簡單,直接在Filter框中直接輸入協議名即可,如過濾HTTP的協議,TCP協議等。HTTP模式過濾。

如過濾get包,http.request.method=="GET",過濾post包,http.request.method=="POST"。

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

4)連接符and的使用。

過濾兩種條件時,使用and連接,如過濾ip為192.168.1.37並且為tcp協議的,ip.class="lazy" data-original==192.168.1.37 and tcp。

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

四、報文分析

抓取並且過濾出相應的報文,我們就可以開始進行詳細的報文分析了。

雙擊其中一個報文,即可打開這個報文的詳細內容,如下圖所示:

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

第一層Frame I:TCP/IP 協議棧中的物理層

第二層Ethernet II:TCP/IP 協議棧中的數據鏈路層,也就是現實網卡的源目MAC地址,依據這部分信息來做二層轉發;

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

第三層Internet Protocol : TCP/IP 協議棧中的網絡層,發明了IP協議,所以報文在這一層會帶上源目IP地址。

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

第四層 Transmission Control Protocol: TCP/IP 協議棧中的傳輸層,定義了TCP協議和UDP協議,以及定義了端口的概念。所以在這一層的安博文,會帶上協議的源目端口。

軟件測試必須掌握的抓包工具Wireshark,你會了麼?

五、總結

以上是Wireshark這個抓包工具的基本使用方法,後面我會再出系列文章,詳細分析一些大家工作中比較常用的協議,來幫助大家定位和分析測試工作中的問題!


分享到:


相關文章: