- A+
全棧班、自動化班
課程全面升級更新
更好的松勤等你來
一、簡介
Charles是目前最強大最流行的http抓包調試工具,Mac、Unix、Windows各個平台都支持。特別是做APP開發,調試與服務端的通信,Charles是必備工具。
二、Charles工作原理
Charles本質是就是一個http抓包分析工具,在工作的時候需要先把charles設置成代理服務器,這樣所有的網絡請求都會經過charles了。
三、對移動端進行抓包分析
我們在進行APP開發或測試時,經常需要知道APP的每一步操作調用的是哪個接口,請求參數是什麼,返回值是什麼,作為服務端,有時還需要對APP的某一個操作進行debug。通過簡單配置,我們就可以將我們手機APP上所有請求發送到PC端Charles代理中,Charles會自動抓取http網絡包分析請求和返回值,當然這些只是Charles最基本的功能。
下面就介紹如何配置Charles:
手下手機和電腦必須在一個局域網內,不一定非要是一個ip段,只要是同一個路由器下就可以了
在PC端安裝Charles,關掉防火牆,打開Charles,進入Proxy->Proxy Setting,設置http proxy代理端口:8888(一般默認設置為這個)
在移動端,進入無線網絡->點擊當前連接的wifi->代理設置->設置服務器地址和端口(各手機配置不太一樣),這裏的服務器地址就是PC端的IP地址,端口就是上面設置PC端的代理端口8888
經過上面設置,我們手機上的所有請求都會發送到我們PC端指定的端口,而這個端口就是Charles的代理端口。所以,客戶端的請求和服務端的響應都會經過Charles,我們通過Charles就可以很方便的看到請求和響應相關的數據啦。
四、實際操作演示
Charles提供了兩種查看封包的視圖,分別是Structure和Sequence。
1. Structure視圖將網絡請求按訪問的域名分類。
2. Sequence視圖將網絡請求按訪問的時間排序。
我們可以在使用時根據需要隨時切換。按照上面介紹配置好,下面就開始演示啦。
第一步,我們打開我們的APP,輸入用戶名密碼,點擊登錄
第二步(初次使用可能要求我們給予權限,點擊允許即可),再看我們的Charles主界面,structure視圖中可以看到這次操作的http請求響應信息,並且請求按域名進行了分組
我們可以切換到sequence界面,所有的請求按照請求時間進行排列:
五、Charles的其它功能
1、Charles開啟request和response視圖,進入Charles->edit->Preferences->viewers界面,取消勾選"Combine request and response"
2、設置只抓取對應的域名的請求,
如果不設置過濾,手機上所有APP的網絡請求都會被解析,看起來很亂,通常情況下,我們只希望看到客戶端對應應用服務器的網絡請求,這時就需要對網絡請求進行過濾,只監控向指定目錄服務器上發送的請求。對於這種需求,我們有2種辦法。
1. 在主界面的中部的Filter欄中填入需要過濾出來的關鍵字。例如我們的服務器的地址是:`http://*.zitech.com`,那麼只需要在`Filter`欄中填入`zitech.com`即可。
2. 在Charles的菜單欄選擇`"Proxy"->"Recording Settings"`,然後選擇`Include`欄,選擇添加一個項目,然後填入需要監控的協議,主機地址,端口號。
3、數據返回显示亂碼問題:進入Charles安裝目錄,修改Charles.ini文件,添加 vmarg.4=-dfile.encoding=UTF-8
👇點擊“閱讀原文”免費領取學習視頻、乾貨技術~
在右下角戳一個小花花
你是最好看的