天天看點

Fiddler抓包工具總結

Fiddler是一款很牛逼的抓包工具,寫一篇對它的總結,友善自己查閱

序章

Fiddler是一個蠻好用的抓包工具,可以将網絡傳輸發送與接受的資料包進行截獲、重發、編輯、轉存等操作。也可以用來檢測網絡安全。反正好處多多,舉之不盡呀!當年學習的時候也蠻費勁,一些蠻實用隐藏的小功能用了之後就忘記了,每次去網站上找也很麻煩,是以搜集各大網絡的資料,總結了一些常用的功能。

Fiddler 下載下傳位址 :https://www.telerik.com/download/fiddler

Fiddler 離線下載下傳位址:https://pan.baidu.com/s/1bpnp3Ef 密碼:5skw

下載下傳Fiddler要FQ,我費了好大得勁才翻出去下載下傳到…

win8之後用“Fiddler for .NET4”而win8之前用“Fiidler for .NET2”比較好

Fiddler抓包工具總結

1. Fiddler 抓包簡介

Fiddler是通過改寫HTTP代理,讓資料從它那通過,來監控并且截取到資料。當然Fiddler很屌,在打開它的那一瞬間,它就已經設定好了浏覽器的代理了。當你關閉的時候,它又幫你把代理還原了,是不是很貼心。。。

Fiddler抓包工具總結

1) 字段說明

Fiddler想要抓到資料包,要確定Capture Traffic是開啟,在File –> Capture Traffic。開啟後再左下角會有顯示,當然也可以直接點選左下角的圖示來關閉/開啟抓包功能。

Fiddler抓包工具總結

Fiddler開始工作了,抓到的資料包就會顯示在清單裡面,下面總結了這些都是什麼意思:

Fiddler抓包工具總結
名稱 含義
# 抓取HTTP Request的順序,從1開始,以此遞增
Result HTTP狀态碼
Protocol 請求使用的協定,如HTTP/HTTPS/FTP等
Host 請求位址的主機名
URL 請求資源的位置
Body 該請求的大小
Caching 請求的緩存過期時間或者緩存控制值
Content-Type 請求響應的類型
Process 發送此請求的程序:程序ID
Comments 允許使用者為此回話添加備注
Custom 允許使用者設定自定義值
圖示
Fiddler抓包工具總結
請求已經發往伺服器
Fiddler抓包工具總結
已從伺服器下載下傳響應結果
Fiddler抓包工具總結
請求從斷點處暫停
Fiddler抓包工具總結
響應從斷點處暫停
Fiddler抓包工具總結
請求使用 HTTP 的 HEAD 方法,即響應沒有内容(Body)
Fiddler抓包工具總結
請求使用 HTTP 的 POST 方法
Fiddler抓包工具總結
請求使用 HTTP 的 CONNECT 方法,使用 HTTPS 協定建立連接配接隧道
Fiddler抓包工具總結
響應是 HTML 格式
Fiddler抓包工具總結
響應是一張圖檔
Fiddler抓包工具總結
響應是腳本格式
Fiddler抓包工具總結
響應是 CSS 格式
Fiddler抓包工具總結
響應是 XML 格式
Fiddler抓包工具總結
響應是 JSON 格式
Fiddler抓包工具總結
響應是一個音頻檔案
Fiddler抓包工具總結
響應是一個視訊檔案
Fiddler抓包工具總結
響應是一個 SilverLight
Fiddler抓包工具總結
響應是一個 FLASH
Fiddler抓包工具總結
響應是一個字型
Fiddler抓包工具總結
普通響應成功
Fiddler抓包工具總結
響應是 HTTP/300、301、302、303 或 307 重定向
Fiddler抓包工具總結
響應是 HTTP/304(無變更):使用緩存檔案
Fiddler抓包工具總結
響應需要用戶端證書驗證
Fiddler抓包工具總結
服務端錯誤
Fiddler抓包工具總結
會話被用戶端、Fiddler 或者服務端終止

