標籤:

Mac上使用Charles抓包

Charles是macOS上的最常用的抓包工具,目前最新版本為4.0.2,今天來總結一下Charles的最新使用方法,主要是抓HTTPS包的使用方法。

1. 準備工作

  • 安裝JDK
  • Charles由Java開發,請先安裝好JDK(筆者JDK版本為1.8.0_91)。

  • 下載Charles

  • 官網下載地址,目前最新版本4.0.2支持macOS 10.7 - 10.12(筆者macOS版本為10.12.4)。

  • 關閉VPN/代理
  • 為了正常使用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)。

Mac區域網地址可以在Charles中從菜單欄『Help -> Local IP Address』獲取。

  • 在iOS設備上訪問數據鏈接,Charles 彈出 Access Control 確認對話框,選擇Allow,可以開始抓取HTTP包。

下面設置抓取HTTPS包

  • 在菜單欄選擇 『Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or a Remote Browser』,彈出提示框。

  • 根據上述提示,在iOS設備上使用Safari瀏覽器訪問 chls.pro/ssl,Safari瀏覽器會自動下載證書並提示安裝,根據提示一步一步安裝好,證書會被添加到『設置 -> 通用 -> 描述文件』中。

  • 進入『設置 -> 通用 -> 關於本機 -> 證書信任設置』,對上一步安裝的Charles證書啟用完全信任。

  • 在iOS設備上訪問HTTPS數據鏈接,可以開始抓取HTTPS包。抓包域名埠設置和macOS應用程序相同。

參考資料

  • Charles Documentation

  • 抓包工具 Charles 使用心得

  • Mac平台下的抓包神器 —— Charles

推薦閱讀:

HTTP漏洞分析及基於JS的加密實現
Chrome 即將把所有 HTTP 網站標記為「不安全」
WEB加速,協議先行
android開發如何保障本地加密密鑰的安全?
HTTPS分析與實戰

TAG:Mac | 抓包 | HTTPS |