簡介
Fiddle是位於客戶端和服務器之間的HTTP代理,代理地址是127.0.0.1:8888,端口可在Fiddler中手動修改。Fiddler退出的時候它會自動注銷,這樣不會影響別的程序。如果非正常退出,會造成網頁無法訪問,需要重啟Fiddler。
可以監聽http/https的流量,截獲從瀏覽器或客戶端向服務器發送的http/https請求,查看請求具體內容,修改請求或響應內容。
配置
1.設置https
點擊菜單欄Tools--Options,第一次設置會提示安裝證書
點擊Actions--Open Windows Certificate Manager查看安裝的證書
2.設置chorme代理
3.手機設置代理
再查看電腦的IP,手機與電腦連同一網絡,然后設置代理,主機名是電腦IP地址,端口設置上面監聽端口。
界面
一、菜單欄
1.File
- Capture Traffic:默認勾選,表示抓取請求;取消不抓取
- New Viewer:再打開一個頁面
- Load Archive…:用於重新加載之前捕獲到的 SAZ 文件格式保存的會話
- Recent Archives:查看最近之前捕獲到的 SAZ 文件格式保存的會話
- Import Sessions…:從目標文件夾及其子文件夾加載所有 SAZ 文件。緩存和重用密碼。支持導入從其他工具獲得的會話
2.Edit
- Undelete:恢復之前刪除的會話
- Paste as Sessions:把剪切板里的會話復制到 web sessions 中,把以前的會話粘貼回來
- Mark:自定義不同會話 的顯示顏色
- Unlock for Session:
3.Rules
- Automatic Breakpoints:自動斷點
- Customize Rules…:打開 Fiddler ScriptEditor 工具,修改腳本
- Require proxy authentication:若選中此項,則所有未提交 Require proxy authentication 的請求頭的請求會返回 HTTP/407 響應,要求客戶安裝證書
- Apply GZIP Encoding:請求 GZIP 編碼,若選中此項,則只要請求包含了 gzip 標識的 Accept-Encoding 請求頭就會對除了圖片以外的所有相應使用 GZIP HTTP 進行壓縮
- Remove All Encoding:若選中此項,會刪除所有請求相應的 http 內容編碼和傳輸編碼
- Automatically Authenticate:自動進行身份驗證
- User-Agents:選擇不同的用戶代理,默認是選擇 disabled
- Performance:此項提供影響 web 性能的簡單選項。若選中了 simulate modem speeds,它會設置所有后續 session 的 flag,把 request-trickle-delay 標志設置為 300,所有上傳數據延遲 300ms/kb,若把 response-trickle-delay 標志位設為 150,會使所有下載數據延遲 150ms/kb。若選中了 disable caching,將會刪除所有 If-None-Match和If-Modified-Since 請求頭,並添加 Pragma:no-cache 請求頭,選中該項還會刪除響應中的所有 Expires 頭,並把 Cache-Control 響應頭設置成 no-cache,該項無法阻止瀏覽器重用在所用該選項之前所緩存的響應,在選中該選項后,為了得到最佳結果,最好是清空瀏覽器中緩存。若選擇 Catch Always Fresh 會自動響應所有包含 http/304 響應的有條件的 http 請求,表示客戶端緩存是最新的,當訪問的站點無法正確的設置緩存失效日期時,該選項可以極大的提高性能。
4.Tools
- Options…:打開 Options 窗口,修改監聽的端口,設置HTTPS抓包,手機抓包等
- WinINET Options…:打開IE瀏覽器的Internet屬性面板
- Clear WinINET Catch:清空 IE 和其他應用中所使用的 WinINET 的緩存文件
- Clear WinINET Cookies:清空 IE 和其他應用中所使用的 WinINET 的 Cookies 文件
- TextWizard:文本向導工具,是一個非常好用的可以輕松將 text 文本 encode 和 decode 的小工具
- Compare Sessions:比較會話,可以在會話列表中選中兩個會話,然后點擊此按鈕,可以來比較兩個會話,需要先安裝WinDiff或WinMerge
- New Session Clipboard…:打開一個新的會話剪貼板,可以把會話列表中的會話拖到這個剪貼板中具體來查看
- HOSTS:主機重定向工具。若在其中勾選 Enable 框,然后在下面加入 host 配置,點擊保存之后,這個配置並不會修改到本地 hosts 中,取消勾選就會失效,若點擊 Import Windows Hosts File 將會導入本地的 host 文件內容
- Reset Script:重置腳本
- Sandbox:點擊跳轉到HTTP Sanbox
- View IE Cache:打開本地文件系統,查看IE緩存
- Win8 Loopback Exemptions:Win8 回環豁免工具,這個時候會彈出一個“AppContainer 回環豁免實用程序”的窗口,若要將所有的程序使用豁免,點擊“全部免除”,然后點擊“保存更改”
5.View
- Show Toolbar:顯示工具欄,默認是勾選的
- Default Layout:默認 layout,會話列表在左,請求和響應在右邊的上下處
- Stacked Layout:會話列表在上,請求在下方
- Wide layout:會話列表在上,請求和響應在下方的左右處
- Tabs:打開標簽頁面,其中有三個標簽可以打開,分別是 Preferences(fiddler 偏好屬性),AutoSave(fiddler 自動保存的設置),APITest(api 的測試)
- Minimize To Tray:最小化托盤
- Stay On Top:保持置頂
- Squish Session List:擠壓會話框
- AutoScroll Session List:自動滾動會話列表,默認是勾選此項的,勾選此項后,會話列表中的每出現新的會話,會話列表就會不斷向下滾動,若不勾選此項,就很方便具體某一個會話的定位,即使出現了新的會話也不會自動向下滾動
- Refresh:刷新功能,按 F5 刷新
6.Help
- Help:進入 fiddler 的幫助的網頁
- Get Fiddler Book…:fiddler book 的網頁
- Discussions:fiddler 的討論網頁,這個需要魔法上網
- Http Preferences:進入 http preferences 相關網站
- Troubleshoot…:會捕獲所有請求,對於哪些被過濾的請求用刪除線表示出來並給出原因,使用時候會打開一個網頁
二、工具欄
1.WinConfig:點擊WinConfig-勾選所有-點擊SaveChanges
2.給會話增加備注信息
3.Replay:重新加載當前會話。選中會話-點擊Replay,會在底部顯示重新加載的會話。
4.刪除會話。點擊刪除按鈕會有不同的篩選項
5.Stream(流模式):Fiddler的代理模式。默認緩沖模式(所有資源准備好之后再返回),點擊切換流模式(實時返回,更接近瀏覽器的行為)
6.Decode:解碼
7.Keep:會話列表最多顯示多少條會話
8.Ang Process:捕獲請求,只看需要的請求。將靶心投向需要的請求
9.find:查找,用顏色標注查找結果
10.Save:保存會話
11.點擊截圖,默認5s后截圖,圖片在會話中顯示
12.計時器,第一次點擊開始計時,第二次點擊返回計時結果,第三次點擊清除結果,重新開始計時,右鍵點擊不計時
13.Browser:啟動瀏覽器,下拉選擇瀏覽器點擊啟動瀏覽器
14.Clear Cache:清除緩存
15.TextWizard:編碼、解碼文本內容
16.Tearoff:浮窗,點擊右邊詳情信息浮窗顯示,關閉浮窗詳情信息位置恢復
17.搜索框
三、會話列表
1.#:HTTP Request的順序;以下是圖標的解釋:
:請求已經發往服務器
:已從服務器下載響應結果
:請求從斷點處暫停
:響應從斷點處暫停
:請求使用 HTTP 的 HEAD 方法,響應沒有內容(Body)
:請求使用 HTTP 的 POST 方法
:請求使用 HTTP 的 CONNECT 方法,使用 HTTPS 協議建立連接隧道
:響應是 HTML 格式
:響應是圖片
:響應是腳本格式
:響應是 CSS 格式
:響應是 XML 格式
:響應是 JSON 格式
:響應是音頻文件
:響應是視頻文件
:響應是SilverLight
:響應是 FLASH
:響應是字體
:普通響應成功
:響應是 HTTP/300、301、302、303 或 307 重定向
:響應是 HTTP/304(無變更):使用緩存文件
:響應需要客戶端證書驗證
:服務端錯誤
:會話被客戶端、Fiddler 或者服務端終止
2.Result:response響應碼
3.Protocol:請求使用的協議(HTTP/HTTPS)
4.Host:請求地址的域名。Tunnel to在受限制的網絡環境(防火牆、NAT、代理)中且使用HTTPS方法時,客戶端使用CONNECT請求代理服務器,代理服務器使用CONNECT方法與目標服務器建立http tunnel,隧道建立后,客戶端與服務器進行通信,代理服務器就像透明一樣,只是接受、轉發TCP stream。服務器一般只開發SSL的443端口。所以訪問https:www.baidu.com之前出現了tunnel to www.baidu.com:443
5.URL:請求的服務器地址和文件名,也包括GET的參數
6.Body:請求的大小,以byte為單位
7.Caching:請求的緩存過期時間或緩存控制header等值
8.Content-Type:說明實體主體的媒體類型
9.Process:發出此請求的windows進程及進程ID
10.comments:用戶添加的備注
11.Custom:用戶通過腳本設定的值
12.在會話列表中增加顯示RequestMethod列。在會話列表的首行右鍵單擊--選擇coustomize columns...--選擇RequestMethod--點擊Add添加
13.常用快捷鍵
- CTRL+A:選中所有的會話
- ESC:取消選中所有的會話
- CTRL+I :反向選中;如果會話已選中,則取消,否則選中
- CTRL+X: 刪除所有的會話,鼠標要在session框中再按鍵
- Delete: 刪除選中的會話
- Shift+Delete :刪除所有未選中的會話
- R :重新執行當前請求
- SHIFT+R :多次重復執行當前請求
- U:無條件重新執行當前請求,發送不包含If-Modified-Since 和 If-None– Match的請求頭
- SHIFT+U:無條件地多次重復執行當前請求
- ALT+Enter:查看當前會話的屬性
- Insert:切換是否用紅色粗體標記選中的會話
- M :給選中的會話添加描述
四、詳情和統計界面
1.Statistics:數據統計面板,性能分析
可以在會話列表選擇一個或多個會話,查看數據信息。選擇多個會話來得出總的信息數據,可獲得加載整個頁面所消耗的時間。從條形圖還可以得出哪個請求消耗的時間最多,從而優化頁面的訪問速度。
2.Inspectors:對抓到的請求進行解包,查看詳細內容。
3.AutoResponder:允許直接返回本地文件,而不用將request發送到服務器
把博客園的圖片都換成自己的圖片
4.Composer:前后端接口聯調,偽造請求。
5.Fiddler Orchestra Beta:

9.Timeline:直觀地顯示頁面各個元素加載的時間和順序
- 1請求地址簡稱,綠色的代表有條件的請求,否則是黑色
- 2紅色圈圈代表這個連接是新建的,綠色代表是復用的,上面的圈表示客戶端到Fiddler的連接,下面的圈表示Fiddler到服務器的連接。
- 3實心的是流模式的請求,陰影的是緩沖模式的請求,流模式更貼近實際情況;顏色根據Content-Type來決定,圖片是淺綠色,JavaScript是深綠色,CSS是紫色,其他是藍色;
- 4Timeline中的黑色豎線,表示的是瀏覽器收到服務端響應的第一個字節這一時刻。這個時間受 DNS 解析、建立連接、發送請求、等待服務端響應等步驟的影響,一般用來觀察服務器返回給瀏覽器的數據傳輸效率。若后面有紅色的×,表示服務器響應完這個請求后斷開了連接
五、命令行欄
- help:查看幫助文檔
- ?sometext:匹配Protocol/Host/URL,包含sometext選中高亮顯示
- >size/<size:大於/小於這個數值的高亮顯示
- =status:例=200,狀態碼是200的高亮顯示
- =method:例=GET,方法是GET的高亮顯示
- @host:匹配host,包含高亮顯示,@www.cnblogs.com
- bold:例 bold png 后面抓到的請求url中包含png的都加粗顯示;只寫bold取消加粗顯示
- bpu:請求斷點;例bpu cnblogs.com;只寫bpu取消請求斷點
- bpafter:返回斷點;例bpafter cnblogs.com;只寫bpafter取消返回斷點
- bps:例bps 200 中斷所有返回狀態碼是200的會話;bps取消斷點
- bpv/bpm:bpv/bpm GET 中斷所有請求方法是的會話;pv/bpm取消斷點
- g/go:放行所有中斷的請求
- cls/clear:清空會話列表
- dump:把所有會話打包成壓縮包dump.saz保存在我的文檔-Fiddler2-Captures文件夾下,並且會清空會話列表
- hide:隱藏Fiddler;可在右下角隱藏圖標中找到
- stop:停止抓取請求
- start:開始抓取請求
- urlreplace:urlreplace baidu cnblogs 把baidu替換成cnblogs;urlreplace取消替換
- select:select image 在會話列表高亮顯示返回的Content-Type是image的會話;select ui-comments 111 高亮顯示會話列表中comments是111的會話;select @request.Host i.cnblogs.com高亮顯示請求頭中Host是i.cnblogs.com的會話
- allbut/keeponly:allbut/keeponly image 只顯示返回的Content-Type是image的會話
- !dns:!dns www.cnblogs.com/!dnslookup www.cnblogs.com 執行dns查找並在右邊的Log欄打印結果
- !listen:!listen 9999設置監聽端口為9999;!listen 7777 www.cnblogs.com設置認證為www.cnblogs.com的監聽端口為7777
- cols add:cols add @request.Accept在會話列表中增加菜單項
快捷鍵
- Alt + Q:快速將焦點定位到 QuickExec 命令行
- Ctrl + I:當選擇了一個會話 時候,可以快速將此會話的url插入到當前命令行光標處
六、狀態欄
1.capturing表示正在抓取請求;若顯示為空則表示停止抓取請求;右鍵單擊可切換
2.表示現在顯示所有的進程,可單擊顯示下拉列表,選擇顯示其他進程。
3.選中會話的條數/會話的總條數
4.狀態提示,在上方命令行欄輸入命令后會有狀態提示