2). Statistics 請求的性能資料分析

好了。左邊看完了,現在可以看右邊了

随意點選一個請求,就可以看到Statistics關于HTTP請求的性能以及資料分析了(不可能安裝好了Fiddler一條請求都沒有…):

Fiddler抓包工具總結

3). Inspectors 檢視資料内容

Inspectors是用于檢視會話的内容,上半部分是請求的内容,下半部分是響應的内容:

Fiddler抓包工具總結

4). AutoResponder 允許攔截指定規則的請求

AutoResponder允許你攔截指定規則的求情,并傳回本地資源或Fiddler資源,進而代替伺服器響應。

看下圖5步,我将“baidu”這個關鍵字與我電腦“f:\Users\YukiO\Pictures\boy.jpeg”這張圖檔綁定了,點選Save儲存後勾選Enable rules,再通路baidu,就會被劫持。

這個玩意有很多比對規則,如:

1. 字元串比對(預設):隻要包含指定字元串(不區分大小寫),全部認為是比對

字元串比對(baidu) 是否比對
http://www.baidu.com 比對
http://pan.baidu.com
http://tieba.baidu.com
2. 正規表達式比對:以“regex:”開頭,使用正規表達式來比對,這個是區分大小寫的
字元串比對(regex:.+.(jpg | gif | bmp ) $)
http://bbs.fishc.com/Path1/query=foo.bmp&bar 不比對
http://bbs.fishc.com/Path1/query=example.gif
http://bbs.fishc.com/Path1/query=example.bmp
http://bbs.fishc.com/Path1/query=example.Gif
Fiddler抓包工具總結
Fiddler抓包工具總結

4). Composer 自定義請求發送伺服器

Composer允許自定義請求發送到伺服器,可以手動建立一個新的請求,也可以在會話表中,拖拽一個現有的請求

Parsed模式下你隻需要提供簡單的URLS位址即可(如下圖,也可以在RequestBody定制一些屬性,如模拟浏覽器User-Agent)

Fiddler抓包工具總結

5). Filters 請求過濾規則

Fiters 是過濾請求用的,左邊的視窗不斷的更新,當你想看你系統的請求的時候,你重新整理一下浏覽器,一大片不知道哪來請求,看着礙眼,它還一直重新整理你的螢幕。這個時候通過過濾規則來過濾掉那些不想看到的請求。

Fiddler抓包工具總結

勾選左上角的Use Filters開啟過濾器,這裡有兩個最常用的過濾條件:Zone和Host

1、Zone 指定隻顯示内網(Intranet)或網際網路(Internet)的内容:
Fiddler抓包工具總結
2、Host 指定顯示某個域名下的會話:
Fiddler抓包工具總結
如果框框為黃色(如圖),表示修改未生效,點選紅圈裡的文字即可

6). Timeline 請求響應時間

在左側會話視窗點選一個或多個(同時按下 Ctrl 鍵),Timeline 便會顯示指定内容從服務端傳輸到用戶端的時間:

Fiddler抓包工具總結

2. Fiddler 設定解密HTTPS的網絡資料

Fiddler可以通過僞造CA憑證來欺騙浏覽器和伺服器。Fiddler是個很會裝逼的好東西,大概原理就是在浏覽器面前Fiddler僞裝成一個HTTPS伺服器,而在真正的HTTPS伺服器面前Fiddler又裝成浏覽器,進而實作解密HTTPS資料包的目的。

解密HTTPS需要手動開啟,依次點選:

1. Tools –> Fiddler Options –>  HTTPS

Fiddler抓包工具總結

2. 勾選Decrypt HTTPS Traffic

Fiddler抓包工具總結

3. 點選OK

Fiddler抓包工具總結

3. Fiddler 抓取Iphone / Android資料包

想要Fiddler抓取移動端裝置的資料包,其實很簡單,先來說說移動裝置怎麼去通路網絡,看了下面這張圖,就明白了。

