手把手教你如何使用Charles抓包


一、為什么使用charles

前幾天因為需要通過抓包定位問題,打開了塵封已久的fiddler,結果打開軟件后什么也干不了,別說手機抓包了,打開軟件什么請求也抓不到。
很多時候都是如此,如果一個方案不行,肯定要有替代方案的。
於是,想到了charles來進行抓包,也就是換一個工具完成了想做的事。

二、下載地址

https://www.charlesproxy.com/

三、web抓包

Charles Web抓包非常簡單,啟動Charles會自動與瀏覽器設置成代理,不需要進行過多的設置,接下來我就就是通過瀏覽器發送網絡請求,Charles就會直接抓取到這些信息和響應信息

1、抓取HTTPS協議

對於抓取https協議的包,和fiddler是一樣的,要進行對應的配置設置。

2、Charles下配置

1、點擊頂部菜單欄【Help】–>選擇【SSL Proxying】,點擊【install Charles Root Certificate 】安裝Charles根證書即可;
這里由於用的筆記本截圖快捷鍵問題,沒發截取,這里截取證書安裝,證書安裝一直下一步就可以


2、點擊【Proxy】–>【SSL Proxying Settings…】
3、在彈出選項卡中,勾選【Enable SSL Proxying】點擊【add】,在Host輸入【】表示接收任何主機,在Prot輸入【443】最后點擊【ok】保存***

四、App抓包

1、電腦端配置:

1,啟動安裝好的Charles抓包工具;
2,點擊【Help】–>【local IP Address】獲取下ip地址,也可以直接通過電腦自帶的CMD命令來獲取電腦IP【ipconfig】

3、點擊【Proxy】–>【Proxy Settings】我們在設置下端口號,默認即可,具體視自己電腦環境設置

2、手機端設置:

1、打開手機的設置頁面;
2、選擇【無線局域網】;
3、IOS點擊連接的WIFI后面的感嘆號,安卓應該是長按連接的WIFI;(注:這里主要以IOS為例)
4、點擊【配置代理】–>【手動】;
5、輸入本機【IP地址(192.168.1.75)】以及端口號【9999】,這是我本機的,根據自己情況合理配置;
6、點擊【存儲】

接下里驗證下手機請求,當我們看到Charles里能抓到這個連接,就說明配置沒問題,看到unknown,這個不要緊,那是我們沒有安裝針對手機端的證書,下面繼續我們手機端HTTPS證書安裝

3、抓取手機HTTPS協議

通過上面的設置,雖然來自我們手機端的Http協議請求可以抓取到,但是HTTPS協議的包是不能抓取的,需要安裝配置證書才可以,現在手機上大多數都已經切到https很少由http協議的了

4、Charles配置:

1、點擊頂部菜單欄【Help】–>選擇【SSL Proxying】,點擊【install Charles Root Certificate】安裝Charles根證書即可;
2、點擊安裝【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移動設備上或遠程瀏覽器安裝證書即可;(這里和上面安裝一樣)

五、Charles過濾

通常情況下,我們需要對網絡請求進行過濾,只監控向指定目錄服務器上發送的請求。對於這種需求,以下幾種辦法:

方法一:在主界面的中部的 Filter 欄中填入需要過濾出來的關鍵字。例如我們的服務器的地址是:http://ceshi.com, 那么只需要在 Filter 欄中填入 ceshi 即可。

方法二:在 Charles 的菜單欄選擇 “Proxy”->”Recording Settings”,然后選擇 Include 欄,選擇添加一個項目,然后填入需要監控的協議,主機地址,端口號。這樣就可以只截取目標網站的封包了。如下圖所示:

六、弱網測試

Charles配置弱網設置
1、點擊【Proxy】–>【Throttle Setting】
2、勾選上【Enable Throttle】,也可以勾選【only for selected host 】 設置一個指定注解訪問進行網絡限制,不影響其他軟件;
3、在【Throttle preset】選擇常見預設的網絡情況,也可以在【Bandwidth】自己設置網絡的上傳和下載速率

七、打斷點篡改數據

在我們的測試場景中,可能需求修改請求參數或者返回參數進行測試,比如支付方面的接口,涉及用戶登陸權限的接口參數
這里就不再舉例了;

八、修改請求數據

1,選擇請求會話右鍵勾選【Breakpoints】這是我們會發現工具欄有個六邊形按鈕已經變為紅色
2,設置斷點,點擊菜單欄【proxy】勾選【Breakoint Setting …】這是會彈出斷點設置彈窗;
3,在彈出的斷點設置彈窗,雙擊想打斷點的接口,進行斷點編輯;
4,編輯斷點,如果修改Request數據,九江Request勾選,如果修改Response數據,就將Response勾選,當然你也可以都勾選;
5,在手機上重新進行請求,Charles 會自動進行攔截並跳轉到請求數據修改頁面;

這時,服務端給我們返回的數據就是有關jmeter的數據了

九、重復發送請求

在我們的測試工作中,可能你會發先一個bug,開發會讓你在操作一遍,他要查看日志經i選哪個定位分析,這時候,在客戶端上進行操作一遍就會麻煩,這是直接用Charles 發送一遍重復的請求就可以了,並且,重新發送請求也可以幫助我們進行功能測試;
選擇需要重新發送請求的會話上,直接點擊工具欄【重新按鈕】

Compose編輯接口
在我們的測試工作中,可能需要發送不同的參數進行請求。
選擇需要修改的請求,右鍵選擇【Compose】這時多出一個筆的請求;

服務器壓力測試
Charles 還有一個比較有意思的功能,它能勾簡單的給服務器進行壓力測試;
1,在進行壓力測試的請求會話上右擊,選擇【Repeat Advanced】

2,在彈出框中,輸入並發線程數以及壓力次數點擊進行測試

原文鏈接:
https://blog.csdn.net/u012486840/article/details/106593213


免責聲明!

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



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