Charles是一款抓包修改工具,相比起TcpDump,charles具有界面簡單直觀,易於上手,數據請求控制容易,修改簡單,抓取數據的開始暫停方便等等優勢!前面介紹了如何使用TcpDump抓包,下面給大家介紹一下Charles的使用。
Charles抓包
Charles是一個HTTP代理服務器/HTTP監視器/反轉代理服務器。它允許一個開發者查看所有連接互聯網的HTTP通信。這些包括request、response現HTTP headers(包含cookies與caching信息)。
1、配置抓包環境
1)下載Charles
2)安裝Charles
下載完畢之后,直接進行安裝即可正常使用
(ps:不注冊的話,每次使用30分鍾,工具就會自動關閉)。
2、使用Charles進行抓包
1)Http抓包
i.打開Charles抓包工具
ii.打開網絡偏好設置查看本機IP地址為:10.1.1.139
注:Android 設備需要與PC連接同一網段
iii.連接同一WiFi后設置本機代理
iv.這里的IP地址為:10.1.1.139;端口號默認為:8888
v.在Charles上查看即可
2)Https抓包(中間人)
a)下載Charles證書
如果要查看Https的數據需要安裝Charles的證書
下載地址: http://www.charlesproxy.com/assets/legacy-ssl/charles.crt
b)安裝Charles證書
將下載完成的charles.crt證書push到Android設備上(也可用常用工具)
$ adb push charles.crt /sdcard/
i.進入設置à安全à從手機存儲卡安裝證書
ii.找到charles.crt點擊安裝
iii.輸入證書名稱為:charles
注:點擊確認后需要設置手機解鎖密碼
iv.安裝成功后即可通過Charles查看Https的數據了
c)添加需要查看的Https地址
i.點擊ProxyàSSL Proxying Settings…
ii.在SSL Proxying中點擊Add添加Https域名
iii.可在charles中查找需要查看的Https域名復制到Host中點擊Ok即可
iv.配置完成后重新訪問Https域名,即可查看Https數據
3、使用Charles模擬弱網環境
測試過程中經常需要模擬網絡環境,那么如何通過Charles來模擬弱網呢?
i.選擇ProxyàThrottle Setting…
ii.勾選Enable Throttle並選擇需要設置的網絡環境即可
4、使用Charles設置斷點
Charles能在網絡訪問過程中設置斷點,對於開發者和測試人員來說,堪稱神器。它能夠斷到發送請求前(篡改Request)和請求后(篡改Response)
1)使用Breakpoint Settings設置斷點
2)選中域名插入斷點
i.右擊選中需要修改的域名,點擊Breakpoints
ii.重新訪問該域名,選擇Edit Request進入修改頁面
注:Charles能夠修改Request的:URL、Headers、Text、Raw;
以及Response的:Headers、Set Cookie、Text、Html、Raw;
這里以Request的headers參數為例進行修改
iii.這里查看原Headers攜帶參數為:{NBSHeaderTest1,NBSApp;b,NBSApp}
現在通過斷點方式修改為:{NBSHeaderTest1,TingyunTest}
iv.修改完畢后點擊Execute查看Request中的Headers已經修改為NBSHeaderTest1 TingyunTest
5、使用repeat測試
在Charles中可以通過repeat和repeat Advances來重復發送請求
repeat Advances可以自定義重復次數和重復間隔