轉載:https://www.jianshu.com/p/310d930dd62fgit
1 前言
這篇文章主要想解決的問題是,在對安卓手機APP抓包時,出現的HTTPS報文經過MITM代理後證書不被信任的問題。(工做中在抓取12306請求時就遇到了這個問題)github
以前的推送講過,一般要抓取HTTPS加密的數據包,通常使用Charles或者Fiddler4代理HTTP請求,配置證書信任後,即可拿到明文報文。可是因爲Charles證書和Fiddler證書並不是證書機構頒發的目標站點的合法證書,因此會不被信任。一樣的道理,以前說過的神器Packet Capture也存在該問題。app
對使用Charles等工具進行中間人代理抓取HTTPS請求不會的請看以前的推送:框架
閱讀下文來解決這個問題。工具
2 解決方案
要解決這個問題要使用的工具是:Xposed+JustTrustMe測試
(安卓手機須要Root,該方法有手機變磚風險,建議在模擬器下操做)ui
XposedInstaller(xposed框架)是一款能夠在不修改APK的狀況下影響程序運行(修改系統)的框架服務,基於它能夠製做出許多功能強大的模塊,且在功能不衝突的狀況下同時運做。加密
JustTrustMe是Github上的一個開源工程,他是一個Xposed模塊,用來禁止SSL證書驗證。如下是其簡介。spa
JustTrustMe:An xposed module that disables SSL certificate checking. This is useful for auditing an appplication which does certificate pinning.代理
Xposed安裝器下載地址
安卓5.0版本如下下載地址:https://pan.baidu.com/s/1dEToAvJ 密碼:uiu8
安卓5.0版本以上下載地址:https://files.cnblogs.com/files/pingming/xposedinstaller.apk
JustTrustMe Relese版本下載地址:https://files.cnblogs.com/files/pingming/JustTrustMe.apk github:https://github.com/Fuzion24/JustTrustMe/releases
如下是安裝步驟:
1 安裝Xposed安裝器
2 安裝Xposed框架
安裝過程須要Root權限,完成後重啓。
3 安裝JustTrustMe
4 安裝完成後打開模塊選項
勾選JustTrustMe,重啓便可。
至此,完成配置,再加上以前的Charles或者Fiddler4的HTTPS配置,就能抓取HTTPS請求了。
3 最後
最後再強調一次,安裝Xposed是有風險的,請儘可能在模擬器中操做。
文中的Xposed下載連接主要是針對於安卓5.0如下的機器,是在夜神模擬器安卓4.4版本測試經過,其餘版本使用大同小異,請自行查找合適版本安裝使用。