天天看點

Charles抓取https協定的方法

Charles截取Https 協定相關的内容時,會出現亂碼。解決方案是需要安裝 Charles 的 CA 證書。

因為Android 7.0以上系統做了安全限制,不能随意進行抓包。解決方案可以參考另一篇文章:https://blog.csdn.net/alice_tl/article/details/79038133

是以這篇文章隻适用于ios的全部系統,以及Android 7.0以下的作業系統,具體步驟如下。

步驟一:電腦安裝SSL證書

在 Mac 電腦上安裝證書。點選 Charles 的頂部菜單,選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,然後輸入系統的帳号密碼,即可在 KeyChain 看到添加好的證書。如下圖所示:

Charles抓取https協定的方法

進入電腦的系統設定,信任證書。

Charles抓取https協定的方法

步驟二:啟用SSL Proxying

需要注意的是,即使是安裝完證書之後,Charles 預設也并不截取 Https 網絡通訊的資訊,如果你想對截取某個網站上的所有 Https 網絡請求,可以在該請求上右擊,選擇 SSL proxy

步驟三:手機上安裝證書

抓取移動裝置中的 Https 連結

點選 Charles 的頂部菜單,選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”

Charles抓取https協定的方法

彈出需要手機裝置上通路http://charlesproxy.com/getssl下載下傳證書的提示。如下圖所示:

Charles抓取https協定的方法

手機上連接配接好Charles代理後,手機浏覽器中通路位址http://charlesproxy.com/getssl,即可打開證書安裝的界面

Charles抓取https協定的方法
Charles抓取https協定的方法
Charles抓取https協定的方法
Charles抓取https協定的方法

安裝完證書後,就可以截取手機上的 Https 通訊内容了。不過同樣需要注意,預設情況下 Charles 并不做截取,你還需要在要截取的網絡請求上右擊,選擇 SSL proxy 菜單項。

另外,好多小夥伴都按照上述步驟操作了,發現iphone還是抓取不到https的包,可能是因為iphone的這個設定:

進入到關于手機》證書新人設定頁面,信任證書,即可。

Charles抓取https協定的方法