從入門到深入Fiddler (一)
在開發的過程中使用過不少的HTTP網路抓包工具,研究過HTTPAnalyzer,HttpWatch,感覺都很不錯。
記不清什麼時候自己搜了一個工具,它就是Fiddler,自從使用了Fiddler之後,我越來越喜歡它了。現在基本上不再使用其它的
抓包工具了。因為我發現,Fiddler實在是太強大了,它幾乎囊括了大部分的抓包請求,當然最給力的還是它 的斷點除錯功能,
尤其還有使用本地檔案代替伺服器檔案這個實用的功能,這樣程式設計師就不要每次出問題修改伺服器檔案了,因為伺服器檔案一般不會讓人輕易修改
,再者也許程式設計師沒有許可權修改,這個功能超讚!
之後,我上了Fiddler的官網之後,找到了它上面的幾個Demo的小教程,更加確定我的想法了。以後就是它了,Fiddler!
國內的程式設計師是不少,但是國內的程式設計師最大的悲劇不是知識面不夠,更不是不聰明。我感覺國內的程式設計師最大的悲劇就是英語不好。
哎,誰讓計算機是外國人發明的呢,沒辦法,那我們只好學好英語了。
鑑於Fiddler這個好工具太強大了,我有個想法,想把它推薦給我們國內的程式設計師們,所以我決定有時間就翻譯一下Fiddler的使用教程,
首先宣告:我翻譯的水平肯定跟我的技術知識和能力有關,希望大家能夠理解,這個教程主要是我翻譯的,不是我自己寫的。
今天讓我們開始吧。
Fiddler使用者介面:
下面這個介面擷取的是我自己的Fiddler。
Web 會話列表。
就是指上面左側的內容部分。
Web會話列表包括了所有的從你的電腦發出的HTTP請求。為了自己的使用方便,你可以自己調整會話列表的內容,你也可以單擊列表的頂部來對會話列表來排序。
會話列表頂部包含的資訊有以下內容:
- # - 為了使用方便,Fiddler 為你生成的會話列表的ID
- Protocol - 本次會話使用的協議型別(HTTP/HTTPS/FTP)
- Host - 傳送本次請求的主機名
- URL - 本次請求的路徑和具體檔名
- Body - 響應返回內容的大小
- Caching -是否使用了快取
- Process - 傳送本次請求的程式程序的名字
- Content-Type - 響應的響應頭的 Content-Type 值
- Custom - 通過指令碼設定的文字域.
- Comments - 通過指令碼或者在會話列表中右鍵新增的註釋。
在Fiddler v2.2.0.5 及其以上的版本,你可以新增自己的新列。
在會話列表中預設的文字的顏色從HTTP的響應的狀態繼承而來(紅色代表錯誤,黃色代表需要授權)CONNECT型別為灰色,
還有返回型別(CSS檔案為紫色,HTML檔案為藍色,JS指令碼為綠色,圖片為灰色)你可以通過使用ui-color 標誌位來改變和重寫列表的預設顏色。
(提示:ui-color在Fiddler的指令碼配置檔案中,需要安裝FiddlerScript)
為了檢視的方便每一個請求的前面都有一個圖示來表示。
上面的圖示後面的英文的意思依次為:
1.請求正在被髮往伺服器
2.正在從伺服器接收請求內容
3.請求被一個斷點停住了。
4.響應被一個斷點停住了。
5.請求使用HEAD方法,響應應該沒有響應體。
6.請求使用POST方法
7.請求使用了HTTPS
8.返回內容為HTML頁面
9.返回內容為JS指令碼
10.返回內容為CSS
11.返回內容為XML檔案
12.返回內容為JSON檔案
13.返回內容為音訊檔案
14.返回內容為視訊檔案
15.返回內容為Silverlight
16.返回內容為Flash
17.返回內容為字型檔案
18.一般成功的響應
19.響應被重定向了,通過HTTP/300,301,302,303 or 307
20.HTTP 304 請求
21.返回一個需要客戶端證書驗證的請求
22.伺服器端錯誤
23.會話被客戶端、Fiddler、伺服器意外終止。
和會話列表的互動
在一個或者多個會話上面單擊右鍵會出現下面的選單
小提示:你可以通過在FiddlerScript中使用ContextAction標誌為這個選單新增選單項。
在“複製”選單上面有以下內容:
Session - 以純文字和HTML語法加亮形式複製原始的請求內容到剪貼簿。Just URL - 僅僅複製主機名和URL地址Headers Only - 以純文字和HTML語法加亮形式複製請求頭和響應頭到剪貼簿。Full Summary - 為了貼上到Excel中方便,以純文字和HTML語法加亮形式把請求的各個列的資訊複製到剪貼簿。Terse Summary - 複製請求地址和響應狀態到剪貼簿。在“儲存”選單上面有以下內容:
- Session > In ArchiveZIP - 把相關的請求內容打包為一個 .SAZ 檔案.
- Session - 把請求和響應的所有內容存為一個文字檔案
- Headers Only - 把請求頭和響應頭存為一個文字檔案
- Full Request - 把請求的所有內容存為一個文字檔案
- Request Body - 把請求體存為一個文字檔案,通常是POST的資料包。
- Full Response - 把響應的所有內容存為一個文字檔案
- Response Body - 把響應體存為一個檔案,通常是HTML檔案或者圖片。