抓包工具Charles使用


介紹:

Charles其實是一款代理服務器,通過成為電腦或者瀏覽器的代理,然后截取請求和請求結果達到分析抓包的目的。該軟件是用Java寫的,能夠在Windows,Mac,Linux上使用。

主要功能:

1、支持SSL代理,可以截取分析SSL的請求

2、支持流量控制,可以模擬慢速網絡以及等待時間較長的請求

3、支持AJAX調試,可以自動將json或xml數據格式化,方便查看

4、支持AMF調試,可以將Flash Remoting或Flex Remoting 信息格式化,方便查看

5、支持重發網絡請求,方便后端調試。

6、支持修改網絡請求參數。

7、指出網絡請求的截取並動態修改。

8、檢查HTML、CSS和RSS內容是否符合W3C標准。

抓包:

charles的首頁:

 

 

 如果返回的信息是亂碼,首先看是在http請求還是https請求,如果是http請求,那么就是返回來的中文亂碼;解決方案:找到軟件包安裝路徑,Contents目錄下的info.plist,打開文件找到vmoption,添加-Dfile.encoding-UTF-8即可。

如果是https請求出現亂碼,如下情況:

 

 

 這時候你就需要安裝Charles的CA證書了,首先到去 http://www.charlesproxy.com/ssl.zip 下載CA證書文件。雙擊crt文件,選擇總是信任就可以了,當然如果要抓取iPhone設備上的HTTPS請求,需要在iPhone上也安裝一個證書,在手機瀏覽器輸入這個網址:http://charlesproxy.com/getssl ,點擊安裝即可。然后你就可以告別那煩人的亂碼,可以愉快地抓包了。如果這時候你還是抓不了的話,檢查一下Proxy-->SSL Proxying Settings是否設置OK,設置參考下圖:

 

 

 

抓包

首先使得手機和電腦在同一個局域網內,不一定非要一個IP段,只要是同一個路由器下就可以了。按照上面說的整數安裝號,然后找到電腦的IP,可以選在在中斷上輸入ifconfig en0來獲取,也可以在charles的help-Local IP Address查看IP

 

 

 

查看端口

打開Charles的代理設置:proxy-proxy seting,設置一下端口號,默認的是8888,這個只要不和其他程序沖突即可,並且勾選Enable transparent HTTP proxying

 

 

 手機上設置

 

 

手機上隨便打開一個app,這時charle會彈出框確認是否進行代理,點擊allow就可以,然后在Charles上就有手機請求

 

 

 

過濾

在 Charles 的菜單欄選擇 Proxy->Recording Settings,然后選擇 Include 欄,選擇Add,然后填入需要監控的協議,主機地址,端口號,這樣就達到了過濾的目的。如下圖:

 

 

另外一種方法就是在一個網址上右擊選中Focus,然后其他請求就會被放到另外一個叫other Host的文件夾里面,這樣達到過濾目的

 

 斷點

在Charles發起一個請求的時候,我們可以給某個請求打一個斷點,然后來觀察或者修改請求,或者修改請求返回的內容,但是在這個過程中要注意請求超時時間問題,要針對某個請求設置斷點,只要請求網址求在這個右擊選Breakpoints就可以斷點某個請求了。

 

 

模擬網速慢

在Proxy->Throttle Seting,選擇Enable Throttling,在Throttle preset下選擇網絡類型即可,

 

 

請求重定向

請求重定向的作用是什么呢?開中一般都是測試環境,如果我們想對比一下和線上版本的區別,可以測試的請求重定向到正式環境,在選擇Tools->Map Remote下:

 

 

 

內容替換

有時候會測試 一下請求的參數不同會帶來不同的返回結果是都達到業務需求,或需要不同的返回結果來驗證我們對數據處理是否正確,我們可以使用Charles可以自己把控接口返回來的內容,比如數據的空與否,數據的長短等等,在Tools->Rewrite Settings下:

 

 

 

參考:https://www.cnblogs.com/cangqinglang/p/10257550.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM