全網最全的Fiddler抓包工具教程——Fiddler代理設置、斷點、弱網測試、自動響應器等

一、Fiddler原理與下載

Fiddler可以理解爲處於客戶端和服務器之間的代理服務器。通過在各瀏覽器、Andoird、IOS設備上設置Fiddler的代理,從而可以監聽客戶端上發生的HTTP(S)請求

在這裏插入圖片描述

這篇博客是在B站上看完一個詳細教程後編寫的,想看視頻的可以直接點擊鏈接去看:鏈接_Fiddler教程

  • 下載鏈接:可以直接官網上下載,也可以點擊下面鏈接下載 百度雲鏈接,提取碼:g7nz

二、Fiddler設置代理

2.1 谷歌、IE瀏覽器

由於谷歌瀏覽器和IE瀏覽器啓動的時候,就會默認讀取系統代理,所以只需要將Fiddler設置爲啓動後作爲系統代理即可。

  • 設置啓動即作爲系統代理——點擊Tools->Options->Connections
    在這裏插入圖片描述

這樣設置後,我們在谷歌瀏覽器和IE瀏覽器訪問HTTP請求,就會在Fiddler工具左側中顯示出請求,但是HTTPS的請求卻沒有顯示出來,這是爲什麼呢?
原因如下:Fiddler作爲一個代理服務器,是可以代理到HTTPS請求的。但是HTTPS可以理解爲HTTPS=HTTP+SSL/TLS,也就是HTTPS是加密的,是有證書存在的。所以我們需要配置解密HTTPS並安裝證書

  • 配置解密HTTPS並安裝證書——點擊Tools->Options->HTTPS
    在這裏插入圖片描述

  • 查看證書是否安裝成功。
    在這裏插入圖片描述
    在這裏插入圖片描述

  • 最後效果——瀏覽器中訪問HTTPS的頁面,也能在Fiddler中顯示。
    在這裏插入圖片描述

2.2 火狐瀏覽器

谷歌和IE瀏覽器是直接使用系統代理,且使用系統的證書。但是火狐瀏覽器默認不是使用系統代理,且使用的不是系統的證書,是自己管理自己的證書。
所以對於火狐瀏覽器,需要先設置爲使用系統代理,再在火狐瀏覽器中導入Fiddler的證書

  • 火狐瀏覽器設置使用系統代理
    在這裏插入圖片描述
    在這裏插入圖片描述
  • Fiddler導出證書
    在這裏插入圖片描述
  • 火狐瀏覽器導入證書
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 最後效果——瀏覽器中訪問HTTPS的頁面,也能在Fiddler中顯示。
    在這裏插入圖片描述

2.3 Android客戶端

首先,使用Fiddler對Android客戶端抓包的時候,需要手機連接的WIFIFiddler電腦本機使用的同一個網絡,這樣才能做數據通信。

  • Fiddler設置——允許遠程主機連接
    在這裏插入圖片描述
  • 手機WLAN設置代理
    在這裏插入圖片描述
  • 下載證書
    在這裏插入圖片描述
  • 安裝證書
    在這裏插入圖片描述
  • 提示:按照上面的配置後,按照正常情況下,就能抓到HTTPS的包了。但是由於Android7之後,系統只信任系統預置的CA證書不會信任用戶安裝的CA證書。具體參考:這是一個鏈接

2.4 IOS客戶端

由於窮,沒有演示IOS客戶端的辦法,請直接查看視頻:IOS抓包

三、Fiddler界面及功能

可以將Fiddler從界面上劃分,分爲五個部分:菜單欄工具條監控面板(回話列表)輔助標籤(工具)命令行+狀態欄

在這裏插入圖片描述

3.1 菜單欄

3.1.1 Rules-規則

在這裏插入圖片描述

3.1.2 Tools—工具

在這裏插入圖片描述

3.2 工具條

3.2.1 Comments—備註

在這裏插入圖片描述

3.2.2 Replay—重放

在這裏插入圖片描述

3.2.3 Remove—移除

移除所有 Remove ALL的快捷鍵爲Ctrl+X

在這裏插入圖片描述

3.2.4 Go—轉到下一步(結束斷點)

在這裏插入圖片描述

3.2.5 Stream—流模式

在這裏插入圖片描述

3.2.6 Decode—解碼

在這裏插入圖片描述

3.2.7 Keep Sessions—保持回話

在這裏插入圖片描述

3.2.8 Pick target—選擇捕獲對象

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

3.2.9 Find查找—Save保存

在這裏插入圖片描述

3.2.10 瀏覽器快捷方式

在這裏插入圖片描述

3.2.11 TextWizard—文本編碼解碼器

在這裏插入圖片描述

3.3 監控面板(回話列表)

3.3.1 字段含義

在這裏插入圖片描述

3.3.2 添加IP列

