Android 常用抓包工具介绍之Charles
原文參考:https://www.cnblogs.com/TingyunAPM/p/5445476.html
Charles是一款抓包修改工具,相比起TcpDump,charles具有界面簡單直觀,易于上手,數(shù)據(jù)請求控制容易,修改簡單,抓取數(shù)據(jù)的開始暫停方便等等優(yōu)勢!前面介紹了如何使用TcpDump抓包,下面給大家介紹一下Charles的使用。
Charles抓包
Charles是一個HTTP代理服務(wù)器/HTTP監(jiān)視器/反轉(zhuǎn)代理服務(wù)器。它允許一個開發(fā)者查看所有連接互聯(lián)網(wǎng)的HTTP通信。這些包括request、response現(xiàn)HTTP headers(包含cookies與caching信息)。
1)下載Charles
http://www.charlesproxy.com/
2)安裝Charles
下載完畢之后,直接進(jìn)行安裝即可正常使用
(ps:不注冊的話,每次使用30分鐘,工具就會自動關(guān)閉)。
5.667.png
2、使用Charles進(jìn)行抓包
1)Http抓包
6.777.png
i.打開Charles抓包工具
8.999.png
ii.打開網(wǎng)絡(luò)偏好設(shè)置?查看本機(jī)IP地址為:10.1.1.139
注:Android 設(shè)備需要與PC連接同一網(wǎng)段
90.png
iii.連接同一WiFi后設(shè)置本機(jī)代理
98.png
iv.這里的IP地址為:10.1.1.139;端口號默認(rèn)為:8888
97.png
v.在Charles上查看即可
2)Https抓包(中間人)
a)下載Charles證書
如果要查看Https的數(shù)據(jù)需要安裝Charles的證書
下載地址: http://www.charlesproxy.com/assets/legacy-ssl/charles.crt
b)安裝Charles證書
將下載完成的charles.crt證書push到Android設(shè)備上(也可用常用工具)
$ adb push charles.crt /sdcard/
77.png
i.進(jìn)入設(shè)置à安全à從手機(jī)存儲卡安裝證書
88.png
ii.找到charles.crt點(diǎn)擊安裝
776.png
iii.輸入證書名稱為:charles
注:點(diǎn)擊確認(rèn)后需要設(shè)置手機(jī)解鎖密碼
55.png
iv.安裝成功后即可通過Charles查看Https的數(shù)據(jù)了
c)添加需要查看的Https地址
44.png
i.點(diǎn)擊ProxyàSSL Proxying Settings…
33.png
ii.在SSL Proxying中點(diǎn)擊Add添加Https域名
221.png
iii.可在charles中查找需要查看的Https域名復(fù)制到Host中點(diǎn)擊Ok即可
1233.png
iv.配置完成后重新訪問Https域名,即可查看Https數(shù)據(jù)
3、使用Charles模擬弱網(wǎng)環(huán)境
測試過程中經(jīng)常需要模擬網(wǎng)絡(luò)環(huán)境,那么如何通過Charles來模擬弱網(wǎng)呢?
455.png
i.選擇ProxyàThrottle Setting…
56.png
ii.勾選Enable Throttle并選擇需要設(shè)置的網(wǎng)絡(luò)環(huán)境即可
4、使用Charles設(shè)置斷點(diǎn)
Charles能在網(wǎng)絡(luò)訪問過程中設(shè)置斷點(diǎn),對于開發(fā)者和測試人員來說,堪稱神器。它能夠斷到發(fā)送請求前(篡改Request)和請求后(篡改Response)
1)使用Breakpoint Settings設(shè)置斷點(diǎn)
333.png
555.png
2)選中域名插入斷點(diǎn)
343.png
i.右擊選中需要修改的域名,點(diǎn)擊Breakpoints
2233.png
ii.重新訪問該域名,選擇Edit Request進(jìn)入修改頁面
112.png
注:Charles能夠修改Request的:URL、Headers、Text、Raw;
以及Response的:Headers、Set Cookie、Text、Html、Raw;
這里以Request的headers參數(shù)為例進(jìn)行修改
11222.png
iii.這里查看原Headers攜帶參數(shù)為:{NBSHeaderTest1,NBSApp;b,NBSApp}
現(xiàn)在通過斷點(diǎn)方式修改為:{NBSHeaderTest1,TingyunTest}
667.png
iv.修改完畢后點(diǎn)擊Execute查看Request中的Headers已經(jīng)修改為NBSHeaderTest1 TingyunTest
5、使用repeat測試
在Charles中可以通過repeat和repeat Advances來重復(fù)發(fā)送請求
445.png
repeat Advances可以自定義重復(fù)次數(shù)和重復(fù)間隔
總結(jié)
以上是生活随笔為你收集整理的Android 常用抓包工具介绍之Charles的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CmakeLists关于指定路径加载Op
- 下一篇: Android同文输入法的使用(开源输入