Charles 是在 PC 端經常使用的網絡封包截取工具,在作移動開發時,咱們爲了調試與服務器端的網絡通信協議,經常須要截取網絡封包來分析。除了在作移動開發中調試端口外,Charles 也能夠用於分析第三方應用的通信協議。配合 Charles 的 SSL 功能,Charles 還能夠分析 Https 協議。前端
Charles 經過將本身設置成系統的網絡訪問代理服務器,使得全部的網絡訪問請求都經過它來完成,從而實現了網絡封包的截取和分析。後端
Charles 主要的功能包括:服務器
同類型的工具還有 大名鼎鼎的 Fidder網絡
在與公司 App 端📱同事 調試接口 時,有的時候可能會出現一些很是 莫名其妙 的問題。有的時候可能難以定位這個問題究竟是屬於前端展現 Bug 仍是說接口 數據異常。工具
一般這個時候,可能後端就須要去服務端看日誌 而後結合日誌數據進行排查。可是限於工具 網絡等等複雜的狀況,這樣的方式其實真的蠻低效的。測試
這個時候就須要這樣的一個工具,能夠實時的看運行 App 的接口返回狀況。結合前端 視圖 展現,能在很短的時間內找到問題出現的緣由。這樣就能夠快速的修復問題了。網站
官網下載地址。 地址url
Charles 是收費軟件,能夠免費試用 30 天。試用期事後,未付費的用戶仍然能夠繼續使用,可是每次使用時間不能超過 30 分鐘,而且啓動時將會有 10 秒種的延時。所以,該付費方案對廣大用戶仍是至關友好的,即便你長期不付費,也能使用完整的軟件功能。spa
可是,我選擇破解 😂,我用 Charles 是來提高排查問題的時間的。結果你給我搞這些東西 我就受不了了。。。。主要仍是破解比較容易 💩。哈哈哈哈插件
選擇當前 本身的版本 下載一個 Jar 包就能夠了。
當 Charles 安裝好以後,這個時候就能夠抓取 Http 的包了,可是咱們爲 App 提供的接口 通常都是 Https 的。因此咱們須要安裝證書。
安裝證書
Help -> SSL Proxying ->Install Charles Root Certificate
證書安裝好以後,還須要信任一下。就能夠了
Https 抓取配置
這裏爲何是 iPhone 抓包配置,主要是由於 Android 抓包配置太麻煩了。而後 iPhone 就只須要簡單的安裝證書就能夠了。
如上圖,點擊 Install Charles Root Certificate on a Mobile Device Or Remote Browser
點擊以後的提示框中 192.168.1.106:8888 爲手機將要設置網絡代理的地址。chls.pro/ssl 爲手機下載證書地址。
確認手機和 電腦 在同一個網絡下,訪問 chls.pro/ssl 下載並安裝證書。然後信任證書。
安裝證書
信任證書
設置 - 通用 - 關於本機 - 證書信任設置 - 勾選安裝的證書
手機配置代理
在將 WIFI 的代理配置成 192.168.1.106. 這樣就能夠順利抓取到 手機的 Https 的包了。
完成 上訴設置後,iPhone 就能夠抓包了。
Chrome 抓包配置和 手機差很少,也是須要安裝插件,而後配置代理。
配置代理,在 設置 - 高級 - 代理配置中。配置爲 Charles 代理。
Repeat
將已執行過的請求重複執行。
應用場景,服務器壓力測試。
Compose
臨時修改一些請求的參數,點擊 Execute 就能夠已修改後的請求發送。
<img src="https://atips.cn/assets/img/image-20200906200920257.png" alt="image-20200906200920257" style="zoom:50%;" />
Rewrite
Rewrite 功能功能適合對某一類網絡請求進行一些正則替換,以達到修改結果的目的
<img src="https://atips.cn/assets/img/image-20200906200850447.png" alt="image-20200906200850447" style="zoom:50%;" />
Map Remote Config
地址從定向,將訪問 A 服務器的請求 代理到 訪問 B 服務器
<img src="https://atips.cn/assets/img/image-20200906200704642.png" alt="image-20200906200704642" style="zoom:50%;" />
Map Local Config
將指定請求的 響應 替換爲 本地文件
<img src="https://atips.cn/assets/img/image-20200906200806371.png" alt="image-20200906200806371" style="zoom:50%;" />
本文由博客羣發一文多發等運營工具平臺 OpenWrite 發佈