
版權聲明:本文為高紹臣原創文章,轉載請注明出處,本文博客地址:http://blog.csdn.net/gaoshaochen。
fiddler抓包HTTPS請求
跟着教程來,保證100%成功抓HTTPS包
教程開始
安裝fiddler
首先准備一台可以上網的windos電腦,准備一部智能手機。
fiddler抓包工具:下載地址( 自行百度一搜一大片)。安裝,打開如果遇到.net framework錯誤,下載一個高本版的.net 即可。好了教程已經完成了一大半。
打開fiddler隨便打開下瀏覽器。發現已經可以抓包,但想要抓手機https還需要做一些設置。
配置fiddler
- 打開fiddler配置Tools –> Fiddler Options.
- 打開HTTPS配置項,勾選“CaptureHTTPS CONNECTs”,同時勾選“Decrypt HTTPS traffic”,彈出的對話框選擇是(這里是按照fiddler自己的證書)如果跟我一樣手機跟電腦是用wifi進行鏈接的話還需要選擇“…fromremote clients only”。如果需要監聽不可信的證書的HTTPS請求的話,需要勾選“Ignore servercertificate errors”。
- 打開Conections配置項, 這里可以修改Fiddler代理端口號。勾選“Allow remote computersto connect。提示需要重啟fiddler。
- 哈哈,高端的來了,需要寫點代碼。這里是為了可以抓客戶端使用httpURLConnection的包。
Ruler –>CustomizeRules
在函數OnBeforeResponse里面添加下面代碼:
if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) { oSession.oResponse.headers["Connection"] = "Keep-Alive"; }
- 1
- 2
- 3
- 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
- 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可以偽造證書,獲取我們與服務器通信的秘鑰,進行破解我們的通信。所以對我們我們系統來說安裝證書是一個多么危險的操作!
哐哐哐!!查水表!!!
- 頂
- 2