使用Charles抓https請求,這里需要設(shè)置連接端即瀏覽器或應(yīng)用程序和Charles端,才能完成SSL Proxying的設(shè)置。
SSL 證書
連接端需要先安裝Charles證書,以下介紹了如何在不同的瀏覽器或應(yīng)用程序上信任Charles根證書
Windows/Internet Explorer
操作:
1、Charles-》Help-》SSL Proxying > Install Charles Root Certificate,會彈出一個窗口警告你沒有信任CA Root Certificate
2、點擊"Install Certificate” 按鈕,加載導(dǎo)入證書的向?qū)?,這個證書必須要被導(dǎo)入到"Trusted Root Certification Authorities” 證書存儲中,所以會覆蓋當(dāng)前自動證書存儲的內(nèi)容
3、證書安裝完成后,需要重啟IE才能生效
Mozilla Firefox
首選要確保firefox已連接到charles
檢查的方法:
在firefox中訪問鏈接,能夠在charles中查看到firefox中的請求信息
firefox中安裝Chalres根證書操作如下:
1、使用firefox訪問:https://chls.pro/ssl
這時firefox會彈出提示:

圖1
2、點擊確認(rèn)安全例外,接下來會彈出如下窗口,勾選“信任由此證書頒發(fā)機構(gòu)標(biāo)識的網(wǎng)站”

圖2
3、點擊確定,證書即安裝并信任成功
macOS
操作:
1、Charles-》Help-》SSL Proxying > Install Charles Root Certificate
2、會打開鑰匙串,在鑰匙串中找到“Charles Proxy...”,雙擊打開
3、在信任選項里,使用此證書時:選擇“始終信任”,如下

圖3
4、設(shè)置成功后關(guān)閉窗口時,會要求輸入當(dāng)前管理員密碼來確認(rèn)修改
5、重新啟動safari,查看設(shè)置是否成功
iOS devices
1、首先要設(shè)置手機的wifi代理到Charles上
設(shè)置-》無線局域網(wǎng)-》當(dāng)前連接的wifi,設(shè)置手動http代理
服務(wù)器為要Charles所在的電腦ip,Charles端口號默認(rèn)是8888

圖4
2、在手機端打開safari,輸入: https://chls.pro/ssl,safari會提示你安裝證書,安裝完成如下

圖5
3、如果是在iOS 10.3及以上系統(tǒng)版本,需要在通用>關(guān)于手機>證書信任設(shè)置中找到Charles證書,打開信任開關(guān),更多信息可以參考官網(wǎng)文檔(More information about this change in iOS 10).
ps:
描述文件與設(shè)備管理在iOS設(shè)置中的路徑:設(shè)置-》通用-》描述文件
iOS Simulators
在iOS模擬器上安裝Charles證書,首先先退出模擬器
1、打開Charles,點擊Charles-》Help-》SSL Proxying > Install Charles Root Certificate in iOS Simulators,即會安裝Charles根證書到你所有的iOS模擬器上
2、再次啟動iOS模擬器時,就可以正常使用SSL Proxying
tvOS
這個用的比較少,這里就不多做描述,想要了解的可以直接看官網(wǎng)文檔
Android
在Android內(nèi),要信任Charles SSL Proxying生成的 SSL 證書,需要在你的app內(nèi)添加一些配置,也就是說你只能在自己的app內(nèi)使用SSL Proxying。
關(guān)于網(wǎng)絡(luò)安全配置詳細(xì)的可見android官網(wǎng)文檔
要添加的這個文件會覆蓋系統(tǒng)默認(rèn)的,能夠使你的app信任已安裝的CA
certificates(如 Charles根證書)??梢灾粚⑦@個設(shè)置應(yīng)用于debug包,以便宜生產(chǎn)包使用默認(rèn)的信任配置
1、在你的app中添加文件res/xml/network_security_config.xml:
network-security-config>
debug-overrides>
trust-anchors>
!-- Trust user added CAs while debuggable only -->
certificates src="user" />
/trust-anchors>
/debug-overrides>
/network-security-config>
2、在manifest中添加一個reference:
?xml version="1.0" encoding="utf-8"?>
manifest ... >
applicationandroid:networkSecurityConfig="@xml/network_security_config" ... >
...
/application>
/manifest>
Google Chrome
在macOS中,參考上面macOS的說明。下面只適用于Windows
1、Charles-》Help-》SSL Proxying > Save Charles Root Certificate,保存為一個二進(jìn)制文件(.cer后綴)到本地
2、在Chrome中,打開設(shè)置頁,在設(shè)置頁底部點擊“高級”按鈕打開高級選項,點擊“管理證書”按鈕
3、打開信任根證書tab,點擊導(dǎo)入步驟1中保存的證書,根據(jù)提示導(dǎo)入,直到導(dǎo)入成功
4、導(dǎo)入成功后,步驟1中的證書文件就可以刪除了
Java Applications
這個用的比較少,這里就不多做描述,想要了解的可以直接看官網(wǎng)文檔
Python
這個用的比較少,這里就不多做描述,想要了解的可以直接看官網(wǎng)文檔
抓取https請求Charles設(shè)置
上面安裝好Charles根證書后,還需要在Charles中設(shè)置SSL Proxy才能正常抓取https的請求
1、點擊Charles-》Proxy-》SSL Proxying Settings...

圖6
2、在SSL Proxying Settings頁中SSL Proxying項中,點擊Add,添加一個全匹配的域名和端口號:*:443,并勾選“Enable SSL Proxying”,點擊OK保存

圖7
3、保存成功后,在上述瀏覽器或應(yīng)用程序中即可正常抓取https請求
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Python爬取微信小程序Charles實現(xiàn)過程圖解
- Python Charles抓包配置實現(xiàn)流程圖解
- windows上利用charles抓取微信小程序數(shù)據(jù)包,手機APP數(shù)據(jù)包(HTTP與HTTPS數(shù)據(jù)包)
- MAC系統(tǒng)利用charles抓取微信小程序和手機APP數(shù)據(jù)包(http和https數(shù)據(jù)包)
- 解決Charles抓包https時,無法查看CONNECT請求的問題
- Mac下使用charles遇到的問題以及解決辦法
- Mac Charles抓包工具詳細(xì)介紹