Charles抓包使用總結

  • Charles抓包使用總結已关闭评论
  • A+
所属分类:小ck包包推荐

Charles抓包使用總結

全棧班、自動化班

課程全面升級更新

更好的松勤等你來

一、簡介

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(一般默認設置為這個) 

Charles抓包使用總結


在移動端,進入無線網絡->點擊當前連接的wifi->代理設置->設置服務器地址和端口(各手機配置不太一樣),這裏的服務器地址就是PC端的IP地址,端口就是上面設置PC端的代理端口8888 

Charles抓包使用總結

經過上面設置,我們手機上的所有請求都會發送到我們PC端指定的端口,而這個端口就是Charles的代理端口。所以,客戶端的請求和服務端的響應都會經過Charles,我們通過Charles就可以很方便的看到請求和響應相關的數據啦。

四、實際操作演示

Charles提供了兩種查看封包的視圖,分別是Structure和Sequence。

1. Structure視圖將網絡請求按訪問的域名分類。

2. Sequence視圖將網絡請求按訪問的時間排序。

我們可以在使用時根據需要隨時切換。按照上面介紹配置好,下面就開始演示啦。

第一步,我們打開我們的APP,輸入用戶名密碼,點擊登錄

第二步(初次使用可能要求我們給予權限,點擊允許即可),再看我們的Charles主界面,structure視圖中可以看到這次操作的http請求響應信息,並且請求按域名進行了分組

Charles抓包使用總結

我們可以切換到sequence界面,所有的請求按照請求時間進行排列: 

Charles抓包使用總結

五、Charles的其它功能

1、Charles開啟request和response視圖,進入Charles->edit->Preferences->viewers界面,取消勾選"Combine request and response"

Charles抓包使用總結

2、設置只抓取對應的域名的請求,

如果不設置過濾,手機上所有APP的網絡請求都會被解析,看起來很亂,通常情況下,我們只希望看到客戶端對應應用服務器的網絡請求,這時就需要對網絡請求進行過濾,只監控向指定目錄服務器上發送的請求。對於這種需求,我們有2種辦法。

1. 在主界面的中部的Filter欄中填入需要過濾出來的關鍵字。例如我們的服務器的地址是:`http://*.zitech.com`,那麼只需要在`Filter`欄中填入`zitech.com`即可。

2. 在Charles的菜單欄選擇`"Proxy"->"Recording Settings"`,然後選擇`Include`欄,選擇添加一個項目,然後填入需要監控的協議,主機地址,端口號。

Charles抓包使用總結


3、數據返回显示亂碼問題:進入Charles安裝目錄,修改Charles.ini文件,添加 vmarg.4=-dfile.encoding=UTF-8

Charles抓包使用總結

Charles抓包使用總結

Charles抓包使用總結

Charles抓包使用總結

👇點擊“閱讀原文”免費領取學習視頻、乾貨技術~Charles抓包使用總結

在右下角戳一個小花花Charles抓包使用總結

你是最好看的