charles——OpenSSL——安卓7.0以上https抓包


參考1:https://blog.csdn.net/djzhao627/article/details/102812783?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

 

 

參考2:https://www.cnblogs.com/duobazi/p/11588993.html

 

 

參考3:https://blog.csdn.net/ShadowySpirits/article/details/79756274

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=====================================================================================================

 

解決Charles不能抓到https的問題

 

1.用Charles導出證書,隨便命名 charles.pem

 

 

2.安裝open ssl(http://slproweb.com/products/Win32OpenSSL.html),然后配置環境變量,把openssl安裝路徑bin的路徑(例如 C:\OpenSSL-Win64\bin)加入到操作系統的系統環境變量Path中

 

 

 


3.將導出的的證書(charles.pem)導入電腦中

4.在cmd中輸入

openssl x509 -subject_hash_old -in <Certificate_File>  
<Certificate_File>為剛才下載的證書(charles.pem),這個路徑為絕對路徑


然后將 charles.pem 這個文件改為 生成的數字加.0,例如

 

 

 

5.然后在用前端根證書導入的方法導入證書
adb root
adb remount      
adb push 0505096d.0 /etc/security/cacerts/             
adb shell chmod 644 /etc/security/cacerts/0505096d.0

如果remount或push失敗,需要執行以下命令
adb disable-verity
adb reboot

6.以上方法一般可以抓到了,如果還是不行,需要配置 Proxy——SSL Proxying Settings——SSL Proxying,勾選Enable ——SSL Proxying,點擊“add”,將Host和Port配置為*,如下圖所示:

 

=========================================================================================================

給Android7及以上的手機安裝系統級證書,實現HTTPS的抓包

Android7以后,系統不再信任用戶級的證書,只信任系統級的證書,所以要抓包就需要把我們的代理程序證書安裝至Android的系統目錄中

准備

  • 一台已root的手機
  • Openssl

證書生成

 

 

 

 

 

 

 

執行命令:C:\Users\del>cd C:\Users\del\Desktop

 

執行命令:C:\Users\del\Desktop>openssl x509 -subject_hash_old -in Charles.pem

 

 

 

然后改名:

 

 

 

將新證書放入手機系統證書目錄

手機系統目錄位置是:

/system/etc/security/cacerts

需要拷貝至此目錄必須擁有root權限

重啟Android設備以生效

拷貝證書至/system/etc/security/cacerts之后,重啟手機就可以使證書生效了

 

 

 

 

 

5.然后在用前端根證書導入的方法導入證書
adb root
adb remount      
adb push 0505096d.0 /etc/security/cacerts/             
adb shell chmod 644 /etc/security/cacerts/0505096d.0

如果remount或push失敗,需要執行以下命令
adb disable-verity
adb reboot

6.以上方法一般可以抓到了,如果還是不行,需要配置 Proxy——SSL Proxying Settings——SSL Proxying,勾選Enable ——SSL Proxying,點擊“add”,將Host和Port配置為*,如下圖所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM