fiddler使用介紹

 

Fiddler的詳細介紹html

Fiddler的詳細介紹                                  

1、Fiddler與其餘抓包工具的區別

 一、Firebug雖然能夠抓包,可是對於分析http請求的詳細信息,不夠強大。模擬http請求的功能也不夠,且firebug經常是須要「無刷新修改」,若是刷新了頁面,全部的修改都不會保存;web

 二、Wireshark是通用的抓包工具,能獲取HTTP,也能獲取HTTPS,可是不能解密HTTPS,因此wireshark看不懂HTTPS中的內容,但若是是TCP、UDP協議能夠用wireshark;瀏覽器

 三、Httpwatch也是比較經常使用的http抓包工具,可是隻支持IE和firefox瀏覽器(其餘瀏覽器可能會有相應的插件);緩存

而Fiddler 是一個使用本地 127.0.0.1:8888 的 HTTP 代理,任何可以設置 HTTP 代理爲 127.0.0.1:8888 的瀏覽器和應用程序均可以使用 Fiddler。服務器

2、Fiddler的工做原理

 Fiddler是位於客戶端和服務器端的HTTP代理,也是目前最經常使用的http抓包工具之一 。 它可以記錄客戶端和服務器之間的全部 HTTP請求,能夠針對特定的HTTP請求,分析請求數據、設置斷點、調試web應用、修改請求的數據,甚至能夠修改服務器返回的數據。網絡

 既然是代理,也就是說:客戶端的全部請求都要先通過Fiddler,而後轉發到相應的服務器,反之,服務器端的全部響應,也都會先通過Fiddler而後發送到客戶端,因此web客戶端和服務器的請求如圖1所示:session

圖1(web客戶端和服務器的請求過程)工具

 注:使用Fiddler的話,須要先設置瀏覽器的代理地址,才能夠抓取到瀏覽器的數據包。而很方便的是在你啓動該工具後,它就已經自動幫你設置好了瀏覽器的代理了,當關閉後,它又將瀏覽器代理還原了。固然若是發現沒有自動設置瀏覽器代理的話,那就得本身動手去瀏覽器進行設置代理操做了。(可自行百度每一個瀏覽器是如何設置代理的),反正必定要設置相應的代理,不然fiddler是沒法捕獲到HTTP請求的。post

3、Fiddler的使用界面介紹

 一、主界面如圖2所示:性能

圖2(fiddler主界面)

二、左邊web session面板的字段及圖標含義以下:

名稱

含義

#

抓取HTTP Request的順序,從1開始,以此遞增

Result

HTTP狀態碼

Protocol

請求使用的協議,如HTTP/HTTPS/FTP等

Host

請求地址的主機名

URL

請求資源的位置

Body

該請求的大小

Caching

請求的緩存過時時間或者緩存控制值

Content-Type

請求響應的類型

Process

發送此請求的進程:進程ID

Comments

容許用戶爲此回話添加備註

Custom

容許用戶設置自定義值

圖標

含義

clip_image001[13]

請求已經發往服務器

clip_image002[4]

已從服務器下載響應結果

clip_image003[4]

請求從斷點處暫停

clip_image004[4]

響應從斷點處暫停

clip_image005[4]

請求使用 HTTP 的 HEAD 方法,即響應沒有內容(Body)

clip_image006[4]

請求使用 HTTP 的 POST 方法

clip_image007[4]

請求使用 HTTP 的 CONNECT 方法,使用 HTTPS 協議創建鏈接隧道

clip_image008[4]

響應是 HTML 格式

clip_image009[4]

響應是一張圖片

clip_image010[4]

響應是腳本格式

clip_image011[4]

響應是 CSS 格式

clip_image012[4]

響應是 XML 格式

clip_image013[4]

響應是 JSON 格式

clip_image014[4]

響應是一個音頻文件

clip_image015[4]

響應是一個視頻文件

clip_image016[4]

響應是一個 SilverLight

clip_image017[4]

響應是一個 FLASH

clip_image018[4]

響應是一個字體

clip_image019[4]

普通響應成功

clip_image020[4]

響應是 HTTP/300、30一、30二、303 或 307 重定向

clip_image021[4]

響應是 HTTP/304(無變動):使用緩存文件

clip_image022[4]

響應須要客戶端證書驗證

clip_image023[4]

服務端錯誤

clip_image0244

會話被客戶端、Fiddler 或者服務端終止

該表來源於博客:http://blog.csdn.net/qq_21445563/article/details/51017605

三、右邊是詳情和數據統計面板

1)Statistics關於HTTP請求的性能(例如發送/接受字節數,發送/接收時間,還有粗略統計世界各地訪問該服務器所花費的時間)以及數據分析。如圖3所示:

圖3(Statistics選項卡)

2)Inspectors是用於查看會話的內容,上半部分是請求的內容,下半部分是響應的內容,提供headers、textview、hexview,Raw等多種方式查看單條http請求的請求報文的信息,如圖4所示:

 圖4(Inspectors選項卡)

3)AutoResponder 可用於攔截某一請求,即按本身添加的指定規則重定向到本地的資源或Fiddler資源,從而代替服務器響應。

舉例:將「baidu」這個關鍵字跟本地電腦的一張圖片綁定了,再訪問帶有「baidu」關鍵字的地址,就會被劫持,具體步驟如圖5所示: 

圖5(AutoResponder 選項卡)

啓用規則後(勾選enable rules),在瀏覽器輸入pan.baidu.com,會發現被劫持了,顯示的是綁定的本地圖片,而不是pan.baidu.com的頁面

圖6(被劫持)

4)Composer 自定義請求發送服務器,Parsed模式下你只須要提供簡單的URLS地址便可,如圖7所示

