天天看點

Charles配置擷取https資料

本配置說明分為PC端和移動端。

移動端的調試變化相對較大

PC端

安裝配置 Charles 根證書

Charles配置擷取https資料

儲存Charles的Root Certificate,一個xxx.pem檔案。

Charles配置擷取https資料

調出mac下的鑰匙串通路

Charles配置擷取https資料

點選左側的登入,然後把第一步中儲存的xxx.pem檔案拖到右側中,此時的情況是:

Charles配置擷取https資料

系統預設是不信任 Charles 的證書的,此時對證書右鍵,在彈出的下拉菜單中選擇『顯示簡介』,點選使用此證書時,把使用系統預設改為始終信任,如下圖:

Charles配置擷取https資料

最終:

Charles配置擷取https資料

配置到這一步還不能抓取https,還要配置一下Charles的SSL設定

Charles配置擷取https資料
Charles配置擷取https資料

設定host為

*

就可以抓取所有的https站點的資料啦,當然你也可以選擇一個一個添加,隻抓取已經添加了的域名。

現在我們就可以在Charles中抓到https的包咯。

Charles配置擷取https資料

移動端

Charles配置擷取https資料

點選在移動裝置上安裝Root Certificate證書,會彈出下列提示:

Charles配置擷取https資料

在手機浏覽器中打開

charlesproxy.com/getssl

這個連結,會跳轉到證書安裝界面:

Charles配置擷取https資料

點選安裝。

然後就可以抓取移動端的https包了。

關鍵的地方來了,經過上述操作之後我們可以抓取移動端Safari浏覽器的https的包,因為我們已經在IOS内信任了Charles的證書,但是微信浏覽器它似乎不是用的系統的信任體系,是以有了如下的錯誤提示:

Charles配置擷取https資料

unknown_ca

說明微信浏覽器并不信任Charles的 Root Certificate。

因為微信浏覽器預設拒絕不安全的https,是以螢幕會直接提示網絡出錯。0……0

微信端的手機調試應該會比較頭疼了,在此推薦一下另外一種調試方式吧。

微信web開發者工具

微信web開發者工具下載下傳位址

使用“微信web開發者工具”,可以像chrome devTool那樣看每一個請求。

Charles配置擷取https資料

微信web開發者工具可以用來做公衆号和小程式開發的調試,是以我們可以用它來調試公衆号内頁面。但是牽涉到與微信本身功能相關的地方(比如說擷取openid)就需要是該公衆号的開發者才行,否則會提示:

Charles配置擷取https資料

遇到這種問題時就需要登陸該微信公衆号的背景,把開發者的微信添加為“開發者”。

微信web開發者工具令人叫好的地方是,它有一個功能叫代理!!!

Charles配置擷取https資料

進入微信web開發者工具的設定->代理

Charles配置擷取https資料

如上設定并儲存後,我們就可以像是在手機端調試一樣,被charles抓到包了!!!

如果沒有設定代理,微信web開發者工具内的包是不會被charles抓到的!!!

參考連結

使用 Charles 擷取 https 的資料

charles配置部分第4、5張以及移動端證書安裝圖檔摘自使用 Charles 擷取 https 的資料

繼續閱讀