摘要 在發開過程中,追蹤請求和監控請求與返回數據是我們經常會需要的一個需求,在Mac端,Charles是一款非常易用的抓包工具。 Mac端的優秀抓包工具——Charles使用 一、簡介 Charles是Mac端的一款截取與分析網路請求的工具,在網路開發中使用其作分析,可以大大提高我們的開發效率。Ch ...
摘要
在發開過程中,追蹤請求和監控請求與返回數據是我們經常會需要的一個需求,在Mac端,Charles是一款非常易用的抓包工具。
Mac端的優秀抓包工具——Charles使用
一、簡介
Charles是Mac端的一款截取與分析網路請求的工具,在網路開發中使用其作分析,可以大大提高我們的開發效率。Charles是收費軟體,一般可以試用三十天,但是可以通過相應的破解來獲取服務(這裡只做演示使用,希望大家購買正版軟體)。Charles最新版軟體和破解包下載地址:http://charles.iiilab.com/
二、安裝與使用
下載好壓縮包後,解壓打開,將軟體包拖入應用程式文件夾中,這時候一個原版的軟體就可以讓我們使用,只是有一個試用期,右鍵單擊我們的Charles應用,顯示包內容:
將如下文件夾中的jar包替換為我們破解文件夾中的jar包:
三、使用Charles在Mac上進行抓包分析
在軟體安裝完成後,我們已經可以在mac上截取一般的網路請求了,打開軟體,將Proxy設置中的Mac OS X Proxy勾選,設置為網路代理,這時候如果發生網路請求,就可以被Charles截獲到
如果我們需要截取SSL協議的網路請求,這時候我們還需要安裝一個證書:http://yun.baidu.com/s/1o6J2Crg。註意將證書許可權設置為始終信任。
抓獲信息的界面如下:
軟體的功能十分強大,Structure是將請求按功能變數名稱排序,Sequence是將請求時間排序,下麵的Request和Response分別為請求的數據包和返回的數據包,如果是json數據,還會自動幫我們解析格式。
註意:如果iOS模擬器上抓不到請求包,重啟模擬器即可。
四、在移動設備上進行抓包
導入證書的過程和在Mac上一樣,在移動設備上訪問http://yun.baidu.com/s/1o6J2Crg。進行證書下載,安裝:
在移動設備上截獲網路請求,我們的移動設備必須和電腦在同一網段,在我們電腦的網路設置中查看IP地址,然後在移動設備上點擊我們連接的電腦上的網路,在代理一欄中,選擇手動,將我們剛纔查看的ip地址填寫在這裡,並且設置一個埠號。
在Charles中的Proxy setting中如下勾選並配置埠號
我們在設備上再訪問網路,請求包就可以被我們抓取到。
五、Charles的更多應用
1、過濾網路請求
有時候我們只想抓取某個主機的網路請求,我們可以設置過濾網路,在Proxy菜單中的Recording Setting中,我們選擇include標簽,可以在裡面添加一個白名單,這樣Charles就只截取在這個主機下的請求:
2、模擬限速網路
很多時候,我們需要測試在網路不佳時應用請求的相關數據,我們可以模擬設置限速網路,在Proxy菜單中的Throttle Settings中將,Enable Throttling勾選,並可以在下麵進行網路設置,only for selected host可以設置一個指定的主機訪問進行限制網路。
3、修改網路信息,多次請求
在測試介面時,有時候我們需要反覆進行不同參數的介面請求,Charles也支持我們進行請求參數的修改和多次請求,在請求上點擊右鍵,現則edit:
其中的參數,請求類型等我們都可以修改,之後點擊execute進行重新請求。