fiddler原理、介紹、使用

Fiddler是一款非常流行並且實用的http抓包工具,它的原理是在本機開啓了一個http的代理服務器,然後它會轉發所有的http請求和響應,因此,它比一般的firebug或者是chrome自帶的抓包工具要好用的多。

不僅如此,它還可以支持請求重放等一些高級功能。

顯然它是可以支持對手機應用進行http抓包的。
下載鏈接:http://files.cnblogs.com/xiaokang088/fiddler4setup.zip 

右側窗口:

Stastics:統計選中的一個或多個請求相關數據,大小、耗時

Inspectors:多種方式查看Request或者Response的詳細消息

AutoResponder: 設置一些規則將符合規則的請求指向本地。

Composer:創建發送HTTP請求

Log:日誌

Filters:設置會話過濾規則

Timeline:網絡請求時間

當你啓動了Fiddler,程序將會把自己作爲一個微軟互聯網服務的系統代理中去。你可以通過檢查代理設置對話框來驗證Fiddler是被正確地截取了web請求。操作是這樣的:點擊IE設置,工具,局域網設置,最後點擊高級。

作爲系統代理,所有的來自微軟互聯網服務(WinInet)的http請求再到達目標Web服務器的之前都會經過Fiddle,同樣的,所有的Http響應都會在返回客戶端之前流經Fiddler。這樣,就能明白Fiddler很多作用了吧!

當你關閉Fiddler的時候,它就會自動從系統註冊表中移出。

用Fiddler來做性能測試 HTTP統計視圖通過顯示所有的Http通訊,Fiddler可以輕鬆的演示哪些用來生成一個頁面,通過統計頁 面(就是Fiddler左邊的那個大框)用戶可以很輕鬆的使用多選,來得到一個WEB頁面的“總重量”(頁面文件以及相關js,css等)你也可以很輕鬆 得看到你請求的某個頁面,總共請求了多少次,以及多少字節被轉化了。

通過暴露HTTP頭,用戶可以看見哪些頁面被允許在客戶端或者是代理端進行緩存。如果要是一個響應沒有包含Cache-Control 頭,那麼他就不會被緩存在客戶端。

Fiddler支持斷點調試概念,當你在軟件的菜單—rules—automatic breakpoints選項選擇beforerequest,或者當這些請求或響應屬性能夠跟目標的標準相匹配,Fiddler就能夠暫停Http通訊, 情切允許修改請求和響應。這種功能對於安全測試是非常有用的,當然也可以用來做一般的功能測試,因爲所有的代碼路徑都可以用來演習。

fiddler的基本界面

inspectors tab下有很多查看request或者response的消息。 

raw tab可以查看完整的消息

headers tab 只查看消息中的header

WebForms tab 以直觀的界面查看Body值和QueryString值

Cookies tab 以直觀的界面查看header中的cookie值

通過陳列出所有的http通信量,fiddler可以很容易的向您展示哪些文件生成了您當前請求的頁面。

使用statistics頁籤,用戶可以通過選擇多個會話來得來這幾個會話的總的信息統計,比如多個請求和傳輸的字節數。

選擇第一個請求和最後一個請求,可獲得整個頁面加載所消耗的總體時間。

從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優化。

fiddler的左下角有一個命令行工具叫做quickexec,允許你直接輸入命令。

常見得命令有:

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

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

select  選擇會話的命令

?.png  用來選擇png後綴的圖片

bpu  截獲request

fiddler中設置斷點修改request

設置好斷點後,你可以修改httprequest 的任何信息,包括host, cookie或者表單中的數據。

設置斷點有兩種方法:

第一種:打開fiddler 點擊rules-> automatic breakpoint  ->before requests(這種方法會中斷所有的會話)

如何消除命令呢?  
點擊rules-> automatic breakpoint  ->disabled

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

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

 

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 發送到服務器上。

fiddler中如何過濾會話

每次使用fiddler, 打開一個網站,都能在fiddler中看到幾十個會話,看得眼花繚亂。最好的辦法是過濾掉一些會話,比如過濾掉圖片的會話. fiddler中有過濾的功能, 在右邊的filters tab中,裏面有很多選項

補充知識:

1、Cache-Control頭的參數設置:
Public 響應會被緩存,並且在多用戶間共享。
Private 響應只能夠作爲私有的緩存,不能再用戶間共享。
No-cache 響應不會被緩存
No-store 響應不會被緩存,並且不會被寫入到客戶端的磁盤裏,這也是基於安全考慮的某些敏感的響應纔會使用這個。
Max-age=#seconds 響應將會某個指定的秒數內緩存,一旦時間過了,就不會被緩存。
Must-revalidate 響應會被重用來滿足接下來的請求,但是它必須到服務器端去驗證它是不是仍然是最新的。

 

 

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