關於工具Fiddler實用

1:介紹   

   Fiddle是一款免費的強大的數據抓包軟件,用C#寫的.它通過代理的方式獲取程序http通訊的數據.我們可以利用它來檢測網頁和服務器的交互情況(查看向web服務器發送cookie的內容,下載內容的大小),可設置斷點,監視,允許修改輸入數據和輸出數據,讓你更瞭解交互過程的細節。同時可並提高前端工作效率。

先簡單說下Fiddle的工作原理它是以代理Web服務器的形式工作的,代理地址是127.0.0.1 默認端口8888 它的運行機制的實質就是在本機上監聽8888端口的Http代理。

  

   注意點當Fiddler退出的時候它會自動註銷,這樣就不會影響別的程序。如果Fiddler非正常退出,那就是Fiddler沒有自動註銷,會造成網頁無法訪問。解決的辦法是重新啓動下Fiddler. 默認情況Fiddler不能嗅到localhost的網站,只要在localhost後面加上點號就可以了。eg:原本地址是http://localhost:8888/index.php 加個點號就變成http://localhost.:8888/index.php這樣就哦了。

2:常用功能

     Fiddle一般常用功能就是捕獲會話,只要是能支持HTTP代理的任意程序的數據包都能被Fiddler捕獲到,Fiddler2啓動的時候默認IE的代理設爲了127.0.0.1:8888,而其他瀏覽器是需要手動設置的,將Firefox的代理改爲127.0.0.1:8888即可監聽數據了。

Firefox設置如下:工具→選項→網絡設置→手動配置HTTP代理

如果覺得每次這樣操作麻煩,而且用完每次還要去掉代理,推薦你使用firefox中的fiddler hook 插件, 這樣你非常方便的使用Fiddler獲取firefox中的request和response。

記得啓用插件:firefox tools->Add ons -> Extensions 啓動 FiddlerHook。另外使用的時候將工具→Monitor with Fiddler→check  Use Fiddle automatically 你就可以在瀏覽器右下角看見Fiddle:ON(auto)的標識了。

另外,Fiddle不會自動捕獲HTTPS會話,需要手動到Fiddle的Fiddler Tool->Fiddler Options->HTTPS tab 將3個checkbox選中 所有彈出的對話框點解yes即可。

3:基本界面

   接下來認識下Fiddle基本界面(本來可圖形化可更清晰,無奈圖片只允許上傳500M):最上面左起像微信符號的那行是工具欄,這個微信符號是備註功能。點擊即可插入批註。左側縱向這列是會話列表。再向下黑色輸入框是命令行工具欄,可進行搜索 eg:?.png 可查找出後綴爲png格式的文件。鍵入:select js或select javascript可查詢出所有的js文件。鍵入:cls 是清空所有會話列表,help 查看Fiddle幫助文檔....還有很多哦~

  雙擊左側會話鏈接,右側上方會出現相應的request監聽列表,一般用的較多是Inspector tab 按快捷鍵F8即可.如果想修改request的信息可選擇Inspector的Textview進行編輯。按f9出現composer可鍵入監聽想監聽的URl。右下方是對應會話response的消息。如果想更直觀的查看可看WebForms Tab項,如果想查看Http的統計視圖,點擊show chart即可,這樣你就可以看到一個Web頁面的“總重量”頁面文件及相關的js,css....可看到總共請求的次及多少字節被轉化了。這樣看來fiddle可用來做性能測試。補充下:查看Response的Headers,如果要是一個響應沒包含Cache-Control,這個頁面就不會被緩存在客戶端。


 

4:調試

接下來教你如何設置斷點和修改Request信息進行調試:

Rules→automatic→Breakpoints 選擇before request、after request、Fiddler 能中斷這次會話,選擇被中斷的會話,點擊Inspectors tab下的WebForms tab 修改request信息,然後點擊Run to Completion查看是否成功提交。或者在命令行鍵入: bpafter www.baidu.com、 bu www.baidu.com 取消直接鍵入對應的bpu/bpafter即可。

 

5:開啓重定向

    開啓Enable automatic reaponses 和Unmatched requests passthrough 這兩個可以上傳js的HTTP請求重定向到本地文件。

    測試是否上傳成功:刷新瀏覽器,看下session列表,如果這個session的底色是灰色的就代表成功將這個請求重定向到本地文件。或者在本地的js中加入一句alter("test");若刷新session列表彈出alter框表示重定向本地文件成功。

 

6:TextWizard—Fiddle中自帶的編碼小工具,這個工具可以Encode和Decode string

7:將回話保存 進行分析,選中會話右鍵sava→response→response body....

8:FiddlescriptFiddler最複雜的莫過於script系統了

   官方的幫助文檔: http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp

舉個栗子,將紅框中的修改成自己的php文件或asp文件,並將註釋去掉即可。或者根據自己需求編寫相應的Js,可以無限嘗試哦~



9:亂碼問題

    當你看到response中的html亂碼別慌張,這是因爲html被壓縮了。有兩種方式可解壓。

(1)點擊Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"

(2)選中工具欄中的"Decode" 會自動解壓縮。

10:Fiddle 的限速功能

   Rules→Performance→Simulate modem Speeds 勾選了就限網速了

 

11:圖文解釋 方便快速瞭解

   

同類工具httpwatch, firebug, wireshark

以上些許瞭解,如需詳情請查詢 Fiddler的官方網站:  www.fiddler2.com

 


 

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