Fiddler 教程(轉)

來源:互聯網
上載者:User

標籤:blog   http   color   io   os   使用   ar   for   strong   

閱讀目錄

  1. Fiddler的基本介紹
  2. Fiddler的工作原理
  3. 同類的其它工具
  4. Fiddler如何捕獲Firefox的會話
  5. Fiddler如何捕獲HTTPS會話
  6. Fiddler的基本介面
  7. Fiddler的統計視圖
  8. QuickExec命令列的使用
  9. Fiddler中設定斷點修改Request
  10. Fiddler中設定斷點修改Response
  11. Fiddler中建立AutoResponder規則
  12. Fiddler中如何過濾會話
  13. Fiddler中會話比較功能
  14. Fiddler中提供的編碼小工具
  15. Fiddler中查詢會話
  16. Fiddler中儲存會話
  17. Fiddler的script系統
  18. 如何在VS調試網站的時候使用Fiddler
  Fiddler的基本介紹

  Fiddler的官方網站:  www.fiddler2.com

  Fiddler官方網站提供了大量的協助文檔和視頻教程, 這是學習Fiddler的最好資料。

  Fiddler是最強大最好用的Web調試工具之一,它能記錄所有用戶端和伺服器的http和https請求,允許你監視,設定斷點,甚至修改輸入輸出資料,Fiddler包含了一個強大的基於事件指令碼的子系統,並且能使用.net語言進行擴充

  你對HTTP 協議越瞭解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能協助你瞭解HTTP協議。

  Fiddler無論對開發人員或者測試人員來說,都是非常有用的工具。

  Fiddler的工作原理

  Fiddler 是以代理web伺服器的形式工作的,它使用Proxy 位址:127.0.0.1,連接埠:8888。當Fiddler退出的時候它會自動登出,這樣就不會影響別的程式。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動登出,會造成網頁無法訪問。解決的辦法是重新啟動下Fiddler。

  同類的其它工具

  同類的工具有: httpwatch, firebug, wireshark

  Fiddler 如何捕獲Firefox的會話

  能支援HTTP代理的任意程式的資料包都能被Fiddler嗅探到,Fiddler的運行機制其實就是本機上監聽8888連接埠的HTTP代理。 Fiddler2啟動的時候預設IE的代理設為了127.0.0.1:8888,而其他瀏覽器是需要手動設定的,所以將Firefox的代理改為127.0.0.1:8888就可以監聽資料了。

  Firefox 上通過如下步驟設定代理

  點擊: Tools -> Options,  在Options 對話方塊上點擊Advanced tab - > network tab -> setting.

  Fiddler如何捕獲HTTPS會話

  預設下,Fiddler不會捕獲HTTPS會話,需要你設定下, 開啟Fiddler  Tool->Fiddler Options->HTTPS tab

  選中checkbox, 彈出如下的對話方塊,點擊"YES"

  

  點擊"Yes" 後,就設定好了。

  Fiddler的基本介面

  看看Fiddler的基本介面

  Fiddler的HTTP統計視圖

  通過陳列出所有的HTTP通訊量,Fiddler可以很容易的向您展示哪些檔案產生了您當前請求的頁面。使用Statistics頁簽,使用者可以通過選擇多個會話來得來這幾個會話的總的資訊統計,比如多個請求和傳輸的位元組數。

  選擇第一個請求和最後一個請求,可獲得整個頁面載入所消耗的總體時間。從橫條圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度最佳化

  QuickExec命令列的使用

  Fiddler的左下角有一個命令列工具叫做QuickExec,允許你直接輸入命令。

  常見得命令有:

  help  開啟官方的使用頁面介紹,所有的命令都會列出來

  cls    清屏  (Ctrl+x 也可以清屏)

  select  選擇會話的命令

  ?.png  用來選擇png尾碼的圖片

  bpu  截獲request

  Fiddler中設定斷點修改Request

  Fiddler最強大的功能莫過於設定斷點了,設定好斷點後,你可以修改httpRequest的任何資訊包括host, cookie或者表單中的資料。設定斷點有兩種方法:

  第一種:開啟Fiddler 點擊Rules-> Automatic Breakpoint  ->Before Requests(這種方法會中斷所有的會話)

  如何消除命令呢?  點擊Rules-> Automatic Breakpoint  ->Disabled

  第二種:  在命令列中輸入命令:  bpu www.baidu.com   (這種方法只會中斷www.baidu.com)

  如何消除命令呢?  在命令列中輸入命令 bpu

  看個執行個體,類比部落格園的登入, 在IE中開啟部落格園的登入頁面,輸入錯誤的使用者名稱和密碼,用Fiddler中斷會話,修改成正確的使用者名稱密碼。這樣就能成功登入:

  1. 用IE 開啟部落格園的登入介面  http://passport.cnblogs.com/login.aspx

  2. 開啟Fiddler,  在命令列中輸入bpu http://passport.cnblogs.com/login.aspx

  3. 輸入錯誤的使用者名稱和密碼,點擊登入

  4. Fiddler 能中斷這次會話,選擇被中斷的會話,點擊Inspectors tab下的WebForms tab 修改使用者名稱密碼,然後點擊Run to Completion 如所示。

  5. 結果是正確地登入了部落格園

  Fiddler中設定斷點修改Response

  當然Fiddler中也能修改Response:

  第一種:開啟Fiddler 點擊Rules-> Automatic Breakpoint  ->After Response  (這種方法會中斷所有的會話)

  如何消除命令呢?  點擊Rules-> Automatic Breakpoint  ->Disabled

  第二種:  在命令列中輸入命令:  bpuafter www.baidu.com   (這種方法只會中斷www.baidu.com)

  如何消除命令呢?  在命令列中輸入命令 bpuafter,

  具體用法和上節差不多,就不多說了。

  Fiddler中建立AutoResponder規則

  Fiddler 的AutoResponder tab允許你從本地返迴文件,而不用將http request 發送到伺服器上。

  看個執行個體:

  1. 開啟部落格園首頁,把部落格園的logo圖片儲存到本地,並且對圖片做些修改。

  2. 開啟Fiddler 找到logo圖片的會話, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif,  把這個會話拖到AutoResponer Tab下

  3. 選擇Enable automatic reaponses 和Unmatched requests passthrough

  4. 在下面的Rule Editor 下面選擇 Find a file... 選擇本地儲存的圖片.  最後點擊Save 儲存下。

  5.   再用IE部落格園首頁, 你會看到首頁的圖片用的是本地的。

  Fiddler中如何過濾會話

  每次使用Fiddler, 開啟一個網站,都能在Fiddler中看到幾十個會話,看得眼花繚亂。最好的辦法是過濾掉一些會話,比如過濾掉圖片的會話。Fiddler中有過濾的功能, 在右邊的Filters tab中,裡面有很多選項, 稍微研究下,就知道怎麼用。

  Fiddler中會話比較功能

  選中2個會話,右鍵然後點擊Compare,就可以用WinDiff來比較兩個會話的不同了(當然需要你安裝WinDiff)

  Fiddler中提供的編碼小工具

  點擊Fiddler 工具列上的TextWizard,  這個工具可以Encode和Decode string.

  Fiddler中查詢會話

  用快速鍵Ctrl+F開啟Find Sessions的對話方塊,輸入關鍵字查詢你要的會話。 查詢到的會話會用黃色顯示。

  Fiddler中儲存會話

  有些時候我們需要把會話儲存下來,以便發給別人或者以後去分析。  儲存會話的步驟如下:

  選擇你想儲存的會話,然後點擊File->Save->Selected Sessions

  Fiddler的script系統

  Fiddler最複雜的莫過於script系統了,官方的協助文檔:http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp。

  首先先安裝SyntaxView外掛程式,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now... 如

  安裝成功後Fiddler 就會多了一個Fiddler Script tab,如:

  在裡面我們就可以編寫指令碼了, 看個執行個體讓所有cnblogs的會話都顯示紅色。

  把這段指令碼放在OnBeforeRequest(oSession: Session) 方法下,並且點擊"Save script"

if (oSession.HostnameIs("www.cnblogs.com")) {

  oSession["ui-color"] = "red";

}

  這樣所有的cnblogs的會話都會顯示紅色。

  如何在VS調試網站的時候使用Fiddler

  我們在用visual stuido 開發ASP.NET網站的時候也需要用Fiddler來分析HTTP, 預設的時候Fiddler是不能嗅探到localhost的網站。不過只要在localhost後面加個點號,Fiddler就能嗅探到。

  例如:原本ASP.NET的地址是 http://localhost:2391/Default.aspx,  加個點號後,變成 http://localhost.:2391/Default.aspx 就可以了

 http://kb.cnblogs.com/page/130367/

Fiddler 教程(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.