使用 fiddler 內建 proxy 來截錄手機或是程式封包

某些情境下我們會使用 fiddler 來監控對外網路的 request 狀況,但有些情境下對外的 resource 是由程式或是 app 發動,fiddler 就無法直接取得相關資訊,今天就來紀錄一下平常我用來偵錯的方式:使用 fiddler 內建的 proxy 功能來蒐集並轉傳資訊

fiddler 設定

  1. fiddler 主選單 Tools –> Terelik Fiddler Options…

    1options

  2. Connections

    2connection

    • 預設使用 8888 port
    • Allow remote computer to connect
  3. 設定完成需重新啟動 fiddler 才會生效

手機設定(以 android 為例)

  1. 開啟 “設定”

    3androidsetting

  2. 選擇 “wifi”

    4androidwifi

  3. 在使用的 wifi 上長按

    5androidwifi

  4. 修改網路

    6wifichange

  5. 顯示進階選項

    7advance

  6. Proxy 設定選擇手動

    8munual

  7. 填入資料

    • Proxy 主機名稱

      填開啟 fiddler 準備收資料的那台電腦名稱 or ip

    • Proxy 通訊埠

      填 fiddler 的 proxy port ,預設為 8888

    ip_proxy

  8. 開啟測試目標 (e.g. APP or 網頁)

    9result

  9. fiddler 截取到目標

    10captured

心得

經過 fiddler 的 proxy 讓我們可以直接截錄到 app 或是 後端程式 實際送出什麼樣的資訊與內容,可以提供我們更多的訊息來 debug ,也可以透過 fiddler 的功能來調整傳送內容來進行測試(像是 postman 發出 request )