安裝Fiddler
這里不特別說明了,網上搜索一大把,根據安裝引導一步步安裝即可。(這里采用的是fiddler?v4.6)
配置Fiddler
1、打開fiddler配置Tools –>Telerik 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”。
4、為了可以抓客戶端使用httpURLConnection的包。需要通過Rules–>Customize Rules ,默認用“Fiddler ScriptEditor”打開“CustomRules.js”,在函數OnBeforeResponse里面添加以下代碼:
if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {oSession.oResponse.headers["Connection"] = "Keep-Alive";
}
添加代碼后為:
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";}}
5、通過鏈接:http://download.csdn.net/detail/huiyuznk/9837991 下載fiddler證書生成器,下載后運行“fiddlercertmaker.exe”進行安裝。
6、在“Telerik Fiddler Options”中“HTTPS”中,點擊“CertEnroll engine”,在彈出的“Certificate Creation Preferences”中,選擇Engine“MakeCert”,然后點擊“OK”,生成對應證書。
7、點擊“Actions”,在彈出的列表中選擇“Export Root Certificate to Desktop”,把證書導出到桌面。
導出的證書
8、最后,不要忘記重啟Fiddler。
配置手機
1、保證手機與PC在同一網段下。
2、配置手機連接的wifi,可能每個手機wifi配置的方式都不太一樣,多研究下,選擇已經連接的網絡,打開修改網絡窗口。顯示高級屬性,配置網絡代理->手動 代理服務器主機名:填寫pc機的IP地址,例如:192.168.0.33,代理服務器端口號:fiddler的代理端口號,這里如8899。
3、安裝證書
Android機安裝證書
1)Android連接到電腦上,從電腦上打開手機的內存卡,直接把證書復制到SD卡中。
2)點擊設置—>安全—>設備管理與憑證—>從存儲盤安裝 (每款手機有一定差異,多研究下就好),在存儲空間中找到證書,點擊安裝即可。
iOS機安裝證書
將證書發送到郵箱中,在手機瀏覽器上登錄郵箱,查看郵件并點擊附件進行證書的安裝即可。(方式一,目前新版本不可用)
直接訪問安裝fiddler的 電腦局域網IP 和 fiddler設置代理端口 (如 http://192.168.0.33:8899),這樣就能對證書進行下載安裝。(推薦使用該種方式)
最后,我們就可以對HTTPS請求接口進行捕獲了。如圖:
安全思考?
通過fiddler可以對https抓包,是不是就不安全的了呢,畢竟所有請求對我們來說都是透明的。其實剛才的過程很重要的一點就是我們下載并且安裝了fiddler的根證書,對于pc端來說就是配置fiddler https選項時彈出的對話框,對于手機來說就是我們去“pcip地址:fiddler代理端口”這個地址下載證書的過程。
對https的安全來說,https安全的前提就是可信的根證書。
而,之前的操作無疑是在我們系統里面安裝了不可信的根證書。使得fiddler對通信造成了中間人攻擊!簡單的說就是我們與服務器進行通信,會先獲取服務器的證書,進行校驗校驗過程是用本地的可信根證書進行校驗,而裝入fiddler的根證書后,fiddler可以偽造證書,獲取我們與服務器通信的秘鑰,進而破解我們的通信。所以對我們系統來說安裝證書是一個非常危險的操作!
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!?