charles 抓包工具的使用,安裝、mock、限速、斷點功能詳解

我們在進行B/S架構的Web項目開發時,在前端頁面與後臺交互的調試的時候,通常使用在JSP中加入“debugger;”斷點,然後使用瀏覽器的F12開發者工具來查看可能出錯的地方的數據。或者使用HttpWatch來抓包分析。

在開發移動端項目沒有網頁的情況下,就不能通過這種方式抓取數據進行分析了。這時可以使用Charles滿足以上要求。Charles是一款Http代理服務器和Http監視器,當移動端在無線網連接中按要求設置好代理服務器,使所有對網絡的請求都經過Charles客戶端來轉發時,Charles可以監控這個客戶端各個程序所有連接互聯網的Http通信。

Charles 主要的功能包括

1)截取 Http 和 Https 網絡封包。

2)支持重發網絡請求,方便後端調試。

3)支持修改網絡請求參數。

4)支持網絡請求的截獲並動態修改。

5)支持模擬慢速網絡。

 

1.Charles安裝與配置:

1.1.打開瀏覽器訪問Charles官網https://www.charlesproxy.com/,下載相應系統的Charles安裝包,然後一鍵安裝即可。

安裝完成之後,打開Charles,界面如下:

首先,電腦安裝證書:

以上步驟確認安裝證書;

1.2.以上由於勾選瞭如下選項,抓取到了電腦本地發送的請求,展示了強求相關域名;

1.3.上圖中,有些請求是鎖的標誌,有的不是,有鎖的標誌是因爲沒有允許,需要先允許再重新請求相關請求,就可以正常查看了;

做如下操作,允許某個請求:

1.4.可以看到請求欄有很多很多的鎖標誌,這時一個一個打開太過繁瑣,工作量很大,此時可以做相關設置允許所有:

如下:

如上操作之後,可以正常獲取網絡請求;

1.5.以上操作抓取到了電腦本地請求,那麼如何抓取移動端APP的請求呢?

需求做以下配置:

1查看Charles端口:

2)查看電腦IP:

兩種方法:

  1. 打開cmd,進入dos窗口,輸入ipconfig查看電腦IP;

可以看到IP如下:

已經知道電腦IP和Charles端口,那麼可以在手機WiFi處做如下配置:

確認之後,查看Charles頁面是否有如下提示,如有提示,表示連接成功了,注意點擊allow允許:

 

配置好之後,手機在瀏覽器中輸入chls.pro/ssl安裝證書:

輸入之後,跳轉如下頁面:(iOS爲例,安卓也差不多)

如上配置成功,可以成功抓取移動端請求了;

注意:

  1. 安裝證書時如果提示不安全,繼續即可,安裝這個證書是保證Charles可以截取到你手機與服務端請求的交互,進行代理,不會有其他的安全隱患;
  2. 查看電腦IP時,提供另一種方式也可,推薦使用上面ipconfig的方式:

2.以上操作完成了安裝與配置操作,下面開始介紹Charles常用功能:

2.1.基本功能;

1)界面

Structure模式的優點 :

1.以域名劃分請求信息 可以很容易定位需要分析和處理的數據。

2.清晰看請求的數據結構,

 

展開域名,可以看到請求,我這邊手機隨意打開一個應用,看到如上請求,選中任意請求,右邊可以看到常用的概要,請求和響應數據;

Sequence模式:

Sequence模式的優點 :

1.請求快就在前面顯示, 因爲這裏是以數據請求的順序去執行的

2.可以很清晰的看到全部請求,(包括資源請求,圖片,文本,音樂等等)

 

在sequence中可以看到按時間順序排序的請求,統一可以看到請求和響應,看需求使用;

Filter處也可以過濾請求;

2)mock功能:

Charles 的 Map 功能分 Map Remote 和 Map Local 兩種,顧名思義,Map Remote 是將指定的網絡請求重定向到另一個網址請求地址,Map Local 是將指定的網絡請求重定向到本地文件。

當需求修改數據時,可使用mock功能。

步驟;

1)選中一個請求,保存響應:

2)報保存的響應複製到bejson格式化工具中轉換:

3)在保存的文件中把精選排行改成精選:

4)在Charles中做如下設置:

5)手機重新刷新請求;

可以看到圖標變成文本圖形,說明mock成功,看響應數據,是修改後的精選文案,查看手機顯示:

看到手機展示由精選排行變爲修改後的精選,mock成功!!

注意:

上面用的是mock local功能,還有mock remote功能也是一樣使用:

3)限速功能:

在做移動開發的時候,我們常常需要模擬慢速網絡或者高延遲的網絡,以測試在移動網絡下,應用的表現是否正常(如模擬應用在網絡較慢時的響應時間等情景)。Charles 對此需求提供了很好的支持。

限速之後,看手機的響應,可以看到頁面響應更慢了,如果效果不明顯,可以模擬較極端的情況。

4)斷點功能:

有些時候爲了調試服務器的接口,我們需要反覆嘗試不同參數的網絡請求。Charles 可以方便地提供網絡請求的修改和重發功能。只需要在以往的網絡請求上點擊右鍵,選擇 “Edit”,即可創建一個可編輯的網絡請求。

步驟;

1)選中需要修改的接口,右鍵-breakpoint,加入斷點:

2)在斷點設置中進行設置:

3)手機刷新頁面,重新請求這個接口,根據需求進行編輯:

4)查看手機;

修改成功!!

 

以上,介紹了Charles的幾個常用功能,後續有時間看看把其他功能進行補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章