14.1 Fiddler簡介
14.1.1 簡介
Fiddler是位于客戶端和服務(wù)器端之間的代理,也是目前最常用的抓包工具之一 。它能夠記錄客戶端和服務(wù)器之間的所有請求,可以針對特定的請求,分析請求數(shù)據(jù)、設(shè)置斷點、調(diào)試web應(yīng)用、修改請求的數(shù)據(jù),甚至可以修改服務(wù)器返回的數(shù)據(jù),功能非常強大,是web調(diào)試的利器。
14.1.2 功能
1、能夠監(jiān)聽http/httpS的流量,可以截獲從瀏覽器或者客戶端軟件向服務(wù)器發(fā)送的http/https請求;
2、對截獲之后的請求,我們還能夠查看請求中的內(nèi)容;
3、偽造請求。不僅可以偽造客戶端的請求,還能夠偽造服務(wù)器的響應(yīng)?!摴δ苣軌蚍奖阄覀冞M行前后端的調(diào)式。
4、測試網(wǎng)站的性能;
5、解密https的外部會話。因為https本身是一種加密的協(xié)議,通過fiddle我們可以進行解密操作;
6、提供第三方擴展插件,滿足更多需求。
14.1.3 Fiddler工作原理

fiddler原理.png
14.2 Fiddler下載安裝
下載:打開官網(wǎng)
安裝:
漢化:
14.3 Fiddler界面介紹

fiddler界面.jpg
Fiddler界面從上到下分為:菜單欄、工具欄、回話列表、功能頁簽、命令行,狀態(tài)欄六大板塊
file capturing? = F12 = 左下角capturing
14.4 菜單欄
14.4.1File菜單
1、Capture Traffic:可以控制是否把Fiddler注冊為系統(tǒng)代理。
2、New Viewer:打開一個新的fiddler窗口
3、Load Archive:用于重新加載之前捕獲的以SAZ文件格式保存的數(shù)據(jù)包。
4、Save:支持以多種方式把數(shù)據(jù)包保存到文件中。
5、Import Sessions...:支持導(dǎo)入從其他工具捕獲的數(shù)據(jù)包,也支持導(dǎo)入以其他格式存儲的數(shù)據(jù)包。
6、Export Sessions...:把Fiddler捕捉到的回話以多種文件格式保存。
7、Exit:取消把Fiddler注冊為系統(tǒng)代理,并關(guān)閉Fiddler
14.4.2 Edit菜單
1、Copy:復(fù)制會話。
2、Remove:刪除會話。
3、Select All:選擇所有會話。
4、Undelete:撤銷刪除會話。
5、Paste as Session把剪貼板上的內(nèi)容粘貼成一個或多個模擬的會話。
6、Mark:選擇一種顏色標記選中會話。
7、Unlock for Editing 解鎖會話。
8、Find Session...打開Find Session窗口,搜索捕獲到的數(shù)據(jù)包。
14.4.3 Rules菜單
1、Hide Image Request:隱藏圖片回話。
2、Hide CONNECTS:隱藏連接通道回話。
3、Automatic Breakpoints:自動在[請求前]或[響應(yīng)后]設(shè)置斷點。Ignore Image觸發(fā)器控制這些斷點是否作用于圖片請求。
4、Customize Rules...:打開Fiddler腳本編輯窗口。
5、Require Proxy Authentication:,要求客戶端安裝證書。該規(guī)則可以用于測試HTTP客戶端,確保所有未提交Proxy-Authorization請求頭的請求會返回HTTP/407響應(yīng)碼。
6、Apply GZIP Encoding:只要請求包含具有g(shù)zip標識的Accept-Encoding請求頭,就會對所有響應(yīng)使用GZIP HTTP進行壓縮(圖片請求除外)。
7、Remove All Encoding:刪除所有請求和響應(yīng)的HTTP內(nèi)容編碼和傳輸編碼
8、Hide 304s:隱藏響應(yīng)為HTTP/304 Not Modified狀態(tài)的所有回話。
9、Request Japanese Content:選項會把所有請求的Accept-Encoding請求頭設(shè)置或替換為ja標識,表示客戶端希望響應(yīng)以日語形式發(fā)送。
10、User-Agents:把所有請求的User-Agent請求頭設(shè)置或替換成指定值。
11、performance:模擬弱網(wǎng)測試速度。
14.4.4 Tools菜單
1、Options...:打開Fiddler選項窗口。
2、WinINET Options...打開IE的Internet屬性窗口
3、Clear WinINET Cache:清空IE和其他應(yīng)用中所使用的WinINET緩存中的所有文件。
4、Clear WinINET Cookies:清空IE和其他應(yīng)用中所發(fā)送的WinINET Cookie
5、TextWizard...:選項會啟動TextWizard窗口,對文本進行編碼和解碼。
6、Compare Session:比較回話。
7、Reset Script:重置Fiddler腳本。
8、Sandbox:打開http://webdbg.com/sandbox/
9、View IE Cache:打開IE緩存窗口。
14.4.5 View菜單
1、Show Toolbar:控制Fiddler工具欄是否可見2、DefaultLayout、Stacked Layout、Wide Layout三種界面布局3、Minimize to Tray:最小化Fiddler到系統(tǒng)托盤(快捷鍵:CTRL+M)4、Squish SessionList:控制回話列表是否水平收縮。5、AutoScroll Sessionlist:添加新的回話時,自動滾動到回話列表底部
14.5 工具欄

