Fiddler Web Debugger中文漢化是一個HTTP調試抓包工具,你越使用Fiddler,就越能幫助你了解HTTP協(xié)議。通過代理的方式獲取程序http通訊的數(shù)據,可以用其檢測網頁和服務器的交互情況。它可以幫您記錄,調試Microsoft Internet Explorer與Web應用程序的交互,找到Web程序運行性能的瓶頸,還有如查看向Web服務器發(fā)送cookies的內容,下載內容的大小等功能。
軟件特色:
1.Fiddler支持斷點調試技術,當你在軟件的菜單—rules—automatic breakpoints選項選擇before request,或者當這些請求或響應屬性能夠跟目標的標準相匹配,F(xiàn)iddler測試版就能夠暫停Http通訊,并且允許修改請求和響應。這種功能對于安全測試是非常有用的,當然也可以用來做一般的功能測試,因為所有的代碼路徑都可以用來演習。
2.通過顯示所有的Http通訊,F(xiàn)iddler測試版可以輕松地演示哪些用來生成一個頁面,通過統(tǒng)計頁面(就是Fiddler左邊的那個大框)用戶可以很輕松地使用多選,來得到一個WEB頁面的“總重量”(頁面文件以及相關js,css等)你也可以很輕松地看到你請求的某個頁面,總共被請求了多少次,以及多少字節(jié)被轉化了。
3.用戶可以加入一個Inspector插件對象,來使用.net下的任何語言來編寫Fiddler擴展。RequestInspectors 和 ResponseInspectors提供一個格式規(guī)范的,或者是被指定的(用戶自定義)Http請求和響應視圖。
4.另外,通過暴露HTTP頭,用戶可以看見哪些頁面被允許在客戶端或者是代理端進行緩存。如果要是一個響應沒有包含Cache-Control 頭,那么他就不會被緩存在客戶端。
使用說明:
怎么抓包?
1. 開發(fā)fiddler之后默認情況下就是抓包狀態(tài),可以查看界面左下角顯示capturing,如果沒有顯示,單擊此處可以開始抓包。
2. 如果訪問的網站是https網站,則需要通過Tools – Fiddler Options – Https – Decrypt Http Traffic來設置將https解密
3. 通過瀏覽器發(fā)送請求。(在windows平臺上此處并不限于瀏覽器,只要程序是通過winhttp或者wininet發(fā)送請求都可以被監(jiān)測到)
4. 在收到回復后回到fiddler查看抓包內容。
關鍵字查找
1. 通過Ctr+F調出查找對話框,在全局查找關鍵字
2. 在選中特定請求之后可以在Inspecters – Raw中分別在特定的請求或回復中查找內容
3. 如果回復被壓縮過,通過單擊提示按鈕可以將內容解壓縮
自動回復
請求自動回復應用也比較廣,例如將其他機器抓包倒入自動回復,然后再本機回放重現(xiàn)問題;或者動態(tài)調試過程中不希望有些請求去調用服務器,而在自動回復中配制或者進行相應的更改直接查看效果。
1. 切換到自動回復(AutoResponder)標簽頁
2. 選中Enable automatic responses
3. 點擊Import按鈕導入抓包的saz文件
4. 可以通過默認Url或者通過Rule Editor來修改請求匹配規(guī)則
斷點設置
1. 通過Rules – Automatic Breakpoints – Before Requests/After Response設置斷點。
自定義擴展腳本
Fiddler支持通過Jscript方式擴展功能,比如自動通過腳本對請求及回復進行處理。具體的實例可以參考fiddler提供的實例代碼。
http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
以下是兩個簡單例子
以下提到的方法可以在CustomRule.js中找到并進行相應的更改,
可以通過Rules – CustomRule來打開CustomRule.js.
常見問題答疑:
問:fiddler 無法抓取chrome,IE正常抓取是怎么回事?
答:前端開發(fā)中,不可避免的要和服務器端進行聯(lián)調,少了fiddler這個利器可不行。
由于無線開發(fā)需要配置UA,我使用chrome進行訪問,但是今兒一早過來,發(fā)現(xiàn)fiddler漢化版無法抓取chrome的請求了。想想昨天對chrome進行的操作,我覺得問題應該出在代理的身上。實際上fiddler是可以抓chrome的請求的。
由于我的chrome安裝了代理管理的插件SwitchySharp,無論選擇直接連接還是選擇使用代理連接,插件都會屏蔽fiddler的設置。
fiddler會自動給瀏覽器設置一個代理127.0.0.1 端口8888,并且記憶瀏覽器的代理設置,所有的請求先走fiddler代理,再走瀏覽器代理。
如果使用插件,可能會直接屏蔽了fiddler的代理,因此無法監(jiān)聽到請求了。
chrome下的解決方法,代理插件選擇“使用系統(tǒng)代理設置”選項,fiddler又重新能看到chrome的請求了。
或者不使用插件,不用卸載,chrome很方便禁用一個插件。然后使用瀏覽器默認的代理設置方式就ok了。
使用代理插件是為了方便切換代理,但是可能會導致fiddler等工具無法使用。真是魚和熊掌不可兼得