【基礎】MacOS上配置 Charles


一、Charles 簡介

Charles 中文名為青花瓷,它通過HTTP代理/ HTTP監視器/反向代理,使開發人員可以查看其計算機與Internet之間的所有 HTTP 和 SSL/HTTPS 通信。這包括請求,響應和 HTTP 標頭(其中包含cookie和緩存信息),以達到分析抓包的目的。

主要功能:

  • 支持 HTTP 和 HTTPS 代理
  • 支持流量控制,模擬弱網環境
  • 支持接口並發請求
  • 支持重發網絡請求
  • 支持斷點調試

二、Charles 工作原理

Charles 是通過成為客戶端的代理服務器來進行抓包分析,如下圖所示:

因此,我們先要在代理服務器上運行 Charles 並配置代理,然后再在客戶端上面配置代理,就能完成 Charles 的基本配置。這里的代理服務器,通常就是我們使用的電腦。

三、組件介紹

主導航欄的按鈕功能介紹如下:

左側請求導航欄的作用如下,主要是按域名顯示抓取到的數據包列表。

四、macOS 代理設置

系統偏好設置 -> 網絡 -> 高級 -> 代理,然后可以進入到如下圖所示頁面,最后勾選網頁代理(HTTP)和安全網頁代理(HTTPS),並對應填入代理服務器的IP地址和端口號即可。

注意:
配置時,兩個選項(HTTP 和 HTTPS)都要分別填寫對應的代理服務器信息,即需要 Copy 過去。
如果是代理服務器和客戶端是同一台電腦,則可以通過運行 Charles -> Proxy -> macOS Proxy 的方式完成代理的設置。

PS:在不使用 Charles 之后記得將上面的代理設置關掉,否則可能會導致電腦上不了網!

五、iPhone 手機代理設置

首先,我們得知道代理服務器的 IP 地址,我們可以使用下面兩種辦法:

  • 方法一:Terminal -> 輸入命令 ip config 查看
  • 方法二:Charles -> Help -> Local IP Adress

接着,我們需要在手機中進行如下配置:

  1. 在手機中選擇 “設置” -> “無線局域網”
  2. 點擊已連接的無線網絡名稱
  3. 在 HTTP 代理中點擊“配置代理”
  4. 選擇 “手動”, 輸入代理服務器的 IP 地址和端口號

六、macOS 抓取 HTTPS 報文

在沒有進行任何配置的情況下,我們抓到的 HTTPS 報文都無法正常顯示 。對此,我們需要以下經過兩大步配置。

1.配置 HTTPS 代理

首先,我們得配置 HTTPS 代理:

  1. 打開 Charles -> Proxy -> SSL Proxying Settings
  2. 在 SSL Proxying 選項卡中勾選 “Enable SSL Proxying”
  3. 添加監聽的 IP 地址,這里用通配符 * 表示所有的 IP 地址

最后還要要點擊 OK 進行保存,這里的 443 是 HTTPS 協議占用的端口號。

2.證書配置

配置完代理之后,還要進行證書的配置,步驟如下:

  1. 打開 Charles -> Help -> SSL Proxying -> Install Charles Root Certificate

  1. 在證書列表里,打開名為 “Charles Proxy CA” 的證書(帶紅×)
  2. “使用此證書時” 選項卡選擇 “始終信任” -> 輸入密碼確認(參考下圖)

完成這些操作之后,你抓取的 HTTPS 報文就能正常顯示了。

七、抓取 iOS 模擬器的 HTTPS 報文

  1. 打開 Charles -> Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators,給 iOS 模擬器安裝證書。

  1. 然后在 iOS 模擬器中,打開 Setting -> General -> About -> Certificate Trust Settings,進行證書的信任。

  1. 參考 6.macOS 抓取 HTTPS 報文 部分內容,對 mac 電腦進行配置

  2. 打開模擬器的 Safari 瀏覽器,在地址欄輸入 chls.pro/ssl,下載描述文件。一般訪問該網址后會有彈窗提示,點擊同意下載就好。

  3. 在模擬器中,打開 Settings -> General -> Profile,安裝 Charles 的描述文件,完成后就能正常抓取 iOS 模擬器上的 HTTPS 報文了。

八、抓取 iPhone 手機的 HTTPS 報文

我們首先也得對 Charles 進行如同 6.1 的 HTTPS 代理配置,然后再進行如下步驟:

  1. Charles -> Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

  1. 在 iPhone 手機上配置代理,方法參考上文5.iPhone 手機代理設置

  1. 在 iPhone 手機 Safari 瀏覽器輸入 ''chls.pro/ssl" 下載證書 (網址由上圖顯示的地址決定)
  2. 安裝下載的證書,需要輸入密碼(如果找不到下載好的證書,可以去設置里面看看)

  1. 設置 -> 通用 -> 關於本機 -> 證書信任設置,設置成如下圖所示。

至此就完成了 iPhone 手機 HTTPS 的配置,你可以嘗試在手機中打開瀏覽器訪問某個網址,就可以在 Charles 中看到抓取的包了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM