本篇內(nèi)容介紹了“charles工具的使用方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)服務(wù)項目包括魏都網(wǎng)站建設(shè)、魏都網(wǎng)站制作、魏都網(wǎng)頁制作以及魏都網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,魏都網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到魏都省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
好多人把它叫做抓包工具,好像也沒什么不對。但官方把它定義為一個代理(Proxy)。我們看看官方是怎么說的:
Charles是一個HTTP代理(或HTTP監(jiān)視器,或反向代理),可以讓開發(fā)者觀察到他們的機器和互聯(lián)網(wǎng)之間的所有HTTP和SSL/HTTPS流量。這包括請求,響應(yīng)和HTTP標(biāo)頭(包含cookie和緩存信息)。
Charles 使用Java開發(fā),支持Windows、macOS、Linux操作系統(tǒng):
并且,讓W(xué)indows和macOS用戶有福的是,它支持系統(tǒng)代理設(shè)置,也就是用它設(shè)置為系統(tǒng)代理,就不用再去設(shè)置瀏覽器代理了。老猿我就比較悲催了,用Ubuntu就沒這個福利了,啟動Charles后還有設(shè)置Chrome的代理。好在我用SwitchyOmega(你懂的),新增一個代理指向Charles也不是什么難事兒。
我們?nèi)?
官網(wǎng)下載
一個免費試用版,有30天的試用期,不過每次運行半小時就不能使用了,需要重新運行charles。
選擇適合你的系統(tǒng)的版本下載安裝即可。安裝過程是傻瓜式的,一路點下一步即可。
以Windows為例(macOS類似)
運行Charles,在Windows系統(tǒng)下,已經(jīng)默認(rèn)設(shè)置為系統(tǒng)代理,可以在左邊欄看到已經(jīng)記錄的http請求(如果有請求的話)。點擊菜單“Proxy”可以看到默認(rèn)的系統(tǒng)設(shè)置。如下圖所示:
圖中綠色方框就是已經(jīng)選中Windows Proxy(系統(tǒng)代理),橙色框中便是它記錄的http請求。點擊紅框中的“Proxy Settings…”菜單,可以修改代理端口,默認(rèn)的是8888:
Windows下的Chrome瀏覽器默認(rèn)使用系統(tǒng)代理,這時候你用Chrome打開網(wǎng)頁就可以看到Charles記錄的請求了。
Ubuntu(Linux)下配置Chrome瀏覽器
Ubuntu下就沒有前面圖中類似綠色框中的”Linux Proxy”可以選擇,我們需要自己去Chrome瀏覽器設(shè)置代理,然而Chrome是使用系統(tǒng)代理的。于是,我們有兩種選擇來設(shè)置Chrome使用Charles的代理:
(1) 去系統(tǒng)設(shè)置里面把系統(tǒng)代理設(shè)置成Charles的8888端口
打開 System Settings -> Network,選擇 Network proxy,如圖所示:
(2)像老猿我這樣使用SwitchyOmega插件
打開插件的配置頁面,點擊左側(cè)的New profile按鈕,填寫名稱并創(chuàng)建:
填寫代理的地址為 127.0.0.1,端口為8888 :
填寫后,左側(cè)的 Apply changes 按鈕變成綠色,點擊它保存配置。
以后需要使用Charles和Chrome分析網(wǎng)站時,只需選擇SwitchyOmega 的這個代理即可。
Ubuntu(Linux)下配置Firefox瀏覽器
打開 Firefox 的 Preference -> General -> Network Settings 進行代理配置:
看上圖,同樣對于Firefox 也有兩種使用代理的方式:
Use system proxy settings : 使用系統(tǒng)代理
Manual proxy configuration : 手動設(shè)置代理
上面的配置,是針對HTTP的,也就是非加密的請求的設(shè)置,但是現(xiàn)在的網(wǎng)絡(luò)環(huán)境是加密傳輸(HTTPS)已經(jīng)相當(dāng)普及,所以我們要對SSL/HTTPS 做相應(yīng)的配置,讓Charles也能捕獲并解析HTTPS傳輸。
如果不配置的話,捕獲到的HTTPS內(nèi)容會是亂碼,如圖:
我們可以看到,凡是HTTPS傳輸?shù)模际?,右邊的?nèi)容也是很多亂碼。
大家應(yīng)該已經(jīng)知道了,HTTPS加密傳輸靠的是CA證書,配置Charles支持HTTPS也就是把Charles自己的CA證書導(dǎo)入到系統(tǒng)或瀏覽器。
(1)啟用并配置 Charles的SSL 代理
點擊菜單 Proxy -> SSL Proxying Settings,選中 “Enable SSL Proxying”,點擊“Add”,Host填寫*(即對所有網(wǎng)站使用代理),Port填寫 443,點擊OK保存即可。如圖:
(2)Windows導(dǎo)入Charles的根證書
點擊菜單 Help -> SSL Proxying -> Install Charles Root Certificate,
會跳出導(dǎo)入證書的窗口,點擊 “安裝證書”,一步一步安裝即可。
這種方式導(dǎo)入的證書只對Windows自帶的IE瀏覽器生效,而對Firefox、Chrome等第三方瀏覽器要自己從瀏覽器導(dǎo)入證書。如果第三方瀏覽器不導(dǎo)入Charles的根證書,訪問HTTPS網(wǎng)站時,就會是這樣的:
同樣的,在macOS系統(tǒng)下用這種方式導(dǎo)入的證書只對macOS自帶的Safari瀏覽器生效。
(3)Chrome導(dǎo)入Charles的根證書
Charles證書的獲得有兩種方式:
一種是從軟件里面Save為文件,點擊菜單 Help -> SSL Proxying -> Save Charles Root Certificate… 保存為文件。
另一種方法是,Chrome啟用Charles代理,訪問 chls.pro/ssl 即可下載證書。
得到證書文件后,通過 菜單: 設(shè)置->高級-> 管理證書 打開證書管理窗口,點擊“受信任的根證書頒發(fā)機構(gòu)”,再點擊“導(dǎo)入…”按鈕,選擇剛才得到的證書導(dǎo)入即可,如圖:
導(dǎo)入證書成功后,記得要重啟Chrome瀏覽器,讓證書生效。
這樣,Charles就可以解密Chrome的HTTPS傳輸了。Firefox導(dǎo)入證書的方法類似,就不再詳述。使用Firefox的小猿們可以自己試試看。
“charles工具的使用方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!