深入淺出,新一代跨平台抓包&調式利器Fiddler Everywhere


什么是Fiddler Everywhere?

Fiddler Everywhere is a web debugging proxy for macOS, Windows, and Linux. Capture, inspect, monitor all HTTP(S) traffic between your computer and the Internet, mock requests, and diagnose network issues. Fiddler Everywhere can be used for any browser, application, process.

Fiddler Everywhere是可以運行在任何瀏覽器,任何系統、跨平台(Windows、Mac、Linux)的一款Web調試代理工具。它記錄了計算機和Internet之間的所有HTTP(S)通信,可以檢查和編輯通信,並Mock請求以及修改響應返回的能力。

也就是說,Fiddler Everywhere實際上是Telerik出品的一款全新的且跨平台的網絡抓包、查看、模擬的工具。

Fiddler是我們在Windows上非常熟悉的一款抓包工具,而基於Angular和.NET Core的Fiddler Everywhere,除了Windows,它為Mac和Linux用戶提供了與Windows用戶相同的體驗和生產力。

下載

官方下載源:https://downloads.getfiddler.com/win/Fiddler%20Everywhere%202.0.2.exe

其他系統或者下載備份:https://www.telerik.com/download/fiddler-everywhere

安裝

打開后,默認會要求登錄Telerik家的賬號,如果沒有,還是建議注冊一個,這個賬號的一個主要作用,是能同步你的數據,后面會發揮作用,建議不要拒絕。

如果已經有賬號了,直接點擊Sign In即可。

使用

進入主界面之后,我們會看到三個主要區域。

  • 1: 側邊欄,主要用於是存放session、request的區域。(類似於postman)
  • 2: 攔截請求以及發送請求的區域。
  • 3: 用於顯示請求和響應以及自動處理請求的區域。

配置

開啟HTTPS抓包

默認是不開啟HTTPS抓包的,因為HTTPS抓包需要信任一個中間證書才行。

前往右上角的設置圖標,進入設置頁面

點擊Trust Root certficate(信任根證書),會彈出一個安裝根證書的提示頁面,我們點擊

同時我們勾選Capture HTTPS traffic(捕獲HTTPS流量)、Ignore server certficate errors(unsafe)(忽略服務器證書錯誤) 兩個復選框,點擊Save即可。

自定義代理端口

前往右上角的設置圖標,進入設置頁面,找到菜單Connections,可以看到這里可以自定義代理端口,如果默認端口和其他服務發生沖突的時候,我們可以自定義端口來避免沖突。

修改之后,點擊Save即可。

支持其他設備代理到本機服務

前往右上角的設置圖標,進入設置頁面,找到菜單Connection,可以看到一個叫Allow remote computers to connect(允許遠程計算設備來連接)的復選框,如果勾選它,並且點擊Save之后,意味着,像手機或者另外一台計算機可以通過代理到這台設備Ip+Port的方式進行抓包。

這個在測試安卓、IOS、或者特殊場景下的第三方設備抓包是非常管用。

需要注意的是,一般來說,還需要先通過第三方設備瀏覽器訪問:http://ip+port的安裝下證書,有時候才能實現抓HTTPS包信任。

使用

基礎抓包功能(HTTP/HTTPS)

這個其實不用多說,默認會抓取系統中的HTTP流量,如果開啟了上文中的HTTPS流量,還能抓取HTTPS流量。

值得注意的是,有時候我們瀏覽器可能用了一些代理插件,代理插件代理的時候是抓不到包的,因為這個抓包是依賴系統的代理,Fiddler Everywhere運行的時候,其實自動創建了一個系統代理,通過這個系統代理來實現抓包。

如果你的瀏覽器,使用了其他代理插件,需要切換到系統代理,才可以恢復正常的抓包。

一鍵抓包轉可編輯重發

Fiddler Everywhere的絕招來了,我們經常遇到一個場景,Fiddler抓完包了,是不是還想着去PostMan復制粘貼一遍參數來進行調試呢?

有了它,你再也不用那么低效了,比如開發后端接口的時候,我們只需要抓到請求包,然后在該請求上右鍵,點擊Edit In Composer,即可一鍵把抓包內容轉成類似PostMan功能的重發工作區。

  • 1: 頂部欄,主要用於是存放method、host、protocol的區域。
  • 2: 展示請求參數的區域。
  • 3: 用於顯示響應參數的區域。

點擊區域1中EXECUTE按鈕代表觸發執行/重發 當前請求。點擊Save按鈕,我們可以把當前請求保存起來,以便下次使用。

點擊區域2中Headers標簽,這里可以自定義請求頭信息,如新建一個自定義Header,只需要填寫Key、Value,然后點擊同一行右側的保存圖標按鈕即可。

點擊區域2中Body標簽,我們可以自定義多種類型的請求體內容。

這里需要注意的一點是,有時候我們在Body里面看到的數據精度可能丟失了,這個還是要以RAW里面的為准,因為Fiddler Everywhere是前端技術構建的原因,JS本身就有精度丟失的問題。

點擊區域3中RAW標簽,我們可以看到響應數據的完整內容,點擊Preview標准可以以多種格式展示響應內容。

一鍵抓包轉自動攔截響應

抓包或者開發調式時,我們有時候需要模擬或者攔截某些請求的,這時候我們需要根據請求特征自定義響應動作或者參數。

找到需要攔截響應的請求,在其上右鍵,點擊Add New Rule,即可一鍵把當前請求添加到攔截響應的清單中。

雙擊該Rule,然后我們會進入Edit Rule的界面,這里我們可以自定義攔截規則和響應動作及內容。

如上圖所示,就是設置遇到https://www.baidu.com/這個地址時,就延時100ms的意思。

同時,Rule新建之后,需要開啟Auto Responder按鈕的開關才可以生效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM