日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Charles抓包https

發布時間:2025/6/17 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Charles抓包https 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Charles抓包https

灰灰是只小賤狗 2018.05.08 10:46 字數 762 閱讀 7800評論 3

抓取HTTPS請求包,對數據進行排查檢驗

1.安裝Charles
2.電腦安裝Charles證書

電腦安裝證書

?

雙擊還是信任下吧

3.手機安裝證書

手機安裝證書


4.手機網頁輸入網址 下載證書并信任

手機證書下載網址

?

安裝到手機上

注意:在iOS 10.3之前,當你將安裝一個自定義證書,iOS會默認信任,不需要進一步的設置。而iOS 10.3之后,安裝新的自定義證書默認是不受信任的。如果要信任已安裝的自定義證書,需要手動打開開關以信任證書。

iOS11下需要手動信任已下載好的證書,方法如下:

設置->通用->關于本機->證書信任設置-> 找到charles proxy custom root certificate然后信任該證書即可.


iOS11下手動信任證書

5.開始抓包
Charles設置Proxy
Proxy -> SSL Proxying Settings...,如下圖所示:

疑問1,如果設置成特定的域名發現還是抓不了包,不知道為什么

選擇Proxy | Recording Settings,彈出Recording Settings設置選項卡,勾選include

?

只展示你想看見的域名結果

6.原理簡析
如果是HTTP請求,因為數據本身并沒加密所以請求內容和返回結果是直接展現出來的。
但HTTPS是對數據進行了加密處理的,如果不做任何應對是無法獲取其中內容。所以Charles做的就是對客戶端把自己偽裝成服務器,對服務器把自己偽裝成客戶端:

  • Charles攔截客戶端的請求,偽裝成客戶端向服務器進行請求
  • 服務器向“客戶端”(實際上是Charles)返回服務器的CA證書
  • Charles攔截服務器的響應,獲取服務器證書公鑰,然后自己制作一張證書,將服務器證書替換后發送給客戶端。(這一步,Charles拿到了服務器證書的公鑰)
  • 客戶端接收到“服務器”(實際上是Charles)的證書后,生成一個對稱密鑰,用Charles的公鑰加密,發送給“服務器”(Charles)
  • Charles攔截客戶端的響應,用自己的私鑰解密對稱密鑰,然后用服務器證書公鑰加密,發送給服務器。(這一步,Charles拿到了對稱密鑰)
  • 服務器用自己的私鑰解密對稱密鑰,向“客戶端”(Charles)發送響應
  • Charles攔截服務器的響應,替換成自己的證書后發送給客戶端
  • 當然,如果用戶不選擇信任安裝Charles的CA證書,Charles也無法獲取請求內容。還有一種,如果客戶端內置了本身的CA證書,這時如果Charles把自己的證書發送給客戶端,客戶端會發現與程序內的證書不一致,不予通過,此時Charles也是無法獲取信息的。

    參考
    mac環境下使用Charles抓包Https請求
    淺談Charles抓包
    Charles 抓包IOS中https亂碼解決

    轉載于:https://www.cnblogs.com/ldq2016/p/9802906.html

    總結

    以上是生活随笔為你收集整理的Charles抓包https的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。