安裝
1奏甫、官網(wǎng):
https://www.charlesproxy.com/download/?
從官網(wǎng)下載對應(yīng)系統(tǒng)的Charles?最新版本,雙擊下載的安裝包屏富,一路默認安裝发皿,安裝完成會在桌面生成類似花瓶的圖標。
2炒考、注冊:
Charles?是個收費軟件可缚,可以免費試用一個月。
Charles -> Help -> Register Charles
Registered name:XXX
License key:XXX
配置
*** 本文以Mac?系統(tǒng)為例進行講解***
配置手機代理:
手機和Mac?連接到同一個WiFi?網(wǎng)絡(luò)
1.1 Android?系統(tǒng):「以華為P20 手機為例」
? ? ? 1.1.1 設(shè)置->?無線和網(wǎng)絡(luò)?-> WLAN?
? ? ? 1.1.2 長按當前WiFi?-> 修改網(wǎng)絡(luò)
? ? ? 1.1.3 勾選顯示高級選項
? ? ? 1.1.4 代理-> 手動
? ? ? 1.1.5 服務(wù)器主機名-> 填寫Mac?的IP?地址「Mac?IP?獲取方法:Charles?->?Help?->?Local IP Address 」
? ? 1.1.6 服務(wù)器端口->?8888
? ? 1.1.7 保存
1.2 IOS?系統(tǒng):「以iPhone?Xs?Max?手機為例」
? ? ? 1.2.1 設(shè)置-> 無線局域網(wǎng)
? ? ? 1.2.2 點擊當前連接的WiFi
? ? ? 1.2.3 最底部HTTP?代理-> 配置代理-> 勾選手動
? ? ? 1.2.4 服務(wù)器->?填寫Mac?的IP?地址「Mac?IP?獲取方法:Charles?->?Help?->?Local IP Address 」
? ? ? 1.2.5 端口->?8888
? ? ? 1.2.6 存儲
核心功能
一斋枢、?抓包「以iPhone?Xs?Max?為例」
1. Charles?設(shè)置
Proxy?->?Proxy Settings -> Port?->?8888
勾選Support?HTTP/2
勾選 Enable transparent HTTP?proxying
OK
2. 手機設(shè)置代理如上「配置手機代理」步驟
3. 打開手機上任意聯(lián)網(wǎng)的應(yīng)用帘靡,Charles?會彈出請求連接的確認菜單,點擊“Allow“即可完成設(shè)置
二、?過濾網(wǎng)絡(luò)請求
1. 左側(cè)底部Filter?欄-> 過濾關(guān)鍵字
2. 在Charles?的菜單欄選擇
Proxy?->?Recording Settings -> Include -> add「依次填入?yún)f(xié)議+主機名+端口號,即可只抓取目標網(wǎng)站的包」
3. 切換到Sequence昂验,在想過濾的網(wǎng)絡(luò)請求上右擊,選擇“Focus“轰胁,在 Filter?欄勾選上Focused
三、?分析HTTPS?包
1. Mac?安裝證書:
Help?->?SSL Proxying -> Install Charles Root Certificate -> 輸入系統(tǒng)的帳號密碼朝扼,即可在鑰匙串中看到添加好的證書
如果遇到證書不被信任的問題赃阀,解決辦法:
Mac本頂欄 前往 ->?實用工具-> 打開鑰匙串訪問->?找到該證書-> 雙擊或右鍵「顯示簡介」-> 點開「信任」-> 選擇「始終信任」
2. Charles?設(shè)置請求允許 SSL?proxying
1. Charles?默認并不抓取HTTPS?網(wǎng)絡(luò)通訊的數(shù)據(jù),若想攔截所有HTTPS?網(wǎng)絡(luò)請求擎颖,需要進行設(shè)置:在請求上右擊選擇 Enable?SSL?proxying
2. Charles?->?Proxy -> SSL Proxying Settings -> SSL Proxying「添加對應(yīng)的域名和端口號榛斯,為方便也可端口號直接添加通配符*」
3. 移動端安裝證書
a. Charles?選擇Help?->?SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser
b. 確保手機連上代理的情況下,在手機瀏覽器欄輸入:chls.pro/ssl搂捧,下載證書驮俗,完成安裝。
c. Android?tips:
1.1. 小米機型請注意允跑,如果是MIUI?9 以上的版本王凑,請不要用自帶瀏覽器下載證書搪柑,自帶瀏覽器下載的證書文件格式不對,無法安裝索烹,uc?瀏覽器下載沒有問題工碾。
1.2. 若不能直接安裝,需要下載下來百姓,到手機設(shè)置-> 安全-> 從設(shè)備存儲空間安裝-> 找到下載的證書.pem 結(jié)尾的-> 點擊安裝即可
d. IOS?tips:
IOS?需要設(shè)置手機信任證書渊额,詳見?官方文檔。若不能直接安裝垒拢,需在手機「設(shè)置」-> 通用->?描述文件與設(shè)備管理安裝下載的證書旬迹,完成安裝后-> 找到關(guān)于本機-> 證書信任設(shè)置,打開剛安裝的證書的開關(guān)求类。
??????抓包內(nèi)容遇到亂碼奔垦,解決如下:
??????Proxy?-> SSL Proxy Settings -> Add
??????Host:*「代表所有網(wǎng)站都攔截」
??????Port:443
? ? ? 保存后,在抓包數(shù)據(jù)就會顯示正常
四仑嗅、?模擬弱網(wǎng)
1. 選擇Proxy?->?Throttle?Settings?-> 勾選Enable?Throttling?-> 選擇Throttle?Preset?類型
五宴倍、?Mock?數(shù)據(jù)
1. 以map?local?為例张症,修改返回值
選擇目標請求仓技,右鍵選擇Save?All保存請求的 response?內(nèi)容到本地文件
2. 配置Charles?Map?Local,Tool?->?Map Local -> 勾選Enable?Map?Local?->?Add 「添加目標請求及需要替換的response?文件地址」-> OK
3. 用文本編輯器打開保存的json?文件俗他,修改內(nèi)容脖捻,進行替換。打開客戶端應(yīng)用重新請求該接口兆衅,返回的數(shù)據(jù)就是本地的文件數(shù)據(jù)地沮。
至此,Charles?的常用功能講解完畢羡亩,有問題或有建議的朋友歡迎評論摩疑。