fiddler工具欄.png
1.備注功能
2.重新發(fā)送請求,快捷鍵:R鍵。
3.刪除請求
4.當有請求前斷點時,點擊去發(fā)送請求。
5.流模式。(默認是緩沖模式)
6.解碼
7.保持回話的數(shù)量。
8.選擇你想要抓包或者監(jiān)聽的程序
9.查找
10.保存所有會話,文件名以.saz為擴展名
11.截圖
12.計時器
13.快捷的打開IE瀏覽器

fiddler工具欄1.png
14.清除IE緩存
15.文本的編碼解碼工具
16.分離面板
17.MSDN查詢
18.本機的信息
14.6 會話列表

fiddler繪畫列表.png
1.請求的ID編號
2.http響應(yīng)狀態(tài)碼
3.會話使用的協(xié)議
4.請求發(fā)送到的服務(wù)器主機名
5.數(shù)據(jù)包在服務(wù)器中的路徑和文件
6.響應(yīng)body的字節(jié)數(shù)
7.響應(yīng)頭信息Cache-Control的值
8、響應(yīng)頭信息Content-Type的值
9.發(fā)起請求的本地windows進程
10.注釋
11.自定義備注
14.7 功能頁簽
14.7.1 Statistics頁簽
通過該頁簽,用戶可以通過選擇多個會話來得到這幾個會話的總的信息統(tǒng)計,比如多個請求傳輸?shù)淖止?jié)數(shù)。訪問頁面時選擇第一個請求和最后一個請求,可獲得整個頁面加載所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行速度性能優(yōu)化。
14.7.2 inspectors頁簽(常用頁簽)
它提供headers、textview、hexview,Raw等多種方式查看一條http請求的請求和響應(yīng),它分為上下兩部分:上部分為請求展示,下部分為響應(yīng)展示。
14.7.3 AutoResponse頁簽(常用頁簽)
它可以抓取在線頁面保存到本地進行調(diào)試,大大減少了在線調(diào)試的困難,可以讓我們修改服務(wù)器端返回的數(shù)據(jù),例如讓返回都是404的數(shù)據(jù)包讀取本地文件作為返回內(nèi)容。
14.7.4 composer頁簽常用頁簽)
支持手動構(gòu)建和發(fā)送HTTP,HTTPS和FTP請求,我們還可以從回話列表中拖曳回話,把它放到composer選項卡中,當我們點擊Execute按鈕時則把請求發(fā)送到服務(wù)器端。
14.7.5 FiddlerScripts頁簽
打開Fiddler腳本編輯。
log頁簽:
打印日志
14.7.6 Filters頁簽(常用頁簽)
過濾器可以對左側(cè)的數(shù)據(jù)流列表進行過濾,我們可以標記、修改或隱藏某些特征的數(shù)據(jù)流。
14.7.7 Timeline頁簽
時間軸,也稱為Fiddler的瀑布圖,展示網(wǎng)絡(luò)請求時間的功能。每個網(wǎng)絡(luò)請求都會經(jīng)歷域名解析、建立連接、發(fā)送請求、接受數(shù)據(jù)等階段。把多個請求以時間作為X軸,用圖表的形式展現(xiàn)出來,就形成了瀑布圖。在左側(cè)會話窗口點擊一個或多個回話,Timeline 便會顯示指定內(nèi)容從服務(wù)端傳輸?shù)娇蛻舳说臅r間。
14.7.8 命令行
help? ? 打開官方的使用頁面介紹,所有的命令都會列出來。
cls? ? ? 清屏 (Ctrl+x 也可以清屏)
select? ? 選擇所有相應(yīng)類型的回話(如select image或select css)。
?sometext 查找字符串并高亮顯示查找到的會話。
size? ? 選擇請求響應(yīng)大小小于size字節(jié)的會話。
=status/=method/@host 查找狀態(tài)、方法、主機相對應(yīng)的會話
1uit? ? ? 退出fiddler
bpafter xxx 中斷URL包含指定字符的全部回話響應(yīng)
bps xxx? ? 中斷HTTP響應(yīng)狀態(tài)為指定字符的全部回話響應(yīng)。
bpv xxx? ? 中斷指定請求方式的全部回話響應(yīng)
bpm xxx? ? 中斷指定請求方式的全部回話響應(yīng)。等同于bpv xxx
bpu xxx:? ? 與bpafter類似。
14.8 狀態(tài)欄

