Charles抓包工具的啟用


Charles的啟用:

   官網 地址:https://www.charlesproxy.com/


介紹:

  1. charles 產品

  2. charles 主要功能


  1. Charles 產品:

    a. Charles是在 Mac 下常用的網絡封包截取工具,在做移動開發時,我們為了調試與服務器端的網絡通訊協議,常常需要截取網絡封包來分析。

    b. Charles 通過將自己設置成系統的網絡訪問代理服務器,使得所有的網絡訪問請求都通過它來完成,從而實現了網絡封包的截取和分析。

    c. 除了在做移動開發中調試端口外,Charles 也可以用於分析第三方應用的通訊協議。

    d. 配合 Charles 的 SSL 功能,Charles 還可以分析 Https 協議。

    e. Charles 是收費軟件,可以免費試用 30 天。試用期過后,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過 30 分鍾,並且啟動時將會有 10 秒種的延時。

    f. 因此,該付費方案對廣大用戶還是相當友好的,即使你長期不付費,也能使用完整的軟件功能。只是當你需要長時間進行封包調試時,會因為 Charles 強制關閉而遇到影響。


  2. Charles 主要功能:

    a. 截取 Http 和 Https 網絡封包

    b. 支持重發網絡請求,方便后端調試

    c. 支持修改網絡請求參數

    d. 支持網絡請求的截獲並動態修改

    e. 支持弱網測試

    f. 給服務器做壓力測試

    g. 修改服務器返回內容

    h. 截取 phone 上的網絡封包

    i. 過濾網絡請求


適用范圍:

  1. 本教程只在 Mac 上進行的正常安裝、配置、以及使用

  2. 后邊介紹的移動端抓包也是 IOS 系統的操作方法

  3. Windows 和 Android 的操作方法,大同小異於,可借鑒於此,不過具體教程需要后續嘗試操作后做記錄。


安裝:

  1.  去下載

    charles-01

  2. 下載后得到`.dmg`文件,正常按照提示安裝

  3. 如果想要破解版,網上自行查找 破解方法,很多      

 

配置 (重點部分):

  如何配置代理:

    1. Charles 基礎配置

    2. PC 端代理配置

    3. 移動端代理配置, 分為 IOS 手機代理設置 Android 手機代理設置

 

  1. Charles 基礎配置:     

    操作步驟:         

    step1:  Proxy --> Proxy Settings --> 設置代理端口 默認:8888(可更改,如需抓取移動端的包 記得代理端口號要一致)

       charles-02         

 

     step2:  Proxy --> 選中 macOS Proxy ( 以 macOS 自己作為代理服務器 開啟)

      charles-03
  

  2. PC端 代理配置:     

    做過 Charles 基礎配置 后,此時,Charles 已經可以抓取 pc 端 HTTP 的請求了!


  3. 移動端 代理配置:

    前提:

      1. 保證手機與Mac連接到了同一局域網

      2. Charles 已做過基礎配置

      3. 查看本機 ip 地址 ​

        法1: Mac 系統偏好 --> 網絡 --> 狀態查看 ip ​ 

           charles-04

         法2:option + 點擊 wifi ​ 

           charles-05
    

    IOS 手機代理設置:

      1. 找到 `設置 `

      2. 選擇 `無線網絡`

      3. 點擊 `已連接wifi 后邊的 "!"`

      4. 進入`網路設置頁`

      5. 選擇 `配置代理 `

      6. 進入 `配置代理頁`

      7. 選擇 `手動`

      8. 配置 `服務器`:Mac 上已查看到的 ip

      9. 配置 `端口`:Charles 上已設置的代理端口,必須保持一致 

           charles-06charles-07charles-08
    

    Android 手機代理設置:

     1. 找到 `設置`

     2. 點擊 `WLAN`

     3. 找到 `已連接 wifi`

     4. 進入 `網絡設置頁` (各型號手機進入方式會有所不同,請自行查找使用手機的網絡設置頁的進入方式)

     5. 選擇 `代理`

     6. 選擇 `手動`

     7. 設置 `主機名`:Mac 上已查看到的 ip

     8. 設置 `端口`:Charles 上已設置的代理端口,必須保持一致 ​ 以華為手機為例: ​ 

         charles-09charles-11charles-12charles-14

  此時,當手機進行網絡請求時,Charles 將彈出是否允許連接此代理(選擇允許 allow),之后便可進行http抓包啦!


