Fiddler 抓包詳細使用教程

Lotus王發表於2020-10-22

(一)Fiddler介紹

Fiddler 是位於客戶端和伺服器的HTTP代理,它能記錄所有客戶端和伺服器的HTTP和HTTPS請求響應,進行截獲、重發、編輯、轉存等操作;
Fiddler 允許監視、設定斷點,甚至修改輸入輸出資料,Fiddler包含了一個強大的基於事件指令碼的子系統,並且能使用.net語言進行擴充套件。

(二)Fiddler與其他工具對比

1、Wireshark :通用抓包工具,抓取資訊量龐大,需要過濾才能得到有用資訊,只抓HTTP請求有點大財小用。
2、Firebug、HttpWatch等Web除錯工具,不夠給力,功能欠缺。
3、Charles:建議MAC上使用。
4、Fiddler:是一個HTTP協議除錯代理工具;

(三)工作原理

在這裡插入圖片描述
抓包其中涉及三個角色: 客戶端 、 代理、 目標伺服器。
Fiddler是通過改寫HTTP代理,讓資料從它那通過,來監控並且擷取到資料。Fiddler在開啟它的那一瞬間,它就已經設定好了瀏覽器的代理了。當你關閉的時候,它又幫你把代理還原了。

正常訪問網頁或App路徑是: 客戶端 —> 目標伺服器
抓包,其實就加入了一個代理,相當於古代的 媒人 ,客戶端 —> 媒人(代理)–>目標伺服器
三者如何產生聯絡呢?

(四)下載安裝

https://www.telerik.com/download/fiddler

toast:下載Fiddler要翻牆

(五)Fiddler介面概述

在這裡插入圖片描述

1 主選單說明

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

2. 快捷選單說明

在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

3.會話列表說明

在這裡插入圖片描述

名稱含義
#抓取HTTP Request的順序,從1開始,以此遞增
ResultHTTP狀態碼
Protocol請求使用的協議,如HTTP/HTTPS/FTP等
Host請求地址的主機名
URL請求資源的位置
Body該請求的大小
Caching請求的快取過期時間或者快取控制值
Content-Type請求響應的型別
Process傳送此請求的程式:程式ID
Comments允許使用者為此回話新增備註
Custom允許使用者設定自定義值

在這裡插入圖片描述

4. 右側選項卡

1)Statistics 請求的效能資料分析

在這裡插入圖片描述

2) Inspectors 檢視資料內容

Inspectors是用於檢視會話的內容,上半部分是請求的內容,下半部分是響應的內容

在這裡插入圖片描述

名稱含義
Headers請求頭資訊顯示為一個分級檢視,包含了web客戶端資訊、Cookie、傳輸狀態等
Textview顯示 POST 請求的 body 部分為文字
WebForms顯示請求的 GET 引數 和 POST body 內容,特別說明,這裡 body 應該是 application/x-www-form-urlen-coded 格式
HexView用十六進位制資料顯示請求
Auth顯示 header 中的 Proxy-Authorization 和 Authorization 資訊
WebView用來顯示網頁
Auth用來認證,一般登入賬戶密碼才會有這個訊息
CookiesCookies指某些網站為了辨別使用者身份、進行 session 跟蹤而儲存在使用者本地終端上的資料(通常經過加密)Cookie 會幫你在網站上所打的文字或是一些選擇,都記錄下來(類似一些推送,會根據你的瀏覽記錄,給你推送一些計算機認為你需要的東西,所以會存在個人隱私洩露和安全等問題)
Raw將整個請求顯示為純文字,請求的完整資訊,這裡可以看到請求的方法、地址、路徑、協議版本、頭資訊和引數等
JSONJOSN格式顯示
XML如果請求的 body 是 XML 格式,就是用分級的 XML 樹來顯示它

eg:
在這裡插入圖片描述

3)AutoResponder 重新定向,允許攔截指定規則的請求

允許你攔截指定規則的求情,並返回本地資源或Fiddler資源,從而代替伺服器響應
在這裡插入圖片描述
在這裡插入圖片描述

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

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

Parsed模式下你只需要提供簡單的URLS地址即可(如下圖,也可以在RequestBody定製一些屬性,如模擬瀏覽器User-Agent)
在這裡插入圖片描述

5)Fiters 請求過濾規則

Fiters 是過濾請求用的,左邊的視窗不斷的更新各種請求資料,通過過濾規則來過濾掉那些不想看到的請求。

1 )勾選左上角的Use Filters開啟過濾器

兩個最常用的過濾條件:Zone和Host
Zone 指定只顯示內網(Intranet)或網際網路(Internet)的內容
Host 指定顯示某個域名下的會話:
在這裡插入圖片描述

6)Timeline 請求響應時間

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

(六)pc端瀏覽器、window軟體、手機移動端進行抓包

1)開啟Fiddler,進行主要配置

找到 Tools —> Options, 主要配置 HTTPS,Connections 資訊

toast:主要配置勾選好之後,點選確認,第一次配置會出現安裝證書的請求,一路點選 是就對了, 配置完畢一定要記得重啟Fiddler,否則失效

在這裡插入圖片描述
Connections 配置,主要是 讓手機 或電腦 連結 Fiddler(媒人),預設埠號為:8888
在這裡插入圖片描述
3)重啟Fiddler,或者可以在cmd中ipconfig找到自己的網路卡IP
在這裡插入圖片描述
在這裡插入圖片描述

2)配置 Window客戶端

不擇手段讓 客戶端 連結媒人,和媒人產生聯絡。
在這裡插入圖片描述
客戶端已經和 Fiddler(媒人)產生一定聯絡了,已經可以抓取 windows軟體 和 IE 了,windows微信中 的小程式也可以抓取。

谷歌 和 火狐瀏覽器的,他們的代理不像IE自動,需要手動配置他們的代理,這裡 我以 谷歌為例。
第一種方式:尋到谷歌 代理配置路徑(路徑自己百度),配置:127.0.0.1:8888
第二種方式:以上是簡單做法,這種需要 翻牆 下載擴充套件程式(Proxy SwitchyOmega) ,進行配置
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

3)配置手機移動端抓包

1)手機端與PC電腦必須處於同一個網路,可以選擇連線同一個wifi,或者手機連線PC的wifi
2)手機開啟設定,wifi網路代理IP與埠(代理IP就是上圖的IP,埠是Fiddler的代理埠8888)
eg:
在這裡插入圖片描述
3) 訪問網頁輸入代理IP和埠,下載Fiddler的證書,點選下圖FiddlerRoot certificate
在這裡插入圖片描述
4) 如果開啟瀏覽器碰到類似下面的報錯,請開啟Fiddler的證書解密模式(Fiddler 設定解密HTTPS的網路資料)
ios:
安裝證書:設定–>通用–>描述檔案與裝置管理–>點選需要安裝的證書進行安裝
信任證書:設定–>通用–>關於本機–>證書信任設定–>開啟需要信任的證書
在這裡插入圖片描述
5)安裝完了證書,可以用手機訪問應用,就可以看到擷取到的資料包了。

相關文章