fiddler狀態(tài)欄.png
1、顯示的Fiddler是否處于捕捉狀態(tài)(開啟/關(guān)閉狀態(tài)),可以點擊該區(qū)域切換
2、顯示當前捕捉哪些進程。
All Processes 捕獲所有進程的請求
Web Browsers? 捕獲 Web 瀏覽器的請求,應(yīng)該特指 IE
Non-Browser? 捕獲非 Web 瀏覽器的請求
Hide All? ? ? 隱藏所有請求
3、顯示當前斷點設(shè)置狀態(tài),通過鼠標點擊切換。有三種:
不設(shè)置斷點
所有請求在斷點處被暫停
所有響應(yīng)在斷點處被暫停
4,顯示當前共捕獲了多少回話(如:300,表示共捕獲了300個會話,如:10/300,表示當前選擇10個會話,共捕獲300個會話)。
5,第五區(qū)塊,描述當前狀態(tài)。
如果是剛打開Fiddler,會顯示什么時間加載了CustomRules.js;如果選擇了一個會話,會顯示該會話的URL;如果在命令行輸入一個命令,就會顯示命令相關(guān)信息。
14.9? web抓包
我們雙擊打開軟件,進入到如下的一個界面,然后點擊某一個請求,你會發(fā)現(xiàn)請求的內(nèi)容是一堆明顯不對的文字,然后該請求的左邊是一個鎖的樣式,聯(lián)想到https加密,你會發(fā)現(xiàn)原因可能是沒有配置Fiddler。然后解釋一下右邊的默認返回內(nèi)容,第一句是“這是一個CONNECT隧道,加密的HTTPS流量通過該隧道流動?!?/b>,就證實了我們的猜測,果然是因為https加密的原因。

image.png
那么如何配置FIddler來解析這些加密的請求呢?
方法一:是查官網(wǎng)的安裝文檔,
方法二:看提示,軟件公司還是很人性化的在返回內(nèi)容里面提示了需要在哪里設(shè)置,就是第二行那一句:enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option.
我們按照提示來進行設(shè)置,先在左上角的工具欄里面找到Tools,然后依次選擇Options、HTTPS ,然后勾選Decrypt HTTPS traffic選項,勾選后安裝證書。

image.png
安裝證書兩種方法:
勾選后點擊右邊的Actions按鈕選擇“Trust Root Certificate”選項,然后全部選擇是就行了。
勾選后點擊右邊的Actions按鈕選擇第二個選項將證書導(dǎo)出到桌面,然后再在對應(yīng)的瀏覽器里面添加即可。
然后我們再打開一個新的網(wǎng)頁(例如百度),查看請求
至此,已經(jīng)可以監(jiān)聽PC端瀏覽器的請求了。
14.10 移動端抓包
首先你的Fiddler所在的電腦和手機必須處在同一個局域網(wǎng)內(nèi)(即連著同一個路由器)。
查看你的本機IP地址,在Fiddler的右上角有一個Online按鈕,點擊一下會顯示你的IP信息
配置連接信息:Tools > Options >Connections
端口默認是8888,你可以進行修改。
勾選Allow remote computers to connect選項,然后重啟Fiddler,再次打開時會彈出一個信息,選擇ok即可。

image.png
打開你的手機,找到你所連接的WIFI,長按選擇修改網(wǎng)絡(luò),輸入密碼后往下拖動,然后勾選顯示高級選項,然后在代理一欄選擇手動,再將你先前查看的IP地址和端口號輸入進去,然后保存。

image.png
最后安裝手機證書,在手機瀏覽器一欄輸入電腦的IP地址和端口號
這里我是192.168.1.157:8888
進入一個網(wǎng)頁,點擊最下面那個FiddlerRoot certificate下載證書,下載成功后在設(shè)置里面安裝,安裝步驟:打開高級設(shè)置->安全->從SD卡安裝證書->找到證書文件->點擊后為證書命名點擊確定即可安裝成功
測試一下,比如在手機上打開抖音app,找到評論的那一個請求。

可以看到我們已經(jīng)成功的找到了評論所對應(yīng)的那個請求