參考鏈接:Fiddler顯示服務器ip地址列

  • 點擊菜單欄rules——customize rules...
    在這裏插入圖片描述
  • ctrl+f 搜索static function main
    在這裏插入圖片描述
  • 在main函數里加入下面一行代碼,調用fiddlerUI函數,顯示ip地址列
    FiddlerObject.UI.lvSessions.AddBoundColumn("IP地址",120,"X-HostIP");
    
  • 保存後關閉,重啓Fiddler即可
    在這裏插入圖片描述

3.3.3 添加響應時間列

  • 點擊菜單欄rules——customize rules...
    在這裏插入圖片描述

  • 找到class Handlers,並在其中添加下面代碼
    在這裏插入圖片描述

    function BeginRequestTime(oS: Session)
    {
    	if (oS.Timers != null)
    	{
    		return oS.Timers.ClientBeginRequest.ToString();     
    	}
    	return String.Empty;
    }
    
    
    public static BindUIColumn("響應時間")
    function CalcTimingCol(oS: Session){
    	var sResult = String.Empty;
    	if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
    	{
    		sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
    	}
    	return sResult;
    }
    
  • 保存後退出,重啓後即可。
    在這裏插入圖片描述

3.4 輔助標籤(工具)

3.4.1 Statistics—統計數據

3.4.2 Inspector—檢查器

  • 可以理解爲請求響應詳細信息
    在這裏插入圖片描述

3.4.3 AutoResponder—自動響應器(重要)

含義:可以用於攔截某一個請求,進行如下操作:(1)重定向到本地資源(2)使用Fiddler內置響應(3)自定義響應

  • 實例一:將網站中的圖片請求設置內置響應403。原本的圖片如下:
    在這裏插入圖片描述
    在自動響應器中添加規則,請求匹配中填寫圖片鏈接,響應這裏選擇內置的403即可。
    在這裏插入圖片描述
    再次請求頁面,圖片加載失敗。
    在這裏插入圖片描述
  • 除了使用內置響應,也可以使用本地文件。
    在這裏插入圖片描述
  • 還可以通過點擊Edit Response來自定義響應。
    在這裏插入圖片描述

在實際工作中,我們可以使用自動響應器來做以下工作:
(1)Web調試:在相關接口未開發完事,使用作爲調試
(2)Mock測試:自定義響應,從而不影響實際的數據,例如有時在生產環境中不能產生髒數據。
(3)極端測試:例如自定義某個請求的響應爲空,去查看前端界面的展示

3.4.3 Composer—設計器(重要)

功能爲設計請求,即爲模擬請求發送。可以認爲一個簡單的接口測試工具,例如Postman功能。

  • 自定義請求併發送
    在這裏插入圖片描述
  • 修改請求併發送—類似於接口測試。在Fiddler捕獲到請求後,將要進行測試的接口拖動到Composer中,修改參數,點擊發送就達到接口測試的效果了。
    在這裏插入圖片描述

3.4.4 Filter—過濾器

  • 用於對請求過濾,具體自己實際試一下即可。
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

3.5 命令行+狀態欄

3.5.1 QuickExec—命令行

3.5.2 請求前斷點 & 響應後斷點

  • 請求前斷點:請求從客戶端發出,但是未發送到服務器
    在這裏插入圖片描述
  • 響應後斷點:響應從服務器發出,但是未到達客戶端
    在這裏插入圖片描述

3.5.3 捕獲

在這裏插入圖片描述

3.6 其他內容

3.6.1 斷點應用

斷點可以分爲全局斷點局部斷點。全局斷點又可以分爲請求前斷點響應後斷點。之前點擊命令行下的位置就是全局斷點。

  • 全局斷點—請求前斷點:可以在請求到達服務器之前,進行數據篡改
    在這裏插入圖片描述

  • 全局斷點—響應後斷點。與請求前斷點道理一樣,可以修改響應結果,然後返回響應。這裏還可以使用響應後斷點模擬網絡中斷,打了斷點之後,客戶端遲遲收不到服務器的響應,就類似網絡中斷了,然後由於客戶端的超時機制,查看顯示是否友好。

  • 局部斷點—通過命令完成局部斷點

    請求前斷點:bpu 匹配內容
    響應後斷點:bpafter 匹配內容
    

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

3.6.2 弱網測試

弱網測試:就是模擬網絡限速的情況下,請求及響應的情況。參考鏈接:弱網測試

  • 啓動網絡限速,打開Fiddler,Rules->Performance->勾選 Simulate Modem Speeds
    在這裏插入圖片描述
  • 具體設置:Rules—>Cutomize Rules打開CustomRules.js 文檔
    在這裏插入圖片描述
  • 搜索m_SimulateModem
    在這裏插入圖片描述

四、寫在最後

Fiddler:從抓包到入獄,。抓包抓的好,牢飯喫的飽。請謹慎使用。

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