charles支持https抓包配置
自從公司站點全部啟用https後,使用charles就不能像以前那樣愉快的抓包啦!不過沒關系,這裏教你怎麽配置charles,使其支持https抓包。之前有一篇介紹charles的使用,參考這篇:http://www.cnblogs.com/zourong/p/4766577.html
原理分析
HTTPS(Hyper Text Transfer Protocol Secure),是一種基於SSL/TLS的HTTP,所有的HTTP數據都是在SSL/TLS協議封裝之上進行傳輸的。HTTPS協議是在HTTP協議的基礎上,添加了SSL/TLS握手以及數據加密傳輸,也屬於應用層協議。所以,研究HTTPS協議原理,最終就是研究SSL/TLS協議。
盜用網上的圖,大致流程如下:
charles抓包原理:
1. 如果是http請求,charles可以直接代理抓到所有的請求數據。
2. 如果是https請求,charles則會截獲真實客戶端的https請求,偽裝成客戶端向真實服務器發送https請求。收到真實服務器的響應後,charles用自己的證書偽裝成服務器向真實客戶端發送數據內容。簡而言之,charles對客戶端偽裝成服務端,對服務端偽裝成客戶端。
這裏只分析客戶端對服務端做證書校驗的情況。將私有CA簽發的數字證書安裝到手機上,並作為受信任證書保存,這是推薦的方式。
安裝步驟
第一步:下載破解版的charles
下載鏈接:https://pan.baidu.com/s/1gf4HPbd
第二步:charles安裝證書
打開charles,步驟如下圖:
安裝完成後Keychain Access(鑰匙訪問串)被打開,可以查看證書是否安裝好。如下圖:
如果證書不被信任,則添加到信任證書列表裏。操作如下圖:
第三步:給手機安裝證書
打開charles,安裝如下圖:
此時會出現彈窗,如下圖:
手機安裝證書有兩種操作。
操作1:按上面截圖提示,手機瀏覽器訪問 chls.pro/ssl 下載安裝證書。
操作2:打開Charles的HELP->SSL Proxying -> Export Charles Root Certification and Private Key,隨便輸個密碼,密碼要記住。然後導出保存到電腦上,再傳到手機裏,打開手機的 “WLAN” “高級設置”,在“安裝證書”裏打開這個證書文件,輸入剛才的密碼,就可以了。
我的手機是華為機,用的第二種方法解決的。
參考鏈接:https://www.jianshu.com/p/870451cb4eb0
charles支持https抓包配置