zoukankan      html  css  js  c++  java
  • Charles的HTTPS抓包方法及原理,下载安装ssl/https证书

    转自:https://zhubangbang.com/charles-https-packet-capture-method-and-principle.html

    本文的Charles,适应windows/MAC/IOS/Android,避免抓包HTTPS失败和乱码;

    用的版本是V4.1.2,其它版本原理类似;

    charles如果不配置SSL通用证书;

    会导致HPPTS协议的域名抓取失败/乱码的现象;

    现在SSL越来越多,很多博客都上了SSL,支付相关的行业更是基础配置;

    charles配置SSL证书,算起来很简单,操作简洁;

    首先分析我们需要怎么做?

    第一步:电脑端安装 Charles 的 CA 证书(必须)

    charles需要下载安装ssl/https证书,因为charles是作为中间的过滤器使用的,具体原理请查看 抓包工具charles的使用教程

    这样你就可以访问PC端的https资源了,windows/MAC原理一样;

    第二步:电脑上charles的SSL抓取设置(必须)

    charles并不是默认抓取ssl的,所以即使你安装完证书之后,Charles 默认也并不截取 Https的信息,你需要在SSL proxy里设置需要抓的域名;

    当然如果你想抓取手机端的HTTPS相关资源,还需要下面的第三步;

    (还不会手机抓包普通HTTP的,请点击 charles手机抓包设置 )

    第三步:手机安装SSL证书;

    无论IOS/Android,都需要安装SSL证书,原理是手机的SSL证书与电脑上charles SSL证书对接;

    具体的操作方法*****

    第一步:电脑安装SSL证书

    选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,如果设置了安全防护,会ranging输入系统的帐号密码。

    image

    会让你开始安装charles的证书操作;

    image

    一路下一步即可;

    第二步,配置SSL的抓取域名;

    你可以单独配置,必须看到某个想要抓取的域名,右键点击“SSL proxying :Enableed”那么当前你设置后的域名,再次访问就可以抓到了;设置如下图

    image

    我个人并不喜欢这种的设置;每次都需要一个一个的配置,很蛋疼;

    可以看到我上面的配置,那个“SSL proxying :Enableed”配置 默认就是灰色的,这是因为我做了通用设置的原因;我是设置为所有的HTTPS协议全部允许捕获;

    我的设置如下;

    首先找到proxy – SSL Proxying Settings;

    image

    然后选中启用SSL代理(Enable SSL Proxying),因为charles的location配置都是支持通配符的,所以在HOST里设置一个”*”就可以了,port不写;

    image

    如果你需要配置某个指定域名,也是在这里填写的;

    配制特定域名的时候,一般port为443(SSL常规为443);

    这样,你就可以愉快的抓取到HTTPS的内容了;

    第三步:手机安装SSL证书(如果你需要抓取手机访问的HTTPS网站,需要做此设置,但如果你不需要手机抓取HTTPS,就没有必要安装了)

    和上面类似,也是HTLP下面的 SSL Proxying,选择”Install Charles Root Certificate on a Mobile Device or remote Browser” (在移动设备或远程浏览器上安装SSL证书)

    image

    然后会看到一个弹窗,提示你该怎么操作

    configure your device to use charles as its HTTP proxy on 192.168.10.108.8888,then browse to chls.pro/ssl to download and install the certificate

    大概的意思是让你把手机上的wifi信息设置了 HTTP代理,内容是192.168.10.108.8888;然后用浏览器浏览chls.pro/ssl就可以下载并安装证书了;

    image

    我的版本是V4.1.2的版本,所以如果您是别的版本,提示信息可能不一样;

    如果您也想用V4.1.2版本,可以查看Charles破解版免费下载和安装教程 进行安装;

    charles的手机上抓取普通HTTP的设置,请参考“charles手机抓包设置”这里只是抓取HTTPS的;

    上面的 192.168.10.108.8888 这是我电脑的IP和设置和设置的端口,具体要以你实际的为准;

    当你完成手机的wifi委托为charles作为代理后;

    打开手机上的浏览器访问chls.pro/ssl;然后会跳到一个安装描述文件的地方;

    charles_proxying_phone

    直接安装就可以了;

    我的已经安装好了,就不再进行演示了

    好了,现在去看看吧,已经可以正常捕获到HTTPS的了;

    上一章访问我自己博客的https抓包记录

    image

  • 相关阅读:
    微信小程序音频播放
    jsonp跨域请求-最简单的方法
    mysql explain 正常,但是实际上是全盘扫描
    lnmp运行过程中出现502处理方法
    [Python]利用type()动态创建类
    Django-form表单
    Django-认证系统
    Django-model基础
    Django-MTV
    前端基础之:JQuery(可编辑版)
  • 原文地址:https://www.cnblogs.com/niit-soft-518/p/8985838.html
Copyright © 2011-2022 走看看