zoukankan      html  css  js  c++  java
  • 【charles】使用Charles进行HTTPS抓包

    操作原理

    关键的操作思想:

    1. 构造一个中间人代理,它有能力完成TLS/SSL握手
    2. 弄到一个根证书,并用它生成签名认证的代理服务器证书

    Charles就是一个理想的中间人,它支持SSL握手,可以自动根据根证书生成一个签名的服务器证书,并且它的官网为我们提供了一个根证书。
      我们要做的就是在客户端安装好这个根证书,然后让我们的操作系统信任它。对App来说,需要设法在IOS或Android上装上这个官网提供的根证书。
      完成上述步骤后,App再指定Charles为它的代理服务器,这时,App请求的服务器证书就是Charles自动生成的代理服务器证书。如果Charles的根证书已被信任,这个自动生成的代理服务器证书是有效的,使用它App和Charles的TLS握手可以顺利完成。

    以下是详细的操作步骤:

    第一步:配置HTTP代理,这步与抓取HTTP请求是一样的:

    charles -> proxy -> proxy settings
    

    选择在8888端口上监听,然后确定。勾选了SOCKS proxy,还能截获到浏览器的http访问请求。

    第二步:配置SSL代理:

    charles -> Proxy -> SSL Proxy Settings
    然后在弹出的对话框中点击add,添加需要监视的域名。域名支持 *号通配符,

    • 域名: *.laofan.com
    • 端口: 443

    第三步 为手机设置代理

    在手机无线中配置手动代理,输入安装Charles的电脑的网络地址,端口填8888。

    第四步 安装根证书

    手机上安装Charles的根证书:输入网址: chls.pro/ssl 。

    ios: 接下来,在设置->通用->关于本机->证书信任设置 (这一步很重要) 刚刚安装的证书的开关打开信任就可以抓取加密包了。
    安卓: 下载完成,点击打开,就能安装完成

    注意: 如果不能下载,检查手机是否正确设置了代理,Charles是否已经打开并配置正确。

    电脑端的根证书安装

    Charles -> Help -> ssl proxying ->  install charles root certificate 
    

    • mac: 安装完成后去系统的钥匙串访问中信任它。
    • window: 正常安装

    到此就可以正常抓包https了

  • 相关阅读:
    【bzoj1300】大数计算器
    BZOJ3192: [JLOI2013]删除物品
    BZOJ2818: Gcd
    BZOJ2440: [中山市选2011]完全平方数
    BZOJ3994: [SDOI2015]约数个数和
    BZOJ2154: Crash的数字表格
    BZOJ3529: [Sdoi2014]数表
    BZOJ2301: [HAOI2011]Problem b
    BZOJ1562: [NOI2009]变换序列
    BZOJ1059: [ZJOI2007]矩阵游戏
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/13820218.html
Copyright © 2011-2022 走看看