您現在的位置是:首頁 > 單機遊戲首頁單機遊戲

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

簡介cn:81’,可用分號分割多個域名4) 點選Actions選項並選擇Run Filterset Now後即設定成功如圖示:五、Fiddler使用者介面介紹如圖示:1、 Web 請求會話列表:上面左側內容部分包括所有從本機發出的HTTP請求W

抓包工具怎麼使用

一、簡介

Fiddler是Web除錯工具之一,它能記錄所有客戶端和伺服器端的http和https請求,允許監視、設定斷點、修改輸入\輸出資料。

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

測試中常使用的功能主要有:

1、對客戶端發往服務端的請求及其響應進行分析

2、可以設定斷點修改請求引數及返回

3、實現網路限速

4、設定規則對請求進行模擬

測試中主要使用了上述第一個功能點,故對此進行簡介。

二、安裝fiddler4

可透過官網進行下載並安裝。

三、工作原理

Fiddler是以代理web伺服器的形式工作的,它使用代理地址:127。0。0。1,埠:8888。fiddler會自動給瀏覽器設定一個代理地址127。0。0。1 埠8888,並且記憶瀏覽器的代理設定,所有的請求先走fiddler代理,幾乎所有使用網路協議的程式都支援代理伺服器,因此Fiddler幾乎適用於所有應用,在開啟它的那一瞬間,它就已經設定好了瀏覽器的代理了,當你關閉的時候,它又幫你把代理還原了,是不是很貼心。

當Fiddler退出的時候它會自動登出,這樣就不會影響別的程式。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動登出,會造成網頁無法訪問。解決的辦法是重新啟動下Fiddler。

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

如圖:客戶端將HTTP/HTTPS請求傳送給Fiddler,Fiddler通常將這些請求轉發給Web 伺服器,然後,伺服器把這些請求的響應返回給Fiddler,Fiddler再把這些響應轉發給客戶端。

1)Fiddler如何捕獲HTTPS會話

預設下,Fiddler不會捕獲HTTPS會話,需要設定下HTTPS選項卡用於控制Fiddler與監測安全傳輸的資料流相關的設定。

開啟Fiddler Tool->Fiddler Options->HTTPS tab。

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

A:Capture HTTPS CONNECTs:捕獲HTTPS連線,該選項決定Fiddler是否會註冊為可以接收HTTPS請求的系統代理。

B:Decrypt HTTPS traffic:解密HTTPS流量,該選項決定Fiddler是否解析使用CONNECT通道傳送的HTTPS請求和響應。選中該按鈕時,會顯示一個下拉框,可以選擇預設解析哪些資料流,包含的選項如下:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

選項說明

·from all processes 來自所有的程序,包括客戶端和瀏覽器

·from browsers only 只接受來自瀏覽器的請求

·from non-browsers only 只接受來自非瀏覽器的請求

·from remote clients only 只接受來自遠端的客戶端請求

C:點選OK(首次點選會彈出是否信任fiddler證書和安全提示,直接點選yes即可)。

四、抓包引數設定

1、Fiddler想要抓到資料包,要確保Capture Traffic是開啟,在File –> Capture Traffic。開啟後再左下角會有顯示,當然也可以直接點選左下角的圖示來關閉/開啟抓包功能。

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

2、開啟Tools > Fiddler Options中connections選項卡,Fiddler預設開啟的埠為8888,開啟允許遠端連線(Allow remote computers to connect),如圖示:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

3、 設定過濾域名,可過濾掉一些不需要的會話,使介面看起來更清晰

1) 開啟Filters Tab,將介面中Use Filters 選項打勾

2) 在介面中Hosts模式下選擇Show the following Hosts選項表示在Fiddler中只顯示以下域名的請求資料

3) 在Hosts文字區域輸入我們要顯示的域名如‘fpdk。jsgs。gov。cn:81’,可用分號分割多個域名

4) 點選Actions選項並選擇Run Filterset Now後即設定成功

如圖示:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

