charles抓包怎麼看內容(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、手機端設定:
- 開啟手機的設定頁面;
- 選擇【無線區域網】;
- IOS點選連線的WIFI後面的感嘆號,安卓應該是長按連線的WIFI;(注:這裡主要以IOS為例)
- 點選【配置代理】–>【手動】;
- 輸入本機【IP地址(192.168.1.75)】以及埠號【9999】,這是我本機的,根據自己情況合理配置;
- 點選【儲存】
接下里驗證下手機請求,當我們看到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、在彈出框中,輸入併發執行緒數以及壓力次數點選進行測試