前言
在進(jìn)行APP測(cè)試、定位線上問題、模擬手機(jī)各種環(huán)境時(shí),Charles是一款不可或缺的工具。本文主要介紹如何在Mac上使用Charles對(duì)HTTPS請(qǐng)求進(jìn)行抓包。以及 iOS 10.3 以及以上系統(tǒng)引起的“SSLHandshake: Received fatal alert: unknown_ca”問題
步驟一
配置HTTP代理,這步與抓取HTTP請(qǐng)求是一樣的
Proxy -> Proxy Settings...

Proxy Settings...
端口填入8888,勾選Enable transparent HTTP proxying

Enable transparent HTTP proxying
步驟二
配置SSL代理,點(diǎn)擊add添加需要監(jiān)視的域名,*號(hào)代表通配符,端口一般都是443
Proxy -> SSL Proxying Settings...

SSL Proxying

Edit Location
步驟三
在手機(jī)無線局域網(wǎng)中配置手動(dòng)代理,輸入安裝Charles的電腦網(wǎng)絡(luò)地址(網(wǎng)絡(luò)地址可通過Help -> Local IP Address獲取,或者打開網(wǎng)絡(luò)偏好設(shè)置查看)。端口填8888(Charles中設(shè)置的端口)
步驟四
Mac端的根證書安裝,安裝完成后需要去系統(tǒng)鑰匙串中信任該證書

Install Charles Root Certificate
步驟五
在Safri上打開Charles的根證書下載地址:chls.pro/ssl
正常的話會(huì)出現(xiàn)安裝描述文件的頁面,按照提示安裝。在設(shè)置里的描述文件管理中信任它。
在iOS 10.3及以上系統(tǒng),需要額外去設(shè)置 -> 通用 -> 關(guān)于本機(jī) -> 證書信任設(shè)置里勾選針對(duì)根證書啟用完全信任的選擇。

針對(duì)根證書啟用完全信任