1. 程式人生 > >charles支持https抓包配置

charles支持https抓包配置

alt port 都是 手機瀏覽器 安裝完成 數據 基礎上 export tex

自從公司站點全部啟用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抓包配置