五、Fiddler使用者介面介紹

如圖示:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

1、 Web 請求會話列表:上面左側內容部分包括所有從本機發出的HTTP請求

Web請求會話列表頂部選單欄包含的內容如下:

1) # - Fiddler生成的會話列表ID

2) Result(請求結果)- HTTP響應的狀態碼

3) Protocol -(協議) 本次會話使用的協議型別(HTTP/HTTPS)

4) Host(主機名) - 傳送本次請求的主機名

5) URL (網頁地址)– 傳送本次請求的路徑和具體檔名

6) Body(內容大小)– 響應本次請求返回內容的大小

7) Caching(快取) – 是否使用了快取

8) Content- Type (響應的HTTP內容型別)– 響應的響應頭的 content-Type值

9) Process(請求所執行的程式) – 資料流對應的本地Windows程序

10) Custom(自定義) – 透過指令碼設定的文字域

11) Comments(註釋)- 透過指令碼或者再會話列表中右鍵新增的註釋

可以透過拖拽來調整Web Sessions列表中的各個列標題,改變它們的大小和順序,單擊列標題,fiddler會按該列的值對Web Sessions中的項進行排序。

理解不同圖示和顏色的含義

Web Sessions列表中的每行記錄的預設文字色彩體現了HTTP狀態(紅色表示錯誤,黃色表示認證)、資料流型別(灰色表示connect)、響應型別(紫色表示CSS、藍色表示HTML、綠色表示script、 灰色表示 影象)。

每行都有一個指向Session進度、請求型別或響應型別的快捷圖示,圖示及其含義見下圖:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

正在將請求資料發往伺服器

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

正在從伺服器下載返回資料

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

請求在斷點處被暫停

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

響應在斷點處被暫停

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

請求使用HTTP HEAD 方法;響應應當沒有body內容

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

請求使用HTTP POST 方法

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

請求使用HTTP CONNECT 方法;使用HTTPS協議建立連線通道

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

返回的內容型別是HTML

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

返回的內容型別是圖片

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

返回的內容型別是指令碼檔案

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

返回的內容型別是CSS檔案

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

返回的內容型別是XML

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

響應是JSON

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

普通響應成功

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

響應是HTTP/300、301、302、303、307跳轉

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

響應是HTTP304(無變更): 使用被快取的版本

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

返回內容為一個證書請求

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

返回內容是Server錯誤

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

請求被客戶端、Fiddler或者Server終止

2、命令列QuickExec工具主要包含內容

Fiddler的左下角有一個命令列工具叫做QuickExec,允許你直接輸入命令:

1) help 開啟官方的使用頁面介紹,所有的命令都會列出來

2) cls 清屏 (Ctrl+x 也可以清屏)

3) select 選擇會話的命令

4) 。png 用來選擇png字尾的圖片

5) bpu 截獲request

3、HTTP請求

工具最右方的是請求相關資訊的檢視器,提供了資料多方面的檢視方式。

1)Statistics(統計資料資訊):關於HTTP請求的效能以及資料分析:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

2)Inspectors(強大的檢查器):用於檢視會話的內容,上半部分是請求的內容,下半部分是響應的內容,功能很多,用到可深入挖掘學習:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

3)AutoResponder(自動回覆器)允許你攔截指定規則的求情,並返回本地資源或Fiddler資源,從而代替伺服器響應,見圖:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

4)Composer允許自定義請求傳送到伺服器,可以手動建立一個新的請求,也可以在會話表中,拖拽一個現有的請求。

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

Filters是過濾請求用的,左邊的視窗不斷的更新,當你想看你係統的請求的時候,你重新整理一下瀏覽器,一大片不知道哪來請求,看著礙眼,它還一直重新整理你的螢幕。這個時候透過過濾規則來過濾掉那些不想看到的請求。見圖:

——Zone 指定只顯示內網(Intranet)或網際網路(Internet)的內容:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

——Host 指定顯示某個域名下的會話:如圖。如果框框為黃色(如圖),表示修改未生效,點選紅框裡的文字即可。

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

