
一、為什么使用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、在彈出框中,輸入并發執行緒數以及壓力次數點擊進行測驗

最后: 可以關注公眾號:傷心的辣條 ! 進去有許多資料共享!資料都是面試時面試官必問的知識點,也包括了很多測驗行業常見知識,其中包括了有基礎知識、Linux必備、Shell、互聯網程式原理、Mysql資料庫、抓包工具專題、介面測驗工具、測驗進階-Python編程、Web自動化測驗、APP自動化測驗、介面自動化測驗、測驗高級持續集成、測驗架構開發測驗框架、性能測驗、安全測驗等,
如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦!
好文推薦
轉行面試,跳槽面試,軟體測驗人員都必須知道的這幾種面試技巧!
面試經:一線城市搬磚!又面軟體測驗崗,5000就知足了…
面試官:作業三年,還來面初級測驗?恐怕你的軟體測驗工程師的頭銜要加雙引號…
什么樣的人適合從事軟體測驗作業?
那個準點下班的人,比我先升職了…
測驗崗反復跳槽,跳著跳著就跳沒了…
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298615.html
標籤:其他
下一篇:【一年總結】記我的大二生活
