1. 程式人生 > >[筆記]如何通過Charles抓取https協議請求

[筆記]如何通過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的證書檔案。
點選,就會彈出上述的輸入證書名稱的頁面了。