Timeline(時間軸)在左側會話視窗點選一個或多個(同時按下 Ctrl 鍵),Timeline 便會顯示指定內容從服務端傳輸到客戶端的時間。

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

六、分析抓包後返回的資料

1、Inspectors tab下以Raw的方式可以看到完整的Response的訊息,以抓取某平臺為例,如圖示:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

2、資料分析

1)Status Line:狀態行

Response 訊息中的第一行叫做狀態行,由HTTP協議版本號, 狀態碼, 狀態訊息 三部分組成。

如上圖:(HTTP/1。1 200 OK)

HTTP協議版本號:HTTP/1。1

狀態碼:200 表示請求已成功接收

狀態訊息:OK

注:

A)常用的HTTP方法

GET:用於請求訪問已經被URI(統一資源識別符號)識別的資源,可以透過URL傳參給伺服器

POST:用於傳輸資訊給伺服器,主要功能與GET方法類似,但一般推薦使用POST方式。

PUT:傳輸檔案,報文主體中包含檔案內容,儲存到對應URI位置。

HEAD:獲得報文首部,與GET方法類似,只是不返回報文主體,一般用於驗證URI是否有效。

DELETE:刪除檔案,與PUT方法相反,刪除對應URI位置的檔案。

GET方法:

使用GET方法時,查詢字串(鍵值對)被附加在URL地址後面一起傳送到伺服器。

POST方法:

使用POST方法時,查詢字串在POST資訊中單獨存在,和HTTP請求一起傳送到伺服器。

B)常用的HTTP狀態碼

狀態碼的職責是當客戶端向伺服器端傳送請求時,描述返回的請求結果。藉助狀態碼,使用者可知道伺服器端是正常處理了請求,還是出現了錯誤

狀態碼如 ‘200 OK’,以3位數字和原因短語組成。

數字中的第一位指定了響應類別,後兩位無分類。響應類別有以下5種

·1xx:指示資訊——表示請求已接收,繼續處理

·2xx:成功——表示請求已被成功接收、理解、接受

·3xx:重定向——要完成請求必須進行更進一步的操作

·4xx:客戶端錯誤——請求有語法錯誤或請求無法實現

·5xx:伺服器端錯誤——伺服器未能實現合法的請求

2)Header:檔案頭,如圖示:

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

包括內容如下:

a、Server:指明http伺服器的軟體資訊;(gwwebs)

b、 Date:生成訊息的具體時間和日期;

c、 Content-Type:Web伺服器告訴瀏覽器自己響應的物件的型別和字符集;(text/javascript;charset=gbk)

d、Content-Length:傳送給http伺服器資料的長度;(931)

e、Connection: keep-alive繼續使用之前已經建立的客戶端和伺服器之間用於傳輸http資料的連線;

f、 X-Powered-By:表示網站是用什麼技術開發的;(Servlet/2。5 JSP/2。1 java編寫的伺服器程式)

3)Blank line: 表示空行

4)Body:檔案體即返回的JSON可根據情況具體分析。

七、常見問題解析

問題一:重新安裝後可能導致firefox無法上網

解決方法

fiddler的tools->fiddler options->Export Root Certificate to Desktop 匯出到桌面,開啟firefox,高階->證書->證書機構->匯入剛才的證書即可。

問題二:證書過期導致工具無法使用

1、提示creation of the root certificate was not successful

2、進入fiddler目執行如下:

makecert。exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www。fiddler2。com” -sky signature -eku 1。3。6。1。5。5。7。3。1 -h 1 -cy authority -a sha1 -m 120 -b 01/01/2099

以上為對Fiddler工具的簡單分解學習,歡迎大家共同學習指正。

請關注+私信回覆:“測試” 即可邀請你進入【Python自動化測試學習交流群】與測試大牛一起探討技術~~同時免費贈送軟體測試學習資料

軟體測試工程師必備:抓包工具Fiddler安裝和基本使用教程詳解

Top