1. 程式人生 > >[轉]fiddler 抓包 HTTPS 請求

[轉]fiddler 抓包 HTTPS 請求

quest BE word http roc dos frame func from

教程開始

安裝 fiddler

首先準備一臺可以上網的 windos 電腦,準備一部智能手機。
fiddler 抓包工具:下載地址( 自行百度一搜一大片)。安裝,打開如果遇到. net framework 錯誤,下載一個高本版的. net 即可。好了教程已經完成了一大半。
打開 fiddler 隨便打開下瀏覽器。發現已經可以抓包,但想要抓手機 https 還需要做一些設置。
技術分享圖片

配置 fiddler

  1. 打開 fiddler 配置 Tools –> Fiddler Options.
    技術分享圖片
  2. 打開 HTTPS 配置項,勾選 “CaptureHTTPS CONNECTs”,同時勾選 “Decrypt HTTPS traffic”,彈出的對話框選擇是(這裏是按照 fiddler 自己的證書)如果跟我一樣手機跟電腦是用 wifi 進行鏈接的話還需要選擇 “…fromremote clients only”。如果需要監聽不可信的證書的 HTTPS 請求的話,需要勾選 “Ignore servercertificate errors”。
    技術分享圖片
  3. 打開 Conections 配置項, 這裏可以修改 Fiddler 代理端口號。勾選 “Allow remote computersto connect。提示需要重啟 fiddler。
    技術分享圖片
  4. 哈哈,高端的來了,需要寫點代碼。這裏是為了可以抓客戶端使用 httpURLConnection 的包。
    Ruler –>CustomizeRules
    在函數 OnBeforeResponse 裏面添加下面代碼:
if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
            oSession.oResponse.headers["Connection"] = "Keep-Alive";
}
  • 1
  • 2
  • 3

添加後代碼為:

static function OnBeforeResponse(oSession: Session) {
        if (m_Hide304s && oSession.responseCode == 304) {
            oSession["ui-hide"] = "true";
        }
        if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
            oSession.oResponse.headers["Connection"] = "Keep-Alive";
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

不要忘記重啟 fiddler!!!

配置手機

保證手機跟 pc 是在同一個網段下。
配置手機連接的 wifi,可能每個手機打開 wifi 配置的方式都不太一樣,仔細研究下,選擇已經連接的網絡,打開修改網絡窗口。顯示高級屬性,配置網絡代理–> 手動 代理服務器主機名:填寫 pc 機的 IP 地址即可例如:192.168.0.4,代理服務器端口號:fiddler 的代理端口號,如果沒有修改就是 8888。
關鍵步驟哈:
下載安裝 fiddler 的證書
技術分享圖片
在手機瀏覽器打開 代理服務器:端口號 例如上面填寫的就是 192.168.0.4:8888,點擊頁面中的 “FiddlerRootcertificate” 鏈接,在彈出的對話框中隨便設置一個名稱確定即可。

抓包截圖

測試機上沒裝多少軟件,打開百度錢包來試試
技術分享圖片

好了。大功告成!

讓我們想想

通過 fiddler 可以抓包,是不是說 https 就是不安全的了呢,畢竟所有的請求對我們來說都是透明的呢。其實剛才的過程很重要的一點就是我們下載並且安裝了 fiddler 的根證書,對於 pc 端來說就是配置 fiddler https 選項時彈出的對話框,對於手機來說就是我們去 pcip 地址: fiddler 代理端口這個地址下載證書的過程。
而對 https 的安全來說,https 安全的前提就是可信的根證書!!!!
而,之前的操作無疑是在我們系統裏面安裝了不可信的根證書。使得 fiddler 對我們的通信造成了中間人攻擊!。
簡單的說就是我們與服務器進行通信,會先獲取服務器的證書,進行校驗校驗過程是用本地的可信根證書進行校驗,而裝入 fiddler 的根證書後,fiddler 可以偽造證書,獲取我們與服務器通信的秘鑰,進行破解我們的通信。所以對我們我們系統來說安裝證書是一個多麽危險的操作!
哐哐哐!!查水表!!!

[轉]fiddler 抓包 HTTPS 請求