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 看到添加好的證書。如下圖所示:
進入電腦的系統設定,信任證書。
步驟二:啟用SSL Proxying
需要注意的是,即使是安裝完證書之後,Charles 預設也并不截取 Https 網絡通訊的資訊,如果你想對截取某個網站上的所有 Https 網絡請求,可以在該請求上右擊,選擇 SSL proxy
步驟三:手機上安裝證書
抓取移動裝置中的 Https 連結
點選 Charles 的頂部菜單,選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”
彈出需要手機裝置上通路http://charlesproxy.com/getssl下載下傳證書的提示。如下圖所示:
手機上連接配接好Charles代理後,手機浏覽器中通路位址http://charlesproxy.com/getssl,即可打開證書安裝的界面
安裝完證書後,就可以截取手機上的 Https 通訊内容了。不過同樣需要注意,預設情況下 Charles 并不做截取,你還需要在要截取的網絡請求上右擊,選擇 SSL proxy 菜單項。
另外,好多小夥伴都按照上述步驟操作了,發現iphone還是抓取不到https的包,可能是因為iphone的這個設定:
進入到關于手機》證書新人設定頁面,信任證書,即可。