前言
Charles
是一款代理服務器,通過過將自己設置成系統(電腦或者瀏覽器)的網絡訪問代理服務器,然後截取請求和請求結果達到分析抓包的目的。
其功能與Fiddler非常相似,個人覺得Charles
更簡潔。
安裝和破解
安裝
進入官網下載地址:http://www.charlesproxy.com/,點擊鏈接下載30天免費試用版本。
Charles
是收費軟件,可以免費試用 30 天。試用期過後,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過 30 分鐘,並且啓動時將會有 10 秒種的延時。
破解
-
打開
Charles
應用,在工作欄Help
下,點擊Rejistered to
-
輸入以下:
Registered Name
:https://zhile.io
License Key
:48891cf209c6d32bf4
-
重啓應用就
OK
了
使用
連接
1. 電腦端連接
由於charles
會自動配置瀏覽器和工具的代理設置,所以說打開工具直接就已經是抓包狀態了。直接打開網頁就可以了。
Charles
支持抓去http
、https
協議的請求,不支持socket
。- 防火牆關掉
2.手機端連接
將手機和電腦設置在一個局域網內,不一定非要是一個ip
段,只要是同一個路由器下就可以了。
-
首先獲取當前電腦的
ip
地址。獲取當前電腦的
ip
地址的方法有很多,這裏使用Charlse
自帶的獲取ip
地址功能。
-
然後在手機端的
WIFI
代理設置那裏去進行相關的配置設置。這裏的代理服務器地址填寫爲電腦的
ip
地址,然後端口這裏寫8888
(這個是charles
的默認設置),如果自己修改了就寫成自己所修改的端口就可以了。配置完成,會看到一個
charles
與手機端的連接提示彈窗,選擇allow
即可。 -
手機端抓包https
上述1、2步驟,只針對http
請求。由於https
協議的特殊性,所以要求電腦端和手機端都需要安裝下證書,否則會看到返回的數據都是亂碼。
- 電腦端證書下載
- 手機端證書下載
在設備上打開這個網址 http://www.charlesproxy.com/getssl(用手機瀏覽器打開時有可能不會自動下載,可以改爲用PC端瀏覽器打開) 安裝 Charles SSL
證書。
注意,同一個手機對應不同電腦上的Charles
都要分別下載證書進行認證,因爲手機的證書是和電腦端的Charles
一一配對的。
如果是ios手機,需要信任該證書
- 相關配置
選擇Proxy
| Proxy Settings
,彈出proxy設置選項卡,勾選Enable SSL Proxying
,在Location部份選擇add
,按如下圖添加,抓取任意站點、443
端口的數據。
問題
如何捕獲本地localhost
數據
產生原因
Charles
有個讓人頭疼的問題,就是不能直接捕獲localhost
或127.0.0.1
的http
請求。
解決方法
將localhost
或127.0.0.1
替換爲localhost.charlesproxy.com
例如:
http://localhost:8080 或 http://127.0.0.1:8080
替換爲
http://localhost.charlesproxy.com:8080
注:端口號記得要一樣