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