全網最全最細的fiddler使用教程以及工作原理

目錄:導讀

一、Fiddler抓包工具簡介

二、Fiddler工作原理

三、Fiddler安裝

四、Fiddler界面介紹

五、Fiddler菜單欄介紹

六、Fiddler工具欄介紹

七、Fiddler回話列表詳解

八、Fiddler功能頁籤詳解

九、Fiddler命令行工具詳解

十、Fiddler狀態欄詳解

十一、總結


一、Fiddler抓包工具簡介

Fiddler是位於客戶端和服務器端的HTTP代理。

Fiddler是目前最常用的http抓包工具之一。

Fiddler是功能非常強大,是web調試的利器。

二、Fiddler工作原理

Fiddler原理圖如下:

Fiddler是一個代理服務器。代理地址:127.0.0.1,端口:8888。瀏覽器可以通過設置查看代理服務器:設置->高級->打開您計算機的代理設置->連接->局域網設置->代理服務器->在高級中就能看到代理地址:127.0.0.1和端口:8888

當瀏覽器向服務器請求數據時,被Fiddler截獲,截獲後再發送給服務器,當服務器向瀏覽器響應數據時,同樣會被Fiddler截獲,然後再發送給瀏覽器,所以我們能夠在Fiddler中看到請求的報文和響應的報文。

關掉Fiddler代理服務器會自動取消。如果Fiddler非正常退出,因爲Fiddler沒有自動註銷,可能會造成網頁無法訪問。解決的辦法是重新啓動Fiddler

三、Fiddler安裝

Fiddler官網下載地址:https://www.telerik.com/fiddler

Fiddle證書生成器下載地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

Fiddler安裝注意事項:不要安裝在有中文和特殊字符的目錄。

四、Fiddler界面介紹

Fiddler界面從上到下分爲:菜單欄、工具欄、回話列表、功能頁籤、命令行,狀態欄六大板塊!如下圖所示:

五、Fiddler菜單欄介紹

File菜單

1Capture Traffic:可以控制是否把Fiddler註冊爲系統代理。

2New Viewer打開一個新的fiddler窗口

3Load Archive:用於重新加載之前捕獲的以SAZ文件格式保存的數據包

4Save:支持以多種方式把數據包保存到文件中。

5Import Sessions...:支持導入從其他工具捕獲的數據包,也支持導入以其他格式存儲的數據包

6、Export Sessions...:把Fiddler捕捉到的回話以多種文件格式保存。

7Exit:取消把Fiddler註冊爲系統代理,並關閉Fiddler

Edit菜單

1Copy:複製會話。

2Remove:刪除會話。

3Select All:選擇所有會話。

4Undelete:撤銷刪除會話。

5Paste as Session把剪貼板上的內容粘貼成一個或多個模擬的會話。

6Mark:選擇一種顏色標記選中會話。

7Unlock for Editing 解鎖會話。

8Find Session...打開Find Session窗口,搜索捕獲到的數據包。

Rules菜單

1Hide Image Request:隱藏圖片回話。

2、Hide CONNECTS:隱藏連接通道回話。

3、Automatic Breakpoints:自動在[請求前]或[響應後]設置斷點。Ignore Image觸發器控制這些斷點是否作用於圖片請求。

4Customize Rules...:打開Fiddler腳本編輯窗口。

5Require Proxy Authentication:,要求客戶端安裝證書。該規則可以用於測試HTTP客戶端,確保所有未提交Proxy-Authorization請求頭的請求會返回HTTP/407響應碼。

6Apply GZIP Encoding:只要請求包含具有gzip標識的Accept-Encoding請求頭,就會對所有響應使用GZIP HTTP進行壓縮(圖片請求除外)。

7Remove All Encoding:刪除所有請求和響應的HTTP內容編碼和傳輸編碼

8、Hide 304s:隱藏響應爲HTTP/304 Not Modified狀態的所有回話。

9Request Japanese Content:選項會把所有請求的Accept-Encoding請求頭設置或替換爲ja標識,表示客戶端希望響應以日語形式發送。

10User-Agents:把所有請求的User-Agent請求頭設置或替換成指定值。

11performance:模擬弱網測試速度。

Tools菜單

1、Options...:打開Fiddler選項窗口。

2WinINET Options...打開IEInternet屬性窗口

3Clear WinINET Cache:清空IE和其他應用中所使用的WinINET緩存中的所有文件。
4Clear WinINET Cookies:清空IE和其他應用中所發送的WinINET Cookie

5TextWizard...:選項會啓動TextWizard窗口,對文本進行編碼和解碼。

6Compare Session:比較回話。

7Reset Script:重置Fiddler腳本。

8Sandbox:打開http://webdbg.com/sandbox/

9View IE Cache:打開IE緩存窗口。

View菜單

1Show Toolbar:控制Fiddler工具欄是否可見

2Default LayoutStacked LayoutWide Layout三種界面佈局

