基于charles抓取https請(qǐng)求使用過程解析
使用Charles抓https請(qǐng)求,這里需要設(shè)置連接端即瀏覽器或應(yīng)用程序和Charles端,才能完成SSL Proxying的設(shè)置。
SSL 證書
連接端需要先安裝Charles證書,以下介紹了如何在不同的瀏覽器或應(yīng)用程序上信任Charles根證書
Windows/Internet Explorer
操作:
1、Charles-》Help-》SSL Proxying > Install Charles Root Certificate,會(huì)彈出一個(gè)窗口警告你沒有信任CA Root Certificate
2、點(diǎn)擊"Install Certificate” 按鈕,加載導(dǎo)入證書的向?qū)?,這個(gè)證書必須要被導(dǎo)入到"Trusted Root Certification Authorities” 證書存儲(chǔ)中,所以會(huì)覆蓋當(dāng)前自動(dòng)證書存儲(chǔ)的內(nèi)容
3、證書安裝完成后,需要重啟IE才能生效
Mozilla Firefox
首選要確保firefox已連接到charles
檢查的方法:
在firefox中訪問鏈接,能夠在charles中查看到firefox中的請(qǐng)求信息
firefox中安裝Chalres根證書操作如下:
1、使用firefox訪問:https://chls.pro/ssl
這時(shí)firefox會(huì)彈出提示:
圖1
2、點(diǎn)擊確認(rèn)安全例外,接下來會(huì)彈出如下窗口,勾選“信任由此證書頒發(fā)機(jī)構(gòu)標(biāo)識(shí)的網(wǎng)站”
圖2
3、點(diǎn)擊確定,證書即安裝并信任成功
macOS
操作:
1、Charles-》Help-》SSL Proxying > Install Charles Root Certificate
2、會(huì)打開鑰匙串,在鑰匙串中找到“Charles Proxy...”,雙擊打開
3、在信任選項(xiàng)里,使用此證書時(shí):選擇“始終信任”,如下
圖3
4、設(shè)置成功后關(guān)閉窗口時(shí),會(huì)要求輸入當(dāng)前管理員密碼來確認(rèn)修改
5、重新啟動(dòng)safari,查看設(shè)置是否成功
iOS devices
1、首先要設(shè)置手機(jī)的wifi代理到Charles上
設(shè)置-》無(wú)線局域網(wǎng)-》當(dāng)前連接的wifi,設(shè)置手動(dòng)http代理
服務(wù)器為要Charles所在的電腦ip,Charles端口號(hào)默認(rèn)是8888
圖4
2、在手機(jī)端打開safari,輸入: https://chls.pro/ssl,safari會(huì)提示你安裝證書,安裝完成如下
圖5
3、如果是在iOS 10.3及以上系統(tǒng)版本,需要在通用>關(guān)于手機(jī)>證書信任設(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,點(diǎn)擊Charles-》Help-》SSL Proxying > Install Charles Root Certificate in iOS Simulators,即會(huì)安裝Charles根證書到你所有的iOS模擬器上
2、再次啟動(dòng)iOS模擬器時(shí),就可以正常使用SSL Proxying
tvOS
這個(gè)用的比較少,這里就不多做描述,想要了解的可以直接看官網(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)文檔
要添加的這個(gè)文件會(huì)覆蓋系統(tǒng)默認(rèn)的,能夠使你的app信任已安裝的CA
certificates(如 Charles根證書)??梢灾粚⑦@個(gè)設(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中添加一個(gè)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,保存為一個(gè)二進(jìn)制文件(.cer后綴)到本地
2、在Chrome中,打開設(shè)置頁(yè),在設(shè)置頁(yè)底部點(diǎn)擊“高級(jí)”按鈕打開高級(jí)選項(xiàng),點(diǎn)擊“管理證書”按鈕
3、打開信任根證書tab,點(diǎn)擊導(dǎo)入步驟1中保存的證書,根據(jù)提示導(dǎo)入,直到導(dǎo)入成功
4、導(dǎo)入成功后,步驟1中的證書文件就可以刪除了
Java Applications
這個(gè)用的比較少,這里就不多做描述,想要了解的可以直接看官網(wǎng)文檔
Python
這個(gè)用的比較少,這里就不多做描述,想要了解的可以直接看官網(wǎng)文檔
抓取https請(qǐng)求Charles設(shè)置
上面安裝好Charles根證書后,還需要在Charles中設(shè)置SSL Proxy才能正常抓取https的請(qǐng)求
1、點(diǎn)擊Charles-》Proxy-》SSL Proxying Settings...
圖6
2、在SSL Proxying Settings頁(yè)中SSL Proxying項(xiàng)中,點(diǎn)擊Add,添加一個(gè)全匹配的域名和端口號(hào):*:443,并勾選“Enable SSL Proxying”,點(diǎn)擊OK保存
圖7
3、保存成功后,在上述瀏覽器或應(yīng)用程序中即可正常抓取https請(qǐng)求
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python爬取微信小程序Charles實(shí)現(xiàn)過程圖解
- Python Charles抓包配置實(shí)現(xiàn)流程圖解
- windows上利用charles抓取微信小程序數(shù)據(jù)包,手機(jī)APP數(shù)據(jù)包(HTTP與HTTPS數(shù)據(jù)包)
- MAC系統(tǒng)利用charles抓取微信小程序和手機(jī)APP數(shù)據(jù)包(http和https數(shù)據(jù)包)
- 解決Charles抓包https時(shí),無(wú)法查看CONNECT請(qǐng)求的問題
- Mac下使用charles遇到的問題以及解決辦法
- Mac Charles抓包工具詳細(xì)介紹
相關(guān)文章
perl寫的一個(gè)隨機(jī)編故事的程序(rand隨機(jī)函數(shù))
用perl寫的一個(gè)隨機(jī)編故事的程序,用到了rand隨機(jī)函數(shù),注釋也很詳細(xì),需要的朋友可以參考下2013-03-03perl運(yùn)算符使用介紹與簡(jiǎn)單應(yīng)用
本文向大家簡(jiǎn)單介紹一下Perl語(yǔ)法中Perl運(yùn)算符的概念,Perl語(yǔ)言中Perl運(yùn)算符有很多值得學(xué)習(xí)的地方,這里和大家分享一下它的概念和用法2013-03-03