圖7(Composer選項卡)

5)Filters 即過濾規則,經過設置過濾規則來過濾所需的http請求,如圖8所示,勾選左上角的Use Filters開啓過濾器:

圖8(Filters選項卡)

  而這裏有兩個最經常使用的過濾條件:Zone和Host

a.Zone 指定只顯示內網(Intranet)或互聯網(Internet)的內容,如圖9所示:

圖9

b.Host 指定顯示某個域名下的會話,如圖10所示,若是框框爲黃色,表示修改未生效,點擊紅圈裏的文字便可:

圖10

6)timeline 請求響應時間,在左側會話窗口點擊一個或多個請求,Timeline 便會顯示指定內容從服務端傳輸到客戶端的時間,如圖11所示:

圖11(timeline選項卡)

4、Fiddler的其餘功能介紹

 一、Fiddler 設置解密HTTPS的網絡數據

 Fiddler能夠經過僞造CA證書來欺騙瀏覽器和服務器。大概原理就是在瀏覽器面前Fiddler假裝成一個HTTPS服務器,而在真正的HTTPS服務器面前Fiddler又裝成瀏覽器,從而實現解密HTTPS數據包的目的。

解密HTTPS須要手動開啓,依次點擊:Tools –> Fiddler Options –>  HTTPS ->勾選Decrypt HTTPS traffic -> 點擊Yes,在彈出的對話框中選擇是便可,如圖12所示

圖12

二、Fiddler 內置命令與斷點

 FIddler斷點功能就是將請求截獲下來,直接點擊Fiddler下圖的圖標位置,就能夠設置所有請求的斷點,也能夠在命令欄輸入斷點命令進行截獲,如圖13所示

圖13(斷點)

  而斷點的命令則能夠精確設置須要截獲那些請求,以下表所示:

命令

對應請求項

介紹

示例

?

All

問號後邊跟一個字符串,能夠匹配出包含這個字符串的請求

?google

>

Body

大於號後面跟一個數字,能夠匹配出請求大小,大於這個數字請求

>1000

<

Body

小於號跟大於號相反,匹配出請求大小,小於這個數字的請求

<100

=

Result

等於號後面跟數字,能夠匹配HTTP返回碼

=200

@

Host

@後面跟Host,能夠匹配域名

@www.baidu.com

select

Content-Type

select後面跟響應類型,能夠匹配到相關的類型

select image

cls

All

清空當前全部請求

cls

dump

All

將全部請求打包成saz壓縮包,保存到「個人文檔\Fiddler2\Captures」目錄下

dump

start

All

開始監聽請求

start

stop

All

中止監聽請求

stop

斷點命令 

bpafter

All

bpafter後邊跟一個字符串,表示中斷全部包含該字符串的請求

bpafter baidu(輸入bpafter解除斷點)

bpu

All

跟bpafter差很少,只不過這個是收到請求了,中斷響應

bpu baidu(輸入bpu解除斷點)

bps

Result

後面跟狀態嗎,表示中斷全部是這個狀態碼的請求

bps 200(輸入bps解除斷點)

bpv / bpm

HTTP方法

只中斷HTTP方法的命令,HTTP方法如POST、GET

bpv get(輸入bpv解除斷點)

g  / GO

All

放行全部中斷下來的請求

g

 注:一、如bpafter斷點命令使用方法爲:bpafter 後邊跟字符串->表示中斷全部包含該字符串的請求;   bpafter ->表示解除剛剛的中斷斷點;

   二、該表來源於博客:http://blog.csdn.net/qq_21445563/article/details/51017605

三、中斷會話後修改表單內容

  不知道什麼緣由捕獲不了登陸界面的會話(除了博客園網站外,其餘不少網站的會話都捕獲不到->解決方法:按上面‘Fiddler 設置解密HTTPS的網絡數據’所寫的步驟設置一下),因此下面的實例是來自小坦克的,詳細博客地址在圖片正文貼着。

  看個實例,模擬博客園的登陸, 在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 如圖14所示。

  5. 結果是正確地登陸了博客園(固然Fiddler中也能修改Response)

圖14(該實例來源於博客:http://kb.cnblogs.com/page/130367/)

四、Fiddler中會話比較功能

 選中2個會話,右鍵而後點擊Compare,就能夠用WinDiff來比較兩個會話的不一樣了(注:須要安裝WinDiff,自行百度安裝就能夠了,這裏就不細說安裝步驟),如圖15所示

圖15(compare功能)

五、Fiddler中提供的編碼工具

  點擊Fiddler 工具欄上的TextWizard,  這個工具能夠Encode和Decode string,如圖16所示

圖16(TextWizard界面)

六、Fiddler中的查詢會話

  Edit->Find Sessions(或Ctrl+F)打開Find Sessions的對話框,輸入關鍵字查詢你要的會話。 查詢到的會話會用黃色顯示,如圖17所示

圖17(find session界面)

七、Fiddler中的保存會話

  有些時候咱們須要把會話保存下來,以便發給別人或者之後去分析。  保存會話的步驟以下:File->Save->Selected Sessions

八、Fiddler中的script系統

  首先先安裝SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now... 如圖18所示

圖18(安裝SyntaxView插件)

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

圖19

  在裏面咱們就能夠編寫腳本了, 看個實例讓全部cnblogs的會話都顯示紅色。

  把這段腳本放在OnBeforeRequest(oSession: Session) 方法下,而且點擊"Save script"

  (該段腳原本源於博客:http://kb.cnblogs.com/page/130367/)

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:9999/Default.aspx,  加個點號後,變成 http://localhost.:9999/Default.aspx 就能夠了

 

轉自:http://www.javashuo.com/article/p-dsjhrjjj-mh.html

相關文章
相關標籤/搜索