➠更多技術乾貨請戳:聽雲博客 Charles是一款抓包修改工具,相比起TcpDump,charles具有界面簡單直觀,易於上手,數據請求控制容易,修改簡單,抓取數據的開始暫停方便等等優勢!前面介紹瞭如何使用TcpDump抓包,下麵給大家介紹一下Charles的使用。 Charles抓包 Charle ...
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可以自定義重覆次數和重覆間隔
原文鏈接:http://blog.tingyun.com/web/article/detail/516