3Minimize to Tray:最小化Fiddler到系統托盤(快捷鍵:CTRL+M

4Squish Session List:控制回話列表是否水平收縮。

5AutoScroll Session list:添加新的回話時,自動滾動到回話列表底部

六、Fiddler工具欄介紹

1.備註功能

2.重新發送請求,快捷鍵:R鍵。

3.刪除請求

4.當有請求前斷點時,點擊去發送請求。

5.流模式。(默認是緩衝模式)

6.解碼
7.保持回話的數量。
8.選擇你想要抓包或者監聽的程序

9.查找
10.保存所有會話,文件名以.saz爲擴展名

11.截圖

12.計時器

13.快捷的打開IE瀏覽器

14.清除IE緩存

15.文本的編碼解碼工具

16.分離面板

17.MSDN查詢

18.本機的信息

七、Fiddler回話列表詳解

會話(session)即Fiddler抓取到的每條http請求數據包。

主要包含:1.請求的ID編號、2. http響應狀態碼、3.會話使用的協議、4.請求發送到的服務器主機名、5.數據包在服務器中的路徑和文件、6.響應body的字節數。7.響應頭信息Cache-Control的值、8、響應頭信息Content-Type的值9.發起請求的本地windows進程、10.註釋、11.自定義備註。

八、Fiddler功能頁籤詳解

Statistics頁籤

通過該頁籤,用戶可以通過選擇多個會話來得這幾個會話的總的信息統計,比如多個請求傳輸的字節數訪問頁面時選擇第一個請求和最後一個請求,可獲得整個頁面加載所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行速度性能優化

inspectors頁籤(常用頁籤)

它提供headers、textview、hexview,Raw等多種方式查看一條http請求的請求和響應,它分爲上下兩部分:上部分爲請求展示,下部分爲響應展示。

AutoResponse頁籤(常用頁籤)

它可以抓取在線頁面保存到本地進行調試,大大減少了在線調試的困難,可以讓我們修改服務器端返回的數據,例如讓返回都是404的數據包讀取本地文件作爲返回內容。

composer頁籤(常用頁籤)

支持手動構建和發送HTTP,HTTPS和FTP請求,我們還可以從回話列表中拖曳回話,把它放到composer選項卡中,當我們點擊Execute按鈕時則把請求發送到服務器端。

FiddlerScripts頁籤

打開Fiddler腳本編輯。

log頁籤:

打印日誌

Filters頁籤(常用頁籤)

過濾器可以對左側的數據流列表進行過濾,我們可以標記、修改或隱藏某些特徵的數據流。

Timeline頁籤

時間軸,也稱爲Fiddler的瀑布圖,展示網絡請求時間的功能。每個網絡請求都會經歷域名解析、建立連接、發送請求、接受數據等階段。把多個請求以時間作爲X軸,用圖表的形式展現出來,就形成了瀑布圖。在左側會話窗口點擊一個或多個回話,Timeline 便會顯示指定內容從服務端傳輸到客戶端的時間。

九、Fiddler命令行工具詳解

Fiddler命令行可以輸入命令操作回話列表,常見命令有:

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

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

select    選擇所有相應類型的回話(如select image或select css)

?sometext 查找字符串並高亮顯示查找到的會話。

>size     選擇請求響應大小小於size字節的會話

=status/=method/@host 查找狀態、方法、主機相對應的會話

1uit      退出fiddler

bpafter xxx 中斷URL包含指定字符的全部回話響應

bps xxx     中斷HTTP響應狀態爲指定字符的全部回話響應。

bpv xxx     中斷指定請求方式的全部回話響應

bpm xxx     中斷指定請求方式的全部回話響應。等同於bpv xxx

bpu xxx:    與bpafter類似。

十、Fiddler狀態欄詳解

1、顯示的Fiddler是否處於捕捉狀態(開啓/關閉狀態),可以點擊該區域切換。

2、顯示當前捕捉哪些進程。

All Processes 捕獲所有進程的請求

Web Browsers  捕獲 Web 瀏覽器的請求,應該特指 IE

Non-Browser   捕獲非 Web 瀏覽器的請求

Hide All      隱藏所有請求

3、顯示當前斷點設置狀態,通過鼠標點擊切換。有三種:

不設置斷點

所有請求在斷點處被暫停

所有響應在斷點處被暫停

4,顯示當前共捕獲了多少回話(如:300,表示共捕獲了300個會話,如:10/300,表示當前選擇10個會話,共捕獲300個會話)

5,第五區塊,描述當前狀態。

如果是剛打開Fiddler,會顯示什麼時間加載了CustomRules.js;如果選擇了一個會話,會顯示該會話的URL;如果在命令行輸入一個命令,就會顯示命令相關信息。

十一、總結

如果你對此文有任何疑問,如果你覺得此文對你有幫助,如果你對軟件測試、接口測試、自動化測試、面試經驗交流感興趣歡迎加入軟件測試技術羣:695458161,羣裏發放的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。

作者:來自公衆號:軟測之家
出處:https://blog.csdn.net/pengjiangchun
原創不易,歡迎轉載,但未經作者同意請保留此段聲明,並在文章頁面明顯位置給出原文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章