MacOS Charles 抓取Iphone的 https 請求 解決 unknown

1、環境說明

  1. MacOS Sierra 10.12.4
  2. Charles 4.0.1
  3. ios 11.2.2(15C202)
  4. 手機與電腦在同一 WIFI 網絡內

Charles 下載地址ios

2、抓包步驟

  1. Charles 設置代理端口
  2. 手機設置訪問代理
  3. Mac 安裝 Charles 協議證書
  4. 手機 安裝 Charles 協議證書

3、開始抓包

1. Charles 設置代理端口

  • 選擇菜單 Proxy -> Proxy setting...

Charles 抓取iPhone的 https

  • 設置端口,若是無需設置,默認爲8888

2. 手機設置訪問代理

設置前確認網絡

  • iPhone 與 Mac 在同一 WIFI 環境下
  • 網絡是互通的,沒有防火牆阻攔(默認狀況下都是通的,除非局域網防火牆、路由、電腦有設置)

2.1 獲取電腦 IP

2種方法:代理

  • 電腦終端輸入 ifconfig
  • 點擊 Charles菜單, help->Local IP Address

2.2 設置iPhone wifi 代理

設置->無線局域網->您的 WIFIcode

輸入圖片說明

設置好後,iPhone 會連接上 Charles,提示您,有一個連接須要連接到您的代理.....點擊 allow 便可接口

輸入圖片說明

3. Mac 安裝 Charles 協議證書

經過 一、2 步驟,你發現Charles 已經能夠抓取數據了,可是數據包都是 unknow,或者亂碼,這是由於訪問的是https的接口,須要證書信任,因此咱們須要安裝證書圖片

須要安裝以下2個證書:ssl

輸入圖片說明

  1. Charles 菜單 Help->SSL Proxying->Install Charles Root Certificate , 安裝 Charles 的證書。按照步驟添加到信任列表中便可。
  2. 添加代理 443 端口監聽
    • Charles 菜單 Proxy->SSL Proxying Setting
    • 添加 443 端口的監聽,host 爲 「*」(任意地址)

輸入圖片說明

輸入圖片說明

4. 手機 安裝 Charles 協議證書

  1. Charles 菜單 Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote browser , 安裝時會彈出提示,讓您用手機訪問地址來安裝證書。

輸入圖片說明

  1. 手機Safari訪問 chls.pro/ssl安裝證書

通常狀況下爲 chls.pro/ssl,用 Safari 打開這個地址。根據提示安裝證書便可。路由

輸入圖片說明

默認到了爲「未驗證」,安裝後爲「已驗證」get

4、抓包

經過 1,2,3 步 IOS 10 及如下都可以正常抓取手機數據包。可是 IOS 11 不行。博客

  • IOS 11設置
    • 設置->通用->關於本機->證書信任設置
    • 把您剛纔安裝的證書後面的開關打開(默認是關閉的)
    • IOS 11 正常抓包

廣告欄: 歡迎關注個人 我的博客

相關文章
相關標籤/搜索