目錄
安裝
1、官網:https://www.charlesproxy.com/download/
從官網下載對應系統的 Charles 最新版本,雙擊下載的安裝包,一路默認安裝,安裝完成會在桌面生成類似花瓶的圖標。
2、註冊:
Charles 是個收費軟件,可以免費試用一個月。
Charles -> Help -> Register Charles
Registered name:XXX
License key:XXX
配置
*** 本文以Mac 系統爲例進行講解 ***
- 配置手機代理:
手機和 Mac 連接到同一個 WiFi 網絡
-
- Android 系統:「以華爲 P20 手機爲例」
- 設置 -> 無線和網絡 -> WLAN
- 長按當前 WiFi -> 修改網絡
- 勾選顯示高級選項
- 代理 -> 手動
- 服務器主機名 -> 填寫 Mac 的IP 地址「Mac IP 獲取方法:Charles -> Help -> Local IP Address 」
- 服務器端口 -> 8888
- 保存
- IOS 系統:「以 iPhone Xs Max 手機爲例」
-
- 設置 -> 無線局域網
- 點擊當前連接的 WiFi
- 最底部 HTTP 代理 -> 配置代理 -> 勾選手動
- 服務器 -> 填寫 Mac 的IP 地址「Mac IP 獲取方法:Charles -> Help -> Local IP Address 」
-
- IOS 系統:「以 iPhone Xs Max 手機爲例」
- 服務器端口 -> 8888
- 存儲
核心功能
- 抓包「以 iPhone Xs Max 爲例」
-
Charles 設置
-
- Proxy -> Proxy Settings -> Port -> 8888
- 勾選 Support HTTP/2
- 勾選 Enable transparent HTTP proxying
- OK
-
- 手機設置代理如上「配置手機代理」步驟
- 打開手機上任意聯網的應用,Charles 會彈出請求連接的確認菜單,點擊“Allow“即可完成設置
-
過濾網絡請求
- 左側底部 Filter 欄 -> 過濾關鍵字
- 在 Charles 的菜單欄選擇
Proxy -> Recording Settings -> Include -> add「依次填入協議+主機名+端口號,即可只抓取目標網站的包」
- 切換到 Sequence,在想過濾的網絡請求上右擊,選擇“Focus“,在 Filter 欄勾選上 Focused
-
分析 HTTPS 包
- Mac 安裝證書:
Help -> SSL Proxying -> Install Charles Root Certificate -> 輸入系統的帳號密碼,即可在鑰匙串中看到添加好的證書
如果遇到證書不被信任的問題,解決辦法:
Mac本頂欄 前往 -> 實用工具 -> 打開鑰匙串訪問 -> 找到該證書 -> 雙擊或右鍵「顯示簡介」-> 點開「信任」-> 選擇「始終信任」
- Charles 設置請求允許 SSL proxying
- Charles 默認並不抓取 HTTPS 網絡通訊的數據,若想攔截所有 HTTPS 網絡請求,需要進行設置:在請求上右擊選擇 Enable SSL proxying
- Charles -> Proxy -> SSL Proxying Settings -> SSL Proxying
- 「添加對應的域名和端口號,爲方便也可端口號直接添加通配符*」
- 移動端安裝證書
- Charles 選擇 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser
- 確保手機連上代理的情況下,在手機瀏覽器欄輸入:chls.pro/ssl,下載證書,完成安裝。
- Android tips:
- 小米機型請注意,如果是 MIUI 9 以上的版本,請不要用自帶瀏覽器下載證書,自帶瀏覽器下載的證書文件格式不對,無法安裝,uc 瀏覽器下載沒有問題。
- 若不能直接安裝,需要下載下來,到手機設置 -> 安全 -> 從設備存儲空間安裝 -> 找到下載的證書 .pem 結尾的 -> 點擊安裝即可
- IOS tips:
IOS 需要設置手機信任證書,詳見 官方文檔。若不能直接安裝,需在手機「設置」-> 通用 -> 描述文件與設備管理安裝下載的證書,完成安裝後 -> 找到關於本機 -> 證書信任設置,打開剛安裝的證書的開關。
抓包內容遇到亂碼,解決如下:
Proxy -> SSL Proxy Settings -> Add
Host:*「代表所有網站都攔截」
Port:443
保存後,在抓包數據就會顯示正常
-
模擬弱網
- 選擇 Proxy -> Throttle Settings -> 勾選 Enable Throttling -> 選擇 Throttle Preset 類型
-
Mock 數據
- 以 map local 爲例,修改返回值
選擇目標請求,右鍵選擇 Save All保存請求的 response 內容到本地文件
- 配置 Charles Map Local,Tool -> Map Local -> 勾選 Enable Map Local -> Add 「添加目標請求及需要替換的response 文件地址」-> OK
2. 用文本編輯器打開保存的 json 文件,修改內容,進行替換。打開客戶端應用重新請求該接口,返回的數據就是本地的文件數據。
至此,Charles 的常用功能講解完畢,有問題或有建議的朋友歡迎評論。