基于charles抓取https請求使用過程解析
使用Charles抓https請求,這里需要設置連接端即瀏覽器或應用程序和Charles端,才能完成SSL Proxying的設置。
SSL 證書
連接端需要先安裝Charles證書,以下介紹了如何在不同的瀏覽器或應用程序上信任Charles根證書
Windows/Internet Explorer
操作:
1、Charles-》Help-》SSL Proxying > Install Charles Root Certificate,會彈出一個窗口警告你沒有信任CA Root Certificate
2、點擊"Install Certificate” 按鈕,加載導入證書的向導,這個證書必須要被導入到"Trusted Root Certification Authorities” 證書存儲中,所以會覆蓋當前自動證書存儲的內容
3、證書安裝完成后,需要重啟IE才能生效
Mozilla Firefox
首選要確保firefox已連接到charles
檢查的方法:
在firefox中訪問鏈接,能夠在charles中查看到firefox中的請求信息
firefox中安裝Chalres根證書操作如下:
1、使用firefox訪問:https://chls.pro/ssl
這時firefox會彈出提示:
圖1
2、點擊確認安全例外,接下來會彈出如下窗口,勾選“信任由此證書頒發(fā)機構標識的網站”
圖2
3、點擊確定,證書即安裝并信任成功
macOS
操作:
1、Charles-》Help-》SSL Proxying > Install Charles Root Certificate
2、會打開鑰匙串,在鑰匙串中找到“Charles Proxy...”,雙擊打開
3、在信任選項里,使用此證書時:選擇“始終信任”,如下
圖3
4、設置成功后關閉窗口時,會要求輸入當前管理員密碼來確認修改
5、重新啟動safari,查看設置是否成功
iOS devices
1、首先要設置手機的wifi代理到Charles上
設置-》無線局域網-》當前連接的wifi,設置手動http代理
服務器為要Charles所在的電腦ip,Charles端口號默認是8888
圖4
2、在手機端打開safari,輸入: https://chls.pro/ssl,safari會提示你安裝證書,安裝完成如下
圖5
3、如果是在iOS 10.3及以上系統(tǒng)版本,需要在通用>關于手機>證書信任設置中找到Charles證書,打開信任開關,更多信息可以參考官網文檔(More information about this change in iOS 10).
ps:
描述文件與設備管理在iOS設置中的路徑:設置-》通用-》描述文件
iOS Simulators
在iOS模擬器上安裝Charles證書,首先先退出模擬器
1、打開Charles,點擊Charles-》Help-》SSL Proxying > Install Charles Root Certificate in iOS Simulators,即會安裝Charles根證書到你所有的iOS模擬器上
2、再次啟動iOS模擬器時,就可以正常使用SSL Proxying
tvOS
這個用的比較少,這里就不多做描述,想要了解的可以直接看官網文檔
Android
在Android內,要信任Charles SSL Proxying生成的 SSL 證書,需要在你的app內添加一些配置,也就是說你只能在自己的app內使用SSL Proxying。
關于網絡安全配置詳細的可見android官網文檔
要添加的這個文件會覆蓋系統(tǒng)默認的,能夠使你的app信任已安裝的CA
certificates(如 Charles根證書)??梢灾粚⑦@個設置應用于debug包,以便宜生產包使用默認的信任配置
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,保存為一個二進制文件(.cer后綴)到本地
2、在Chrome中,打開設置頁,在設置頁底部點擊“高級”按鈕打開高級選項,點擊“管理證書”按鈕
3、打開信任根證書tab,點擊導入步驟1中保存的證書,根據提示導入,直到導入成功
4、導入成功后,步驟1中的證書文件就可以刪除了
Java Applications
這個用的比較少,這里就不多做描述,想要了解的可以直接看官網文檔
Python
這個用的比較少,這里就不多做描述,想要了解的可以直接看官網文檔
抓取https請求Charles設置
上面安裝好Charles根證書后,還需要在Charles中設置SSL Proxy才能正常抓取https的請求
1、點擊Charles-》Proxy-》SSL Proxying Settings...
圖6
2、在SSL Proxying Settings頁中SSL Proxying項中,點擊Add,添加一個全匹配的域名和端口號:*:443,并勾選“Enable SSL Proxying”,點擊OK保存
圖7
3、保存成功后,在上述瀏覽器或應用程序中即可正常抓取https請求
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。