Charles安裝與使用

一、準備工作

簡介
Charles是一款代理服務器,通過將自己設置成系統(電腦或者瀏覽器)的網絡訪問代理服務器,然後截取請求和請求結果進行分析抓包。該軟件是用Java寫的,能夠在Windows,Mac,Linux上使用。安裝Charles的時候要先裝好Java環境。

需要java環境(安裝地址):
https://www.oracle.com/technetwork/java/javase/downloads/index.html

二、下載與安裝

Charles是在 Mac 下常用的網絡封包截取工具,在做移動開發時,爲了調試與服務器端的網絡通訊協議,需要截取網絡封包來分析。
官網下載地址:https://www.charlesproxy.com

Charles 是收費軟件,可以免費試用 30 天。試用期過後,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過 30 分鐘,並且啓動時將會有 10 秒種的延時。

(1)官方安裝破解方法:

在Help窗口內選擇Register Charles:

// Charles Proxy License
// 適用於Charles任意版本的註冊碼。
// Charles 4.2.7目前是最新版,親測可用。
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4

(2)安裝下載破解版,安裝即可使用

http://xclient.info/s/charles.html?t=4d93195475bee25eacad7e2e5af2f76da51df76b#versions (內有詳細教程)

三、主要功能使用

(1)初步認識

Charles 提供兩種查看封包的視圖, “Structure” 和 “Sequence”。
1、Structure 視圖將網絡請求按訪問的域名分類。
2、Sequence 視圖將網絡請求按訪問的時間排序。
可以根據具體的需要在這兩種視圖之前來回切換。請求多了有些時候會看不過來,Charles 提供了一個簡單的 Filter 功能,可以輸入關鍵字來快速篩選出 URL

 

(2)HTTP & HTTPS抓包(網頁)

抓取 Http 和 Https 的請求和響應。
1.http:

啓動後,將 Charles 設置成系統代理,選擇菜單中的 “Proxy” –> “macOS Proxy” 將 Charles 設置成系統代理。


通過瀏覽器請求的網址都會出現在這裏。點擊具體的請求後出現request和response等信息。
2.https:

如果是https請求出現的是亂碼,這時候你就需要安裝Charles的CA證書了,點擊 Charles 的菜單,選擇 “Help”-> “SSL Proxying”-> “Install Charles Root Certificate”,

然後在鑰匙串中搜索charles,默認該證書是不被信任的,在該證書上右鍵->”顯示簡介”或雙擊證書,點擊信任欄,手動改爲始終信任。 

Charles設置Proxy
Proxy -> SSL Proxying Settings
勾選Enable SSL Proxying,點擊Add

注意:
(1)未設置前https的標識都有<unknown>
(2)Host設置,不知道具體的API地址,可設置爲" * ", 代表所有。
(3)Port設置,設置時Port默認都是443。

(3)手機抓包

可以抓手機端訪問的資源。
Charles 設置:
要截取 手機網絡請求,首先需要將 Charles 的代理功能打開。在 Charles 的菜單欄上選擇 “Proxy”–>“Proxy Settings”,填入代理端口 8888,並且勾上 “Enable transparent HTTP proxying” 就完成在 Charles 上的設置。

 

iOS手機:
在 iPhone 的 “ 設置 ”–>“ 無線局域網 ” 中,找到當前連接的 wifi 名,點擊右邊的詳情鍵,在其最底部有「HTTP 代理」一項,將其切換成手動,填上 Charles 運行所在的電腦的 IP,以及端口號 8888。

Android 手機:
“設置”->”WLAN”,選擇與電腦相同的WiFi,勾選”顯示高級選項”,並將代理設置爲手動。然後填上 電腦的 IP,以及端口號 8888

如果要在 iOS 或 Android 機器上截取 Https 協議的通訊內容,還需要在手機上安裝相應的證書。點擊 Charles 的頂部菜單,選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然後就可以看到 Charles 彈出的簡單的安裝教程。

 

 

然後手機訪問網站時會有彈窗,點擊Allow

(4)修改網絡請求參數

網絡請求的截獲和動態修改。
了調試服務器的接口,需反覆嘗試不同參數的網絡請求。Charles 可以方便地提供網絡請求的修改和重發功能。選中以往的網絡請求,工具欄中點擊 “Edit”,即可創建一個可編輯的網絡請求。

(5)模擬慢速網絡

支持模擬慢速網絡,主要是模仿手機上的2G/3G/4G的訪問流程。

 

在測試時想要模擬網絡慢的情況,在Proxy->Throttle Setting,然後選擇Enable Throttling,在Throttle Preset下選擇網絡類型即可。


“Only for selected hosts” 項代表:模擬指定網站的慢速網絡。

(6)設置斷點

在Charles發起一個請求的時候,可以給某個請求打一個斷點,來觀察或者修改請求或者返回的內容。只需要在請求網址右擊選擇Breakpoints,然後點擊斷點按鈕。

(7)服務器壓力測試

使用 Charles 的 Repeat 功能來簡單地測試服務器的併發處理能力,在打壓的網絡請求上(POST 或 GET 請求均可)右擊,然後選擇 「Repeat Advanced」菜單項,選擇打壓的併發線程數以及打壓次數,即可開始打壓。

(8)過濾

在 Charles 的菜單欄選擇 Proxy->Recording Settings,然後選擇 Include 欄,選擇Add,然後填入需要監控的協議,主機地址,端口號,進行過濾。

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