HTTPS 代理配置 ​:

  上述配置完成后,會發現抓到的 PC上的網絡請求 和 移動端上的網絡請求,HTTP請求是可以正常查看 request & response 的,但是抓取到的 https 請求全是亂碼,此時就要需要做 https代理(SSL代理)的配置了。

  1. Charles SSL 代理配置

  2. Mac 上做 Charles SSL證書認證

  3. 移動端 之 ios 系統做 Charles SSL證書認證

  4. 移動端 之 android 系統做 Charles SSL證書認證

   ------------------------------------------
  1. Charles SSL 代理配置:

    1. 菜單點擊 `Proxy`

    2. 點擊 `SSL Proxying Settings`

    3. 進入 `SSL Proxying Settings 設置頁`

    4. 選中 `Enable SSL Proxying`

    5. 添加信任地址 【host】:443 ( 全信任的話 可以配置 *:443 )

     charles-15

 
        charles-16


     此時應該還是查看不到 https 的 request && response, 還需要做 Charles SSL 證書的安裝!

  2. Mac 上做 Charles SSL證書認證:

    安裝 與 信任:

      1. 菜單點擊 `help`

      2. 選擇 `SSL Proxying`

      3. 點擊 `Install Charles Root Certificate`

      4. 此時會出現是否將證書加入到 系統鑰匙串中,選擇`添加`即可;

       可能因為版本的原因未出現,可在`鑰匙串`中去查找 `charles-proxy-ssl-certificate.cer 的證書`

      5. 找到證書后,去`信任該證書`

      6. 雙擊 `證書`

      7. 彈窗中展開 `信任`

      8. 選擇 `始終信任` 

          charles-17

 
  此時,Charles 可以抓取到 PC 端的 HTTPS 請求的包了,並且 request & response 不再是亂碼啦!

  

  2. 移動端 之 ios 系統做 Charles SSL證書認證:

   安裝 與 信任:

    step 1: 安裝證書:

      1. 菜單 幫助

      2. 選擇 SSL Proxying

      3. 選擇 Install Charles Root Certificate on a Mobile Device or Remote Browser

      4. 此時 charles 會出現個彈窗 ( 作用:提示 手機端瀏覽器訪問 `chls.pro/ssl` ),點擊 `OK`

      5. 打開 ios 手機 safri 瀏覽器,訪問 `chls.pro/ssl`

      6. 會出現下載文件彈窗,選擇 `允許` 

           charles-18

    step2 : 證書驗證:

      1. 手機 `設置`

      2. 點擊 `通用`

      3. 點擊 掃描文件

      4. 點擊 `安裝`

       5. 進入 `警告頁`

      6. 點擊 `安裝`

      7. 進入 `已掃描文件頁`

      8. 發現文件由 未驗證變成已驗證

      9. 點擊 `完成` 

        charles-19

    step3 : 證書信任:

      1. 手機 `設置`

      2. 點擊 `通用`

      3. 點擊 `關於本機`

      4. 點擊 `證書信任設置`

      5. 進入 `證書信任設置頁`

      6. 打開 對 `Charles Proxy CA` 的信任

        charles-23

   3. 移動端 之 android 系統做 Charles SSL證書認證:     

    安裝 與 信任:

      同上,機型不同 安裝驗證和信任過程 可能稍有不同,可網絡執行查找;

 

問題總結:

  問題 1:Charles 抓不到包的情況,

    解決方法:

      step 1: 確認 Charles 配置

        1. 確認 Charles 是否已開啟本機代理

          操作:Proxy --> MacOS Proxy 選中 嘗試刷新瀏覽器,如果 charles 還沒有抓到包,繼續向下看。

        2. 確認是否已經開始抓取

          操作:Proxy --> Start Recording 打開 嘗試刷新瀏覽器,如果 charles 還沒有抓到包,繼續向下看。

        3. 確認 recording setting

          操作:Proxy --> Recording Settings --> 點擊 `add` --> 出來彈窗,什么也不填點 `OK` --> 列表中出現 `*` -->點 `OK` 嘗試刷新瀏覽器,如果 charles 還沒有抓到包,繼續向下看。

        4. 檢查證書安裝情況

          操作:打開Mac上的 鑰匙串-->搜索charles字樣-->已有證書-->檢查是否信任-->沒信任-->設置`始終信任` 嘗試刷新瀏覽器,如果 charles 還沒有抓到包,繼續向下看。

        5. 檢查證書已安裝,並且信任后還是抓不到包

          操作:重新啟動charles 嘗試刷新瀏覽器,如果 charles 還沒有抓到包,繼續向下看。

        6. 安裝證書 如果已安裝,右鍵刪除,如果還沒安裝那么重新安裝

          操作:Help ---> SSL Proxying-->Install Charles Root Certificate-->鑰匙串中查找charles CA證書-->設置`始終信任` 嘗試刷新瀏覽器,如果 charles 還沒有抓到包,繼續向下看。

        以上操作結束后,基本是可以抓取到包了

        7. 如果要抓取 https 包,再設置下 SSL Proxy 操作:         

          i. Proxy --> Proxy Settings --> 選中 Support HTTP/2

            

                 ii. Proxy --> SSL Proxying Settings --> 選中 `Enable SSL Proxying` --> Include添加 `*:443` 

             charles-21   

            嘗試刷新瀏覽器,如果 charles 還沒有抓到包,繼續向下看。

      step 2: 確認本地網路代理配置     

        Mac 上:     

          操作:系統偏好設置 --> 網絡 --> 高級 --> 打開 `代理` tab --> 不選擇自動代理      嘗試刷新瀏覽器,如果 charles 還沒有抓到包,繼續向下看。 

             charles-20

      step 3: 確認本地瀏覽器是否配置了其它代理     

        如果有配置的話,設置成系統代理,即可!

 

  問題 2:Charles 配置代理后,瀏覽器打不開網頁,

    解決辦法:

     1. 確認本地網絡代理配置,不選擇自動代理,參考 `問題 1 step 2`;

     2. 確認本地瀏覽器是否配置了其它代理,如有,設置成系統代理,參考 `問題 1 Step 3`     


  
問題3:Charles 抓到的包是 , 多半原因是證書過期了;

    解決方法: 重新安裝證書,重新信任

    解決步驟:

      step 1: Charles 刪除過期的證書,重置證書:

        操作: help --> SSL Proxying --> Reset Charles Root Certificate...

          

          

 

       step2: 然后鑰匙串中刪除,原來的過期證書,將新證書添加 "始終信任":

          操作:打開鑰匙串 --> 找到 Charles Proxy CA --> 始終信任     

          

 

      step3: 手機端,重新添加證書,並做證書信任:

          1,首先手機配置好ip和端口

          2,手機端輸入網址chls.pro/ssl,下載並安裝證書

          3,在手機上對證書進行信任;(這步很重要,不要忘記,不然也還是 unknown

 

以上為解決在使用 charles 時,常用到的問題!后續遇到問題還會繼續收錄解決方案!

參考: https://juejin.cn/post/6844903733478817800 https://www.jianshu.com/p/8d3d64e600aa


免責聲明!

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



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