抓包神器Charles簡單使用


什么是Charles

Charles是一個HTTP代理服務器,HTTP監視器,反轉代理服務器,當程序連接Charles的代理訪問互聯網時,Charles可以監控這個程序發送和接收的所有數據。它允許一個開發者查看所有連接互聯網的HTTP通信,這些包括request, response和HTTP headers包含cookies與caching信息)。

 

Charles安裝

去Charles的官方網站(http://www.charlesproxy.com)下載最新版的相應操作系統的Charles安裝包安裝即可。Charles是收費軟件,可以免費試用30天。試用期過后,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過30分鍾,並且啟動時將會有10秒種的延時。

 

破解Charles收費功能

鏈接:https://pan.baidu.com/s/1uPvSvrP9mApG76ttssIPxg  密碼:ih46 下載charles.jar。MAC OS中將下載的jar替換掉/Applications/Charles.app/Contents/Java文件夾中的charles.jar

 

獲取pc端網絡請求包

Charles 是通過將自己設置成代理服務器來完成抓包的,勾選系統代理后,系統本地發出去的請求都能被截取下來。如果只抓取APP的包的話,可關閉此配置,這樣不會出現太多的數據看着比較亂。

 

 

獲取移動端網絡請求包 

我們在調試移動APP時,需要抓取APP發送的數據包,首先進行設置,Proxy -> Proxy Settings默認端口是8888,根據實際情況可修改。

 

 

 

查看本機IP地址:Help -> Local IP Addresses

 

 

然后配置手機代理:

填寫pc端ip已經剛才設置的端口號

 

 

打開要調試的APP,請求就會先發送到Charles,然后驗證是否允許訪問。

 

 

 查看網絡請求

 

過濾請求:在Sequence界面的中部的Filter欄中填入需要過濾出來的關鍵字。例如我們的服務器的地址是:*.leautolink.com,那么只需要在Filter欄中填入leautolink即可。(一般用於臨時過濾)

 代理轉發

 

實際開發時,有這樣的場景,服務端線上版本有bug,你在本地修改程序后,需要模擬實際的線上環境,來驗證程序的正確性,最笨的方法就是讓客戶端修改一下APP的調用地址到你本機,然后重新打一個版本供你模擬測試,這樣雖然可以,但每次遇到bug都要這么做的話,那效率極其低下,然而Charles為我們解決了這個問題。

請求轉發,把調用方調用的地址轉發到你本機地址的程序進行執行

右鍵請求 -> Map Remote ...

 

 

 

 

並且配置Tools -> Map Romote

 

Https請求抓包

默認我們是看不到https的請求數據的。我們需要安裝證書。

mac

 

 雙擊打開Charles Proxy CA

 

 手機配置完代理(必須的操作)后,瀏覽器打開http://chls.pro/ssl下載證書並安裝

 然后配置Proxy -> SSL Proxying Settings... 添加要抓取的https請求,兩個都寫,*代表所有

 

 

 

 配置完成

 

參考文章:https://www.jianshu.com/p/993bc794138d


免責聲明!

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



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