抓包工具 - charles

也可參考如下博客:

https://blog.csdn.net/dongyuxu342719/article/details/78933618


一、charles是什麼

1.Charles其實是一款代理服務器,通過成爲電腦或者瀏覽器的代理,然後截取請求和請求結果達到分析抓包的目的。

2.該軟件是用Java寫的,能夠在WindowsMacLinux上使用。

3.支持抓去httphttps協議的請求,不支持socket

4.charles會自動配置IE瀏覽器和工具的代理設置,所以說打開工具直接就已經是抓包狀態了

 

二、charles使用前準備

1.安裝Charles的時候要先裝好Java環境。

2.需要Mac上的破解版

3.需要下載根證書

4.移動設備如果想抓https的請求數據,需要安裝ssl證書

5.代理設置 

 

下載地址和破解方法如下

Ø  下載地址:

https://www.charlesproxy.com/

Ø  破解方法:

關於抓包工具的Charles 破解方法【任何版本都有效】

破解地址:https://www.zzzmode.com/mytools/charles/

描述此工具用於生成破解後的charles.jar文件,blog介紹:https://blog.zzzmode.com/2017/05/16/charles-4.0.2-cracked用法輸入RegisterName(此名稱隨意,用於顯示 Registered to xxx),選擇已安裝的版本,點擊生成,並下載charles.jar文件替換本地charles.jar文件macOS: /Applications/Charles.app/Contents/Java/charles.jarWindows:C:\Program Files\Charles\lib\charles.jar注意僅用於學習交流,請勿用於任何商業用途

 

 

三、SSL安裝證書常見問題

1.ios 10.3以上Charleshttps的請求都會失敗,提示錯誤信息爲

Failure SSLHandshake: Received fatalalert: unknown_ca Youmay need to configure your browser or application to trust the Charles RootCertificate. 

解決方法是:

設置->通用->關於本機->證書信任設置,把安裝的證書後面的開關打開。

注:雖然charles的根證書已經在安裝列表中顯示,但它是被關閉的。在iOS 10.3之前,當你將安裝一個自定義證書,iOS會默認信任,不需要進一步的設置。而iOS 10.3之後,安裝新的自定義證書默認是不受信任的。如果要信任已安裝的自定義證書,需要手動打開開關以信任證書。

 

2.華爲、小米手機有點特殊。

瀏覽器下載好證書後,不能直接安裝,提示打不開文件,需要到設置-wifi,點擊高級,安裝證書

 

3.需要注意的是,即使是安裝完證書之後,Charles 默認也並不截取 Https 網絡通訊的信息,如果你想對截取某個網站上的所有 Https 網絡請求,可以在該請求上右擊,選擇 Enable,如下圖所示:

 四、Charles主要功能

·        支持SSL代理。可以截取分析SSL的請求。

·        支持流量控制。可以模擬慢速網絡以及等待時間(latency)較長的請求。

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

·        支持修改網絡請求參數。

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

 

1.charles界面簡介

1.clear

2.stop recording/start recording

3.start throtting/stop throtting

4.Enable breakpoints/disable breakpoints

5.compose

6.repeat

7.顯示模式

charles抓包的顯示,支持兩種模式,StructureSequence,其特點分別如下。

(1)   Structure形式如下圖優點:可以很清晰的看到請求的數據結構,而且是以域名劃分請求信息的,可以很清晰的去分析和處理數據。

(2)  Sequence形式如下圖優點:可以看到全部請求,這裏的結果以數據請求的順序來顯示,最新的請求顯示在最下面

 

2.常用功能介紹 

1)過濾網絡請求

通常情況下,我們需要對網絡請求進行過濾,只監控向指定目錄服務器上發送的請求。對於這種需求,以下幾種辦法:

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

方法二:在Charles 的菜單欄選擇“Proxy”–>“Recording Settings”,然後選擇 Include 欄,選擇添加一個項目,然後填入需要監控的協議,主機地址,端口號。這樣就可以只截取目標網站的封包了。如下圖所示:

通常情況下,我們使用方法一做一些臨時性的封包過濾,使用方法二做一些經常性的封包過濾。

 方法三:在想過濾的網絡請求上右擊,選擇 “Focus”,之後在 Filter 一欄勾選上 ocussed 一項,如下圖所示:     

 

2)模擬慢速網絡

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

Charles 的菜單上,選擇“Proxy”–>“Throttle Setting” 項,在之後彈出的對話框中,我們可以勾選上 “Enable Throttling”,並且可以設置 Throttle Preset 的類型。如下圖所示:

 

如果我們只想模擬指定網站的慢速網絡,可以再勾選上圖中的 “Only for selected hosts” 項,然後在對話框的下半部分設置中增加指定的 hosts 項即可。

修改網絡請求內容

3)修改網絡請求內容

有些時候爲了調試服務器的接口,我們需要反覆嘗試不同參數的網絡請求。Charles 可以方便地提供網絡請求的修改和重發功能。

1.在相應的網絡請求上點擊右鍵,選擇 “beakpoints”

2.重新執行這個請求

3.點擊edit,編輯請求,點擊execute

4.進入編輯響應頁面。點擊execute

5.查看手機端響應結果。

 

 注意:compose也能達到相同效果,但僅針對當前此次請求。而打了斷點,每次發送這個請求,都會要求你去編輯。

 

4)給服務器做壓力測試

我們可以使用Charles Repeat 功能來簡單地測試服務器的併發處理能力,方法如下。

我們在想打壓的網絡請求上(POST GET 請求均可)右擊,然後選擇Repeat Advanced」菜單項,如下所示:


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