[筆記]如何通過Charles抓取https協議請求
前段時間為應對蘋果App Store對網路請求必須為https的要求,公司專門立項對現有網路請求進行了https的支援和切換。
抓包工具比如Charles如果不進行相關的配置,是抓不到https的請求包的,怎麼配置?
首先安裝Charles,公司QA友情提供的安裝包是:
Charles安裝包下載地址:https://pan.baidu.com/s/1skHVzpN 密碼: 1mra
安裝後將charles.jar包替換安裝目錄lib下同名jar包
配置步驟如下:
1.PC端安裝證書
1.1在Charles面板頂部導航欄,點選Help->SSL Proxying->Insall Charles Root Certificate,將彈出如下頁面:
1.2 證書下載成功後會彈出下圖提示框,點選安裝證書:
1.3 在彈出的新頁面中,選擇“受信任的根證書辦法機構”然後點選確定:
至此,PC端證書安裝完畢。
1.4 捕獲https協議請求。點選Charles面板頂部導航欄的Proxy->SSL Proxying Settings:
1.5 在彈出框中勾選Enable SSL Proxying然後點選Add。彈出下圖對話方塊,Host 表示要抓取的 ip 地址或是連結,*代表捕獲所有的請求,Port 填寫 443 即可。
2.移動端安裝證書
設定手機代理為電腦ip,開啟手機瀏覽器,輸入:charlesproxy.com/getssl 會彈出如下介面:
iOS:如下圖,點選Install即可。
Andr:如下圖:輸入證書名(任意取個名字),點選確認設定完成。
至此,Charles就可以抓取手機上的https協議請求了。
對Andr手機來說,上面是理想情況。如果你在安裝證書的過程中,沒有出現上述輸入證書頁面,首先可以考慮換個手機瀏覽器。
如果換了瀏覽器,雖然出現了證書下載成功的提示,但是沒出現上述輸入證書頁面,類似如下情況:
點選下載後,出現:
點選開啟,出現:
此時說明證書已經下載成功了。開啟手機設定->高階設定->安全->受信任的憑證,在使用者Tab欄,可以看到Charles的證書檔案。
點選,就會彈出上述的輸入證書名稱的頁面了。