1. 程式人生 > >Charles抓包之HTTPS抓包配置

Charles抓包之HTTPS抓包配置

char 警告 剛才 有時 port 沒有 機構 需要 ron

訪問我的博客

前言

由於工作中經常需要配置客戶端開發人員對接接口,有時候對接地不太順利,因此需要經常性地對公司 APP 進行抓包看請求,找出具體的原因。

在公司中開發使用的 Windows 臺式電腦,抓包工具選擇了 Fiddler,這個工具剛開始學會抓包的時候,覺得真乃神器!在經過幾次開發電腦升級之後,重新安裝 Fiddler 後,和之前的設置相同,但是死活抓不了包,或者抓不了 Https 的包, 總之總會出現各種奇怪的問題,如果出了問題,簡直讓人抓狂!

去年年底,給自己換了一臺 MBP,日常學習中也需要用到抓包,為了和公司中的工具保持一致,想下載 Fiddler 的 Mac 版,結果並沒有。於是下載了 Charles (花瓶),用了花瓶之後,發現其比 Fiddler 更加好用~

在一次受夠了 Fiddler 的莫名其妙地抓不了 Https,怒卸載之,尋尋覓覓,找到了 Win 版的 Charles ??(之前還以為沒有 Win 版呢),經過簡單配置,開始了愉快的抓包~

抓包準備之 Charles 下載以及激活

Charles 軟件下載

下載安裝完,在開始菜單中找到 Charles 打開,提示有 30 天的試用期。如果 30 天到期的話,可以選擇購買一個 license ,30 刀。如果不想買,可以參考此文繼續試用,Charles Proxy使用筆記(文內有好禮)。選擇 Help-Registered 填入 license 即可激活。

抓包準備之 Charles 配置 HTTPS 抓包基礎配置

如今 Https 大行其道,蘋果更是強制要求 APP 通信必須要使用 Https 協議,如果只是抓普通的 HTTP 請求,無需復雜配置即可抓包,這也表明了 HTTP 的安全性很低。

Charles 默認不對 HTTPS 的請求開啟抓包,所以,需要先開啟所有 HTTPS 請求的抓包。

進入菜單 Proxy-SSL Proxying Settings
選擇開啟 SSL Proxy,並 Add 一條 Location 記錄,Host 填寫 *,代表匹配所有網址,端口 Port,填寫443,即 HTTPS 端口。 選擇保存。

技術分享圖片

基礎配置到此就完成了,以下本文按照兩方面來描述,Charles 抓 HTTPS。

Charles 抓 Windows 上的 HTTPS 請求

進入 Help 中,選擇 SSL Proxying 設置,安裝根證書

技術分享圖片

技術分享圖片

註意這一步一定要將證書存儲到 受信任的根證書頒發機構,否則抓包 HTTPS 會提示證書不受信任!!!嗯,搞了好久,血一般的教訓!

技術分享圖片

安裝期間會有安全警告,選擇是即可。

技術分享圖片

訪問 https://www.baidu.com後,查看 Charles,已經可以看到 Https 請求下的數據了。

技術分享圖片

Charles 抓 APP 的 HTTPS 請求

想要 Charles 抓 HTTPS 的數據包,需要設置代理並安裝 Charles 的中間 SSL 證書。

選擇 Help-SSL Proxying

技術分享圖片

點擊會彈出對話框如下

技術分享圖片

按照提示,將手機連入電腦同一個網絡,WIFI 處設置代理,代理的地址以及端口按照對話框中進行設置。

技術分享圖片

設置成功返回之後,此時電腦上 Charles 會自動彈出提醒,提示是否允許請求代理通過,選擇 Allow 允許即可。

技術分享圖片

連上代理之後,使用系統自帶瀏覽器( iPhone 使用 Safari)訪問地址 chls.pro/ssl,如果是 iPhone 會自動彈出安裝描述文件,選擇安裝輸入密碼後無視警告安裝即可。安卓手機進入會彈出安裝證書頁面,類型選擇 WLAN,證書名稱隨意填寫(小米手機不會彈出安裝證書頁面,而是將證書下載到根目錄的 Downloads 下,進入小米手機設置-更多設置-系統安全->從存儲設備安裝,找到剛才下載的證書進行安裝即可)。

手機訪問 https://m.baidu.com,查看 Charles ,發現此時已經可以拿到 HTTPS 數據內容了,如果沒設置成功,裏面都將會是 unknown。

技術分享圖片

常見問題

  1. 開啟 SSL Proxy 代理後,提示證書不受信任或者無效,PC 端一般都是因為證書放錯了位置。
  2. 在 IOS11上測試時,抓包顯示unknown 需要進入通用-關於本機-證書信任設置,將新增的證書進行開啟操作。

    技術分享圖片

最後說幾句

善用搜索引擎,因為你遇到的問題肯定有別人都遇到過了,如果你搜不到,肯定是你的搜索姿勢不對~

實在有問題解決不了,可以找我喲!

給我寫信

Charles抓包之HTTPS抓包配置