Fiddler是位於客戶端和服務器端的HTTP代理。css
Fiddler是目前最經常使用的http抓包工具之一。html
Fiddler是功能很是強大,是web調試的利器。web
Fiddler原理圖以下:windows
Fiddler是一個代理服務器。代理地址:127.0.0.1,端口:8888。瀏覽器能夠經過設置查看代理服務器:設置->高級->打開您計算機的代理設置->鏈接->局域網設置->代理服務器->在高級中就能看到代理地址:127.0.0.1和端口:8888瀏覽器
當瀏覽器向服務器請求數據時,被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安裝注意事項:不要安裝在有中文和特殊字符的目錄。session
Fiddler界面從上到下分爲:菜單欄、工具欄、回話列表、功能頁籤、命令行,狀態欄六大板塊!以下圖所示:
File菜單
一、Capture Traffic:能夠控制是否把Fiddler註冊爲系統代理。
二、New Viewer:打開一個新的fiddler窗口
三、Load Archive:用於從新加載以前捕獲的以SAZ文件格式保存的數據包。
四、Save:支持以多種方式把數據包保存到文件中。
五、Import Sessions...:支持導入從其餘工具捕獲的數據包,也支持導入以其餘格式存儲的數據包。
六、Export Sessions...:把Fiddler捕捉到的回話以多種文件格式保存。
七、Exit:取消把Fiddler註冊爲系統代理,並關閉Fiddler。
Edit菜單
一、Copy:複製會話。
二、Remove:刪除會話。
三、Select All:選擇全部會話。
四、Undelete:撤銷刪除會話。
五、Paste as Session把剪貼板上的內容粘貼成一個或多個模擬的會話。
六、Mark:選擇一種顏色標記選中會話。
七、Unlock for Editing 解鎖會話。
八、Find Session...打開Find Session窗口,搜索捕獲到的數據包。
Rules菜單
一、Hide Image Request:隱藏圖片回話。
二、Hide CONNECTS:隱藏鏈接通道回話。
三、Automatic Breakpoints:自動在[請求前]或[響應後]設置斷點。Ignore Image觸發器控制這些斷點是否做用於圖片請求。
四、Customize Rules...:打開Fiddler腳本編輯窗口。
五、Require Proxy Authentication:,要求客戶端安裝證書。該規則能夠用於測試HTTP客戶端,確保全部未提交Proxy-Authorization請求頭的請求會返回HTTP/407響應碼。
六、Apply GZIP Encoding:只要請求包含具備gzip標識的Accept-Encoding請求頭,就會對全部響應使用GZIP HTTP進行壓縮(圖片請求除外)。
七、Remove All Encoding:刪除全部請求和響應的HTTP內容編碼和傳輸編碼
八、Hide 304s:隱藏響應爲HTTP/304 Not Modified狀態的全部回話。
九、Request Japanese Content:選項會把全部請求的Accept-Encoding請求頭設置或替換爲ja標識,表示客戶端但願響應以日語形式發送。
十、User-Agents:把全部請求的User-Agent請求頭設置或替換成指定值。
十一、performance:模擬弱網測試速度。
Tools菜單
一、Options...:打開Fiddler選項窗口。
二、WinINET Options...打開IE的Internet屬性窗口
三、Clear WinINET Cache:清空IE和其餘應用中所使用的WinINET緩存中的全部文件。
四、Clear WinINET Cookies:清空IE和其餘應用中所發送的WinINET Cookie
五、TextWizard...:選項會啓動TextWizard窗口,對文本進行編碼和解碼。
六、Compare Session:比較回話。
七、Reset Script:重置Fiddler腳本。
八、Sandbox:打開http://webdbg.com/sandbox/
九、View IE Cache:打開IE緩存窗口。
View菜單
一、Show Toolbar:控制Fiddler工具欄是否可見
二、Default Layout、Stacked Layout、Wide Layout三種界面佈局
三、Minimize to Tray:最小化Fiddler到系統托盤(快捷鍵:CTRL+M )
四、Squish Session List:控制回話列表是否水平收縮。
五、AutoScroll Session list:添加新的回話時,自動滾動到回話列表底部
1.備註功能
2.從新發送請求,快捷鍵:R鍵。
3.刪除請求
4.當有請求前斷點時,點擊去發送請求。
5.流模式。(默認是緩衝模式)
6.解碼
7.保持回話的數量。
8.選擇你想要抓包或者監聽的程序
9.查找
10.保存全部會話,文件名以.saz爲擴展名
11.截圖
12.計時器
13.快捷的打開IE瀏覽器
14.清除IE緩存
15.文本的編碼解碼工具
16.分離面板
17.MSDN查詢
18.本機的信息
會話(session)即Fiddler抓取到的每條http請求數據包。
主要包含:1.請求的ID編號、2. http響應狀態碼、3.會話使用的協議、4.請求發送到的服務器主機名、5.數據包在服務器中的路徑和文件、6.響應body的字節數。7.響應頭信息Cache-Control的值、八、響應頭信息Content-Type的值、9.發起請求的本地windows進程、10.註釋、11.自定義備註。
Statistics頁籤
經過該頁籤,用戶能夠經過選擇多個會話來獲得這幾個會話的總的信息統計,好比多個請求傳輸的字節數。訪問頁面時選擇第一個請求和最後一個請求,可得到整個頁面加載所消耗的整體時間。從條形圖表中還能夠分別出哪些請求耗時最多,從而對頁面的訪問進行速度性能優化。
inspectors頁籤(經常使用頁籤)
它提供headers、textview、hexview,Raw等多種方式查看一條http請求的請求和響應,它分爲上下兩部分:上部分爲請求展現,下部分爲響應展現。
AutoResponse頁籤(經常使用頁籤)
它能夠抓取在線頁面保存到本地進行調試,大大減小了在線調試的困難,可讓咱們修改服務器端返回的數據,例如讓返回都是404的數據包讀取本地文件做爲返回內容。
composer頁籤(經常使用頁籤)
支持手動構建和發送HTTP,HTTPS和FTP請求,咱們還能夠從回話列表中拖曳回話,把它放到composer選項卡中,當咱們點擊Execute按鈕時則把請求發送到服務器端。
FiddlerScripts頁籤
打開Fiddler腳本編輯。
log頁籤:
打印日誌
Filters頁籤(經常使用頁籤)
過濾器能夠對左側的數據流列表進行過濾,咱們能夠標記、修改或隱藏某些特徵的數據流。
Timeline頁籤
時間軸,也稱爲Fiddler的瀑布圖,展現網絡請求時間的功能。每一個網絡請求都會經歷域名解析、創建鏈接、發送請求、接受數據等階段。把多個請求以時間做爲X軸,用圖表的形式展示出來,就造成了瀑布圖。在左側會話窗口點擊一個或多個回話,Timeline 便會顯示指定內容從服務端傳輸到客戶端的時間。
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是否處於捕捉狀態(開啓/關閉狀態),能夠點擊該區域切換。
二、顯示當前捕捉哪些進程。
All Processes 捕獲全部進程的請求
Web Browsers 捕獲 Web 瀏覽器的請求,應該特指 IE
Non-Browser 捕獲非 Web 瀏覽器的請求
Hide All 隱藏全部請求
三、顯示當前斷點設置狀態,經過鼠標點擊切換。有三種:
不設置斷點
全部請求在斷點處被暫停
全部響應在斷點處被暫停
4,顯示當前共捕獲了多少回話(如:300,表示共捕獲了300個會話,如:10/300,表示當前選擇10個會話,共捕獲300個會話)。
5,第五區塊,描述當前狀態。
若是是剛打開Fiddler,會顯示什麼時間加載了CustomRules.js;若是選擇了一個會話,會顯示該會話的URL;若是在命令行輸入一個命令,就會顯示命令相關信息。