Charles安裝與簡單使用

Charles簡介

Charles 是在 Mac/PC下常用的網絡封包截取工具,在做移動開發時,我們爲了調試與服務器端的網絡通訊協議,常常需要截取網絡封包來分析。

Charles 通過將自己設置成系統的網絡訪問代理服務器,使得所有的網絡訪問請求都通過它來完成,從而實現了網絡封包的截取和分析。除了在做移動開發中調試端口外,Charles 也可以用於分析第三方應用的通訊協議。配合 Charles 的 SSL 功能,Charles 還可以分析 Https 協議。

Charles 是收費軟件,可以免費試用30天。試用期過後,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過 30 分鐘,並且啓動時將會有 10秒種的延時。但是網上有破解辦法,下文安裝部分會提供教程。

  • Charles主要功能
    • 截取 Http 和 Https 網絡封包。
    • 支持重發網絡請求,方便後端調試
    • 支持修改網絡請求參數
    • 支持網絡請求的截獲並動態修改
    • 支持模擬慢速網絡

Charles安裝

Charles官網最新版是4.1.3,破解不了,目前能破解4.1.2,4.1.2版本的windows64位在我百度雲盤百度雲盤下載鏈接可以下載,或者在網上找4.1.2版本,官網上好像不提供下載了,本文以Windows系統爲例來講解安裝過程。

下載完軟件,一步一步根據指引來安裝,這就不講了。安裝完成後來講講破解,先下載破解工具,百度雲盤下載鏈接 ,提取密碼:pav7。

這裏寫圖片描述
裏面包含了windows32、windows64、和mac系統三種版本的破解工具。下載完了,解壓zip文件得到charles.jar文件,將這個文件複製到Charles安裝目錄下/jre/lib目錄下,在我的電腦上路徑是這樣的D:\Program Files\Charles\lib,覆蓋這個目錄下的charles.jar文件。

然後打開Charles,點擊”Help”->”About Charles”,會彈出一個框,下面出現”Registered to: 破解 By 小宇殿下”字樣,這就說明破解成功了,不會使用30分鐘就自動關閉了。

這裏寫圖片描述

Charles簡單使用

手機連接代理

打開Charles,點擊菜單”Proxy”->”Windows Proxy”將Charles設置成系統代理,保證Windows系統是有網線連接的,連接WiFi是無法使用Charles抓包的。

這裏寫圖片描述

然後就是手機上連接代理,下面以Android手機爲例介紹一下過程。打開Android手機”設置”->”WLAN”,連接上WIFI,然後長按你連接的WIFI(不同手機可能操作不同),彈出一個操作菜單,選擇”管理網絡設置”,勾選”選擇高級選項”,點擊”代理服務器”下面的選擇框,選擇”手動”。

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

然後有兩個地方需要填:一個是”代理主機名”, 就是你電腦的ip地址,可以通過命令行ipconfig獲取到,也可以打開Charles,點擊菜單”Help”->”Local IP Address”, 彈出一個框來,選擇第一行的IP地址,即手機上要填的代理主機名;

這裏寫圖片描述
這裏寫圖片描述

另一個是代理服務器端口號,Charles默認是8888端口,這個端口號在Charles上可以找到,點擊Charles菜單”Proxy”->”Proxy Settings”->”Proxies”, HTTP Proxy下面的Port就是要填的端口號。
配置好了點擊保存,然後纔會生效,再就是打開Charles,手機開始請求網絡,這時候Charles會彈出一個確認框,讓你授權開始抓取你手機上的HTTP請求,點擊同意開始抓包。

這裏寫圖片描述

Charles軟件簡單使用

Charles 主要提供兩種查看封包的視圖,分別名爲 “Structure” 和 “Sequence”。
Structure 視圖將網絡請求按訪問的域名分類。Sequence 視圖將網絡請求按訪問的時間排序。

大家可以根據具體的需要在這兩種視圖之前來回切換。請求多了有些時候會看不過來,Charles 提供了一個簡單的 Filter 功能,可以輸入關鍵字來快速篩選出 URL 中帶指定關鍵字的網絡請求。

對於某一個具體的網絡請求,你可以查看其詳細的請求內容和響應內容。如果請求內容是 POST 的表單,Charles 會自動幫你將表單進行分項顯示。如果響應內容是 JSON 格式的,那麼 Charles 可以自動幫你將 JSON 內容格式化,方便你查看。如果響應內容是圖片,那麼 Charles 可以顯示出圖片的預覽。

這裏寫圖片描述

截取Https通訊信息

現在https逐漸風行起來了,由於大公司推廣https,很多app網絡請求都換成https的,要抓取app的網絡請求就複雜一些了,如果不設置的話,抓到的請求數據都是亂碼的。

要抓取https請求就要安裝Charles的CA證書,首先在電腦上安裝證書,點擊Charles菜單”Help”->”SSL Proxy”->”Install Charles Root Certificate”, 會彈出一個框來,點擊”安裝證書”,然後點確定,證書就安裝好了。如果你要抓取某條https請求,點擊改https請求,右擊,選擇”Enable SSL Proxy”,然後這個host下的所有請求都可以抓到了。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述
其次要在手機上安裝證書,點擊Charles菜單”Help”->”SSL Proxy”->”Install Charles Root Certificate on a Mobile Device or Remote Browser”, 然後會彈出一個框來,是手機安裝證書的簡單教程,手機瀏覽器中訪問地址:http://chls.pro/ssl,即可打開證書安裝的界面,安裝完證書後,就可以截取手機上的 Https 通訊內容了。不過同樣需要注意,默認情況下 Charles 並不做截取,你還需要在要截取的網絡請求上右擊,選擇 SSL proxy 菜單項。

這裏寫圖片描述

這裏寫圖片描述

總結

好了,介紹了Charles的安裝和基本使用,要抓包這些基本上夠用了,當然Charles還有很多高級功能,進階使用下次再寫。非常感謝唐巧的博客,參考鏈接

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