抓包神器 Charles 使用教程詳解

目錄

安裝

配置

核心功能

Charles 設置

過濾網絡請求

分析 HTTPS 包

模擬弱網

Mock 數據


安裝

1、官網:https://www.charlesproxy.com/download/

從官網下載對應系統的 Charles 最新版本,雙擊下載的安裝包,一路默認安裝,安裝完成會在桌面生成類似花瓶的圖標。

2、註冊:

Charles 是個收費軟件,可以免費試用一個月。

Charles -> Help -> Register Charles

Registered name:XXX

License key:XXX

配置

*** 本文以Mac 系統爲例進行講解 ***

  1. 配置手機代理:

手機和 Mac 連接到同一個 WiFi 網絡

    1. Android 系統:「以華爲 P20 手機爲例」
  • 設置 -> 無線和網絡 -> WLAN
  • 長按當前 WiFi -> 修改網絡
  • 勾選顯示高級選項
  • 代理 -> 手動
  • 服務器主機名 -> 填寫 Mac 的IP 地址「Mac IP 獲取方法:Charles -> Help -> Local IP Address 」

  • 服務器端口 -> 8888
  • 保存
    1. IOS 系統:「以 iPhone Xs Max 手機爲例」
        • 設置 -> 無線局域網
        • 點擊當前連接的 WiFi
        • 最底部 HTTP 代理 -> 配置代理 -> 勾選手動
        • 服務器 -> 填寫 Mac 的IP 地址「Mac IP 獲取方法:Charles -> Help -> Local IP Address 」

  • 服務器端口 -> 8888
  • 存儲

核心功能

  • 抓包「以 iPhone Xs Max 爲例」
  1. Charles 設置

      1. Proxy -> Proxy Settings -> Port -> 8888
      2. 勾選 Support HTTP/2
      3. 勾選 Enable transparent HTTP proxying
      4. OK

 

  1. 手機設置代理如上「配置手機代理」步驟
  2. 打開手機上任意聯網的應用,Charles 會彈出請求連接的確認菜單,點擊“Allow“即可完成設置

  • 過濾網絡請求

  1. 左側底部 Filter 欄 -> 過濾關鍵字

  1. 在 Charles 的菜單欄選擇

Proxy -> Recording Settings -> Include -> add「依次填入協議+主機名+端口號,即可只抓取目標網站的包」

  1. 切換到 Sequence,在想過濾的網絡請求上右擊,選擇“Focus“,在 Filter 欄勾選上 Focused

  • 分析 HTTPS 包

  1. Mac 安裝證書:

Help -> SSL Proxying -> Install Charles Root Certificate -> 輸入系統的帳號密碼,即可在鑰匙串中看到添加好的證書

如果遇到證書不被信任的問題,解決辦法:

Mac本頂欄 前往 -> 實用工具 -> 打開鑰匙串訪問 -> 找到該證書 -> 雙擊或右鍵「顯示簡介」-> 點開「信任」-> 選擇「始終信任」

  1. Charles 設置請求允許 SSL proxying
  1. Charles 默認並不抓取 HTTPS 網絡通訊的數據,若想攔截所有 HTTPS 網絡請求,需要進行設置:在請求上右擊選擇 Enable SSL proxying

  1. Charles -> Proxy -> SSL Proxying Settings -> SSL Proxying
  2. 「添加對應的域名和端口號,爲方便也可端口號直接添加通配符*」
  3. 移動端安裝證書
  1. Charles 選擇 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

  1. 確保手機連上代理的情況下,在手機瀏覽器欄輸入:chls.pro/ssl,下載證書,完成安裝。
  2. Android tips
    1. 小米機型請注意,如果是 MIUI 9 以上的版本,請不要用自帶瀏覽器下載證書,自帶瀏覽器下載的證書文件格式不對,無法安裝,uc 瀏覽器下載沒有問題。
    2. 若不能直接安裝,需要下載下來,到手機設置 -> 安全 -> 從設備存儲空間安裝 -> 找到下載的證書 .pem 結尾的 -> 點擊安裝即可
  3. IOS tips

IOS 需要設置手機信任證書,詳見 官方文檔。若不能直接安裝,需在手機「設置」-> 通用 -> 描述文件與設備管理安裝下載的證書,完成安裝後 -> 找到關於本機 -> 證書信任設置,打開剛安裝的證書的開關。

      抓包內容遇到亂碼,解決如下:

      Proxy -> SSL Proxy Settings -> Add

      Host:*「代表所有網站都攔截」

      Port:443

     保存後,在抓包數據就會顯示正常

  • 模擬弱網

  1. 選擇 Proxy -> Throttle Settings -> 勾選 Enable Throttling -> 選擇 Throttle Preset 類型

  • Mock 數據

  1. 以 map local 爲例,修改返回值

選擇目標請求,右鍵選擇 Save All保存請求的 response 內容到本地文件

  1. 配置 Charles Map Local,Tool -> Map Local -> 勾選 Enable Map Local -> Add 「添加目標請求及需要替換的response 文件地址」-> OK

    2. 用文本編輯器打開保存的 json 文件,修改內容,進行替換。打開客戶端應用重新請求該接口,返回的數據就是本地的文件數據。


至此,Charles 的常用功能講解完畢,有問題或有建議的朋友歡迎評論。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章