Mac上使用Charles抓包
Charles是macOS上的最常用的抓包工具,目前最新版本為4.0.2,今天來總結一下Charles的最新使用方法,主要是抓HTTPS包的使用方法。
1. 準備工作
- 安裝JDK
- 下載Charles
- 關閉VPN/代理
Charles由Java開發,請先安裝好JDK(筆者JDK版本為1.8.0_91)。
官網下載地址,目前最新版本4.0.2支持macOS 10.7 - 10.12(筆者macOS版本為10.12.4)。
為了正常使用Charles,請關閉自己的VPN或者其他代理設置。
2. Charles客戶端配置
安裝好Charles後,在菜單欄勾選『Proxy -> macOS Proxy』,macOS系統HTTP/HTTPS代理將會被自動設置為本地代理,默認埠8888。
訪問HTTP數據鏈接,可以開始抓取HTTP包。
3. 抓macOS應用程序包(HTTPS)
在菜單欄選擇 『Help -> SSL Proxying -> Install Charles Root Certificate』,會自動導入 Charles Proxy CA 證書並打開 Keychain Access,雙擊新導入的證書彈出證書信息頁面,將 Secure Sockets Layer(SSL) 設置為Always Trust,關閉頁面後彈出密碼提示,輸入密碼更新系統信任設置。
在菜單欄選擇 『Proxy -> SSL Proxy Settings...』,在SSL Proxying選項卡中可以添加需要抓包的域名埠。
或者直接在『Structure』列表中右擊需要抓HTTPS包的地址,選擇 Enable SSL Proxying,也可以添加到上述列表中。
訪問HTTPS數據鏈接,可以開始抓取HTTPS包。
4. 抓iOS應用程序包
- 在Mac上先打開Charles,確保iOS設備和Mac處於同一區域網內(可使用Mac創建熱點分享給iOS設備)。
- 設置iOS HTTP代理,打開iOS設備對應WIFI設置,添加代理IP地址(Mac的區域網地址)和埠號(8888)。
- 在iOS設備上訪問數據鏈接,Charles 彈出 Access Control 確認對話框,選擇Allow,可以開始抓取HTTP包。
- 在菜單欄選擇 『Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or a Remote Browser』,彈出提示框。
- 根據上述提示,在iOS設備上使用Safari瀏覽器訪問 http://chls.pro/ssl,Safari瀏覽器會自動下載證書並提示安裝,根據提示一步一步安裝好,證書會被添加到『設置 -> 通用 -> 描述文件』中。
- 進入『設置 -> 通用 -> 關於本機 -> 證書信任設置』,對上一步安裝的Charles證書啟用完全信任。
- 在iOS設備上訪問HTTPS數據鏈接,可以開始抓取HTTPS包。抓包域名埠設置和macOS應用程序相同。
參考資料
- Charles Documentation
- 抓包工具 Charles 使用心得
- Mac平台下的抓包神器 —— Charles
推薦閱讀:
※HTTP漏洞分析及基於JS的加密實現
※Chrome 即將把所有 HTTP 網站標記為「不安全」
※WEB加速,協議先行
※android開發如何保障本地加密密鑰的安全?
※HTTPS分析與實戰