Charles使用詳解

前言:

Charles是在 Mac 下經常使用的網絡封包截取工具,在作移動開發時,咱們爲了調試與服務器端的網絡通信協議,經常須要截取網絡封包來分析。瀏覽器


1、主界面介紹 

 
 
 

2、網頁抓包

啓動 Charles 後,須要將 Charles 設置成系統代理,選擇菜單中的 「Proxy」 –> 「macOS Proxy」 來將 Charles 設置成系統代理。以下所示:服務器

 

這樣你會發現,你經過瀏覽器請求的網址都會出如今這裏。點擊某一個網址後,你會發現右邊會出現這個網址請求的大概信息,點擊具體的請求後會出現request和response等信息。以下圖:
若是是https請求出現的是亂碼,這時候你就須要安裝Charles的CA證書了,首先到去  http://www.charlesproxy.com/ssl.zip 下載CA證書文件。雙擊crt文件,選擇老是信任就能夠了。

3、手機抓包

Charles 上的設置:
要截取 iPhone 上的網絡請求,咱們首先須要將 Charles 的代理功能打開。在 Charles 的菜單欄上選擇 「Proxy」–>「Proxy Settings」,填入代理端口 8888,而且勾上 「Enable transparent HTTP proxying」 就完成了在 Charles 上的設置。以下圖所示:網絡

 
 
iPhone 上的設置:
首先咱們須要獲取 Charles 運行所在電腦的 IP 地址,Charles 的頂部菜單的 「Help」–>「Local IP Address」,便可在彈出的對話框中看到 IP 地址,以下圖所示:
 
在 iPhone 的 「 設置 」–>「 無線局域網 」 中,能夠看到當前鏈接的 wifi 名,經過點擊右邊的詳情鍵,能夠看到當前鏈接上的 wifi 的詳細信息,包括 IP 地址,子網掩碼等信息。在其最底部有「HTTP 代理」一項,咱們將其切換成手動,而後填上 Charles 運行所在的電腦的 IP,以及端口號 8888,以下圖所示:
設置好以後,咱們打開 iPhone 上的任意須要網絡通信的程序,就能夠看到 Charles 彈出 iPhone 請求鏈接的確認菜單,點擊 「Allow」 便可。
固然若是要抓取iPhone設備上的HTTPS請求,須要在iPhone上也安裝一個證書,在手機瀏覽器輸入這個網址: http://charlesproxy.com/getssl ,點擊安裝便可。

4、過濾

在 Charles 的菜單欄選擇 Proxy->Recording Settings,而後選擇 Include 欄,選擇Add,而後填入須要監控的協議,主機地址,端口號,這樣就達到了過濾的目的。以下圖:
 
還有一種方法就是在一個網址上右擊,選擇Focus,而後其餘的請求就會被放到Other Hosts的文件夾裏面,這樣也達到了過濾的目的。
 

5、模擬慢速網絡

有時候在測試的時候咱們想要模擬一下網絡慢的狀況,這時候Charles他是能夠幫助到你的,在Proxy->Throttle Setting,而後選擇Enable Throttling,在Throttle Preset下選擇網絡類型便可,具體設置你能夠自行拿捏。

若是咱們只想模擬指定網站的慢速網絡,能夠再勾選上圖中的 「Only for selected hosts」 項,而後在對話框的下半部分設置中增長指定的 hosts 項便可。併發


6、修改網絡請求

有些時候爲了調試服務器的接口,咱們須要反覆嘗試不一樣參數的網絡請求。Charles 能夠方便地提供網絡請求的修改和重發功能。只須要選中以往的網絡請求,工具欄中點擊 「Edit」,便可建立一個可編輯的網絡請求。以下所示:

7、給服務器作壓力測試

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

咱們在想打壓的網絡請求上(POST 或 GET 請求都可)右擊,而後選擇 「Repeat Advanced」菜單項,以下所示:
接着咱們就能夠在彈出的對話框中,選擇打壓的併發線程數以及打壓次數,肯定以後,便可開始打壓。

8、斷點

在Charles發起一個請求的時候,咱們是能夠給某個請求打一個斷點的,而後來觀察或者修改請求或者返回的內容,可是在這過程當中要注意請求的超時時間。測試

要針對某一個請求設置斷點,只須要在這個請求網址右擊選擇Breakpoints,而後點擊斷點按鈕,就能夠斷點某一個請求了。
 

以上網站

相關文章
相關標籤/搜索