前言
Charles 是移動端和PC端常用的網絡抓包工具,測試人員和開發人員能夠查看客服端和服務器之間的所有HTTP/ HTTPS/SSL網絡請求,從而實現對網絡抓包的截取和分析。
01
下載
官網下載地址:
www.charlesproxy.com/download/
Charles 是一款收費軟件,可以免費試用 30 天。試用期過后,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過 30 分鐘,并且啟動時將會有 10 秒種的延時。因此,該付費方案對廣大用戶還是相當友好的,即使不付費,也能使用完整的軟件功能。
02
PC端配置
#1
安裝證書:
■ Help --> SSL Proxying --> Install Charles Root Certificate ,一直點擊“下一步”,證書安裝完成。
#2
設置https協議
■ 點擊【Proxy】–>【SSL Proxying Settings…】
■ 在彈出選項卡中,勾選【Enable SSL Proxying】點擊【add】
■ 在Host輸入【*】表示接收任何主機,在Prot輸入【443】,點擊保存
03
手機端設置
#1
配置代理
■ 打開手機的設置頁面,選擇【無線局域網】,點擊連接的WIFI后面的感嘆號(以IOS為例)
■ 點擊【配置代理】–>【手動】,輸入本機IP地址以及端口號,點擊存儲
#2
手機端https證書安裝
■ Help --> SSL Proxying --> Install Charles Root CertificateInstall Charles Root Certificate On a Mobile Device or Remote Browser
■ 手機瀏覽器訪問chls.pro/ssl,此時電腦上Charles會出現彈窗,需要點擊“Allow”,下載證書到手機
04
Charles界面
Charles 主要提供兩種查看抓包的視圖,分別名為 Structure 和 Sequence。
- Structure:將網絡請求按訪問的域名分類。
- Sequence:將網絡請求按訪問的時間排序。
可以根據不同的需要在這兩種視圖之前來回切換。請求多了有些時候會看不過來,可以通過一個簡單的Filter功能,輸入關鍵字來快速篩選出 URL 中帶指定關鍵字的網絡請求。
05
Proxy菜單介紹
- Start/Stop Recording:開始/停止記錄會話。
- Start/Stop Throttling:開始/停止節流。
- Enable/Disable Breakpoints:開啟/關閉斷點模式。
- Recording Settings:記錄會話設置。
- Throttle Settings:節流設置。
- Breakpoint Settings:斷點設置。
- Reverse Proxies Settings:反向代理設置。
- Port Forwarding Settings:端口轉發。
- windows Proxy:記錄計算機上的所有請求。
- Proxy Settings:代理設置。
- SSL Proxying Settings:SSL 代理設置。
- Access Control Settings:訪問控制設置。
- External Proxy Settings:外部代理設置。
- Web Interface Settings:Web 界面設置。
06
記錄會話
Recording Settings
Recording Settings和 Start/Stop Recording 配合使用,在 Start Recording 的狀態下,可以通過 Recording Settings 配置 Charles 的會話記錄行為。
- Options:通過 Recording Size Limits 限制記錄數據的大小。當Charles 記錄時,請求、響應頭和響應體存儲在內存中,或寫入磁盤上的臨時文件。當內存中的數據量可能會變得太多,Charles 會發出通知并停止錄制。這時需要清除 Charles 會話以釋放內存,然后再次開始錄制。在錄制設置中,可以限制Charles 將記錄的大小。
- Include:只有與配置的地址匹配的請求才會被錄制。
- Exclude:只有與配置的地址匹配的請求將不會被錄制。
Include 和 Exclude 選項卡的操作相同,選擇 Add,然后填入需要監控的Procotol、Host 和 Port等信息,這樣就達到了過濾的目的。如下圖所示:
07
弱網測試
Throttle Settings
勾選【Enable Throttling】,也可以勾選【only for selected host 】 設置一個指定注解訪問進行網絡限制,不影響其他軟件。
在【Throttle preset】選擇常見預設的網絡情況,也可以在【Bandwidth】自己設置網絡的上傳和下載速率。
08
修改請求數據
1、選擇一條請求,右鍵勾選【Breakpoints】這是我們會發現工具欄有個六邊形按鈕已經變為紅色
2、設置斷點,點擊菜單欄【proxy】勾選【Breakoint Setting …】這是會彈出斷點設置彈窗;
3、在彈出的斷點設置彈窗,雙擊想打斷點的接口,進行斷點編輯;
4、編輯斷點,如果修改Request數據,勾選Request,如果修改Response數據,勾選Response,也可以同時勾選;
5、這樣就達到了設置斷點的目的,然后可以來觀察或者修改請求或者返回的內容,但是在這過程中需要注意請求的超時時間問題。
09
本地文件代理
有時在測試時,需要將某個請求代理到本地文件。
首先選擇需要代理的URL,右鍵選中【Map Local Setting】,在彈窗中Map To中點擊choose,選擇需要代理的本地文件所在路徑,點擊OK就可以了。
10
簡單的壓力測試
如果要測試某一個接口的性能,也可以通過Charles工具。
選擇需要測試URL,右鍵選擇【Repeat Advanced】,在彈出框中,輸入并發線程數以及壓力次數點擊進行測試。
以上內容介紹了如何使用Charles抓包工具,希望能夠幫助到大家,如果有疑問,歡迎關注【愛軟測】公眾號,進行交流。