日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Charles抓包https

發布時間:2025/6/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

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