? ? ? ?網(wǎng)上關(guān)于Charles介紹和安裝的文章特別多,筆者也是搜羅各方大神分享的經(jīng)驗,先了解其原理和作用炒俱,再安裝并實際操作抓取http和https包恐疲,最后得到的感受是,因為這樣厲害的工具的存在闭树,網(wǎng)絡上的消息確實非常不安全,連具有加密功能的https協(xié)議在信息傳輸過程中,通過Charles也可以獲取API的方法基跑,url,請求消息和響應消息描焰。
? ? ? ?該問題發(fā)生前媳否,Charles已經(jīng)安裝和破解成功,相應內(nèi)容可以看文末鏈接荆秦。因為安裝成功后篱竭,Charles已默認配置好http協(xié)議包的抓取,實際操作很順利步绸,初次使用掺逼,很是驚艷!但是當抓取的包是https協(xié)議時瓤介,就不那么好玩了吕喘,每個接口下都是“Unknown”赘那,筆者有點懵~
? ? ? ?研究一番后發(fā)現(xiàn),https抓包需要安裝SSL證書氯质,網(wǎng)上大部分是關(guān)于手機上如何抓取https協(xié)議包募舟,而關(guān)于windows系統(tǒng)下抓取瀏覽器訪問Web應用的https協(xié)議包的配置和操作比較少。于是筆者猜想闻察,手機和瀏覽器抓https的原理應該是一致的拱礁,可以借鑒手機SSL的配置來完成瀏覽器上SSL的配置。OK辕漂,現(xiàn)在進入本篇文章的正題呢灶。
1、電腦安裝SSL證書
通過Charles安裝钉嘹,進入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate 鸯乃,會打開證書,安裝進去隧期,下圖是證書已經(jīng)安裝成功的結(jié)果飒责。
注意:
(1)由于當前版本較高,ssl證書已經(jīng)在電腦上了仆潮,但如果碰到進入相應界面宏蛉,提示“證書不存在”,可以到官網(wǎng)去下載與版本配套的證書
https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/
(2)按照提示步驟一步一步安裝完ssl證書以后性置,返回證書界面拾并,會看到 此根證書不被信任,在證書上右鍵 - 顯示詳情 ,展開信任 選擇 始終信任鹏浅,然后點擊左上角的關(guān)閉,系統(tǒng)會彈出授權(quán)提示框,授權(quán)同意修改,回到列表,稍等,證書就刷新了
(3)在如下界面可以查看Charles證書安裝失敗原因
2嗅义、瀏覽器安裝ssl證書
進入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate on a Mobile Device or Remote Browser,如下圖
彈出如下提示框
根據(jù)提示隐砸,在瀏覽器地址欄輸入“chls.pro/ssl”下載證書
在瀏覽器上安裝證書之碗,以chrome為例
至此,電腦和瀏覽器的證書都安裝成功
3季希、Charles使能https抓包功能
進入Charles - 》 Proxy - 》 SSL Proxying Settings
打開SSL設置界面褪那,將圖上所示復選框選中
點擊“Add”按鈕,在彈出框的 “Host” 和 “Port” 都輸入“*”式塌,最后點擊OK博敬,根據(jù)提示,這樣配置可以抓取所有的https包
到此配置完畢峰尝,再次抓取https報文偏窝,就不會全部都是unknown了
4、Q&A
如此配置后,當Charles在運行時祭往,沒有安裝ssl的證書的瀏覽器訪問Web應用會出現(xiàn)問題
瀏覽器訪問Web應用失敗伦意,可以清晰看到失敗原因為證書認證失敗,而證書機構(gòu)為Charles链沼,解決辦法有兩個默赂,
(1)關(guān)閉Charles
(2)在瀏覽器上安裝ssl證書
最后,貼上一些關(guān)于Charles的原理和安裝的鏈接括勺,大家可以根據(jù)需要瀏覽
charles抓包的安裝,使用說明以及常見問題解決(windows) - CSDN博客