1. 程式人生 > >android使用Charles抓包https請求

android使用Charles抓包https請求


按照正常抓http的方式進行抓包,會出現如下情況:

https抓包就是需要在電腦端和移動端裝上安全證書。

電腦端的安裝:

手機端就是需要到手機瀏覽器開啟chls.pro/ssl下載安全證書安裝到手機上,如下所示:

再在青花瓷上設定一下SSL Proxying,7.0以下的android手機就能正常抓包了:

但是在7.0的手機上還會出現以下情況:

這是android7.0安全策略問題。手機持有者也沒有許可權,只有該應用自己設定安全證書,你才能抓到該應用的https資料。

新增安全配置檔案

<?xml version="1.0" encoding="utf-8"?><manifest ... ><application
android:networkSecurityConfig="@xml/network_security_config"                     ... >         ...     </application></manifest>

配置用於除錯的 CA

在res資料夾下新建xml資料夾,再在xml資料夾下新建network_security_config.xml檔案:

<?xml version="1.0" encoding="utf-8"?><network-security-config><debug-overrides>
<trust-anchors><certificatessrc="@raw/debug_cas"/></trust-anchors></debug-overrides></network-security-config>
然後在res資料夾下新建raw資料夾,將手機上下載的安全證書重新命名為"debug_cas"(沒有後綴),並放到raw資料夾下。安全證書可到如下地址下載:http://www.charlesproxy.com/getssl/

最終就能正常抓包了。

參考連結