Fiddler抓包工具總結

可以看得出,移動端的資料包,都是要走wifi出去,是以我們可以把自己的電腦開啟熱點,将手機連上電腦,Fiddler開啟代理後,讓這些資料通過Fiddler,Fiddler就可以抓到這些包,然後發給路由器(如圖):

Fiddler抓包工具總結

1. 打開Wifi熱點,讓手機連上(我這裡用的360wifi,其實随意一個都行)

Fiddler抓包工具總結

2. 打開Fidder,點選菜單欄中的 [Tools] –> [Fiddler Options]

Fiddler抓包工具總結

3. 點選 [Connections] ,設定代理端口是8888, 勾選 Allow remote computers to connect, 點選OK

Fiddler抓包工具總結

4. 這時在 Fiddler 可以看到自己本機無線網卡的IP了(要是沒有的話,重新開機Fiddler,或者可以在cmd中ipconfig找到自己的網卡IP)

Fiddler抓包工具總結
Fiddler抓包工具總結

5. 在手機端連接配接PC的wifi,并且設定代理IP與端口(代理IP就是上圖的IP,端口是Fiddler的代理端口8888)

Fiddler抓包工具總結

6. 通路網頁輸入代理IP和端口,下載下傳Fiddler的證書,點選下圖FiddlerRoot certificate

Fiddler抓包工具總結

【注意】:如果打開浏覽器碰到類似下面的報錯,請打開Fiddler的證書解密模式(Fiddler 設定解密HTTPS的網絡資料)

No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?      
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結

7. 安裝完了證書,可以用手機通路應用,就可以看到截取到的資料包了。(下圖選中是布卡漫畫的資料包,下面還有QQ郵箱的)

Fiddler抓包工具總結

4. Fiddler 内置指令與斷點

Fiddler還有一個藏的很深的指令框,就是眼前,我用了幾年的Fiddler都沒有發現它,偶爾在别人的文章發現還有這個小功能,還蠻好用的,整理下記錄在這裡。

FIddler斷點功能就是将請求截獲下來,但是不發送,這個時候你可以幹很多事情,比如說,把包改了,再發送給伺服器君。還有balabala一大堆的事情可以做,就不舉例子了。

Fiddler抓包工具總結
指令 對應請求項 介紹 示例
? All 問号後邊跟一個字元串,可以比對出包含這個字元串的請求 ?google
> 大于号後面跟一個數字,可以比對出請求大小,大于這個數字請求 >1000
< 小于号跟大于号相反,比對出請求大小,小于這個數字的請求 <100
= 等于号後面跟數字,可以比對HTTP傳回碼 =200
@ @後面跟Host,可以比對域名 @www.baidu.com
select select後面跟響應類型,可以比對到相關的類型 select image
cls 清空目前所有請求
dump 将所有請求打包成saz壓縮包,儲存到“我的檔案\Fiddler2\Captures”目錄下
start 開始監聽請求
stop 停止監聽請求
斷點指令 
bpafter bpafter後邊跟一個字元串,表示中斷所有包含該字元串的請求 bpafter baidu(輸入bpafter解除斷點)
bpu 跟bpafter差不多,隻不過這個是收到請求了,中斷響應 bpu baidu(輸入bpu解除斷點)
bps 後面跟狀态嗎,表示中斷所有是這個狀态碼的請求 bps 200(輸入bps解除斷點)
bpv / bpm HTTP方法 隻中斷HTTP方法的指令,HTTP方法如POST、GET bpv get(輸入bpv解除斷點)
g / go 放行所有中斷下來的請求 g

示例示範:

Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結

斷點指令:

斷點可以直接點選Fiddler下圖的圖示位置,就可以設定全部請求的斷點,斷點的指令可以精确設定需要截獲那些請求。如下示例:

Fiddler抓包工具總結

指令:

Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結

bpv

Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結
Fiddler抓包工具總結

繼續閱讀