前言
在進行APP測試、定位線上問題、模擬手機各種環境時,Charles
是一款不可或缺的工具。本文主要介紹如何在Mac
上使用Charles
對HTTPS
請求進行抓包。以及 iOS 10.3
以及以上系統引起的“SSLHandshake: Received fatal alert: unknown_ca”
問題
步驟一
配置HTTP
代理,這步與抓取HTTP
請求是一樣的
Proxy -> Proxy Settings...
複製程式碼
埠填入8888
,勾選Enable transparent HTTP proxying
步驟二
配置SSL
代理,點選add
新增需要監視的域名,*
號代表萬用字元,埠一般都是443
Proxy -> SSL Proxying Settings...
複製程式碼
步驟三
在手機無線區域網中配置手動代理,輸入安裝Charles
的電腦網路地址(網路地址可通過Help -> Local IP Address
獲取,或者開啟網路偏好設定檢視)。埠填8888(Charles
中設定的埠)
步驟四
Mac端的根證書安裝,安裝完成後需要去系統鑰匙串中信任該證書
步驟五
在Safri
上開啟Charles
的根證書下載地址:chls.pro/ssl
正常的話會出現安裝描述檔案的頁面,按照提示安裝。在設定裡的描述檔案管理中信任它。
在iOS 10.3及以上系統,需要額外去設定 -> 通用 -> 關於本機 -> 證書信任設定
裡勾選針對根證書啟用完全信任
的選擇。