首页 > 其他分享 >Charles抓包工具使用

Charles抓包工具使用

时间:2024-09-27 15:02:51浏览次数:8  
标签:加密 证书 Charles 秘钥 对称 工具 抓包 客户端

Charles抓包工具使用

Charles客户端下载

官网地址:https://www.charlesproxy.com/download/

选择适合自己的系统版本下载(这里我选择Windows):

fig:

下载完成后激活

激活网站地址:https://www.zzzmode.com/mytools/charles/

fig:

fig:

打开Charles:

fig:

fig:

打开安装好的Charles,菜单栏 Help->Register Charles 弹出注册的窗口填入Registered Name和生成的license key,点击 Register。

Right On!注册成功

fig:

Charles 配置

打开Charles,先安装证书并且信任

fig:

证书下载好之后,找到证书文件,双击进行安装证书(I),将其安装到【受信任】目录中,出现信任选项,点击始终信任即可。

可以看到当前证书不被信任

fig:

fig:

fig:

fig:

fig:

fig:

点击完成后提示导入成功。此时需要重新进入Help -> SSL Proxying -> Install Charles Root Certificate,查看证书结果,成功时如下提示:

fig:

证书状态显示:该证书没有问题就表示导入成功了。

设置SSL,保证可以抓取https协议的请求:

fig:

fig:

点击OK,添加信息。

查看某一个端口是否被占用

netstat -ano | findstr "8080"

fig:

fig:

fig:

工具栏展示:

fig:

什么是证书?为何需要证书?

首先明确一点,安装证书的目的是为了是的抓包工具可以抓取https协议的请求。

抓包的定义?

  1. 抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作
  2. 用来检查网络安全。也经常被用来进行数据截取等。

对HTTP请求进行抓包

对于HTTP协议,因为本身就是明文传输,所以可以直接看到数据报文,除非对这些明文在传输时进行二次加密,但那是另一种情况,这里暂不分析。

对HTTPS请求进行抓包

对于双向加密的HTTPS,正常情况下,即使能以中间人的方式拿到通信报文,但是因为没有密钥,同样也不能看到具体的传输内容。基于HTTPS加密通信的建立过程,和密钥交换方式,如果在加密通信建立之前,截取服务端发送的包含证书的报文,伪装成服务端,把自己的证书发给客户端,然后拿到客户端返回的包含对称加密通信密钥的报文,以服务端自己的公钥加密后发给服务端,这样一来,双向加密通信建立完成,而中间人实际拿到了通信的密钥,所以可以查看、修改HTTPS的通信报文,这就是典型的Man-in-the-middle attack即MITM中间人攻击

这样似乎看起来,HTTPS也不是那么安全,当然不能这么说了,实现MITM最关键的一点,是中间人要把服务端证书替换成自己的证书发给客户端,让客户端相信自己就是服务端,那么问题是,客户端为什么会信任而进行替换呢?HTTPS之所以安全,是因为它用来建立加密通信的证书是由权威的CA机构签发的,受信的CA机构的根证书都会被内嵌在Windows, Linux, macOS, Android, iOS这些操作系统里,用来验证服务端发来的证书是否是由CA签发的。CA机构当然不可能随便给一个中间人签发不属于它的域名证书,那么只有一个很明显的办法了,把中间人的根证书,导入到客户端的操作系统里,以此来完成建立加密通信时对中间人证书的验证。

看到这里你应该明白,我们前面为什么要把证书安装并存储到 受信任的根证书颁发路径 了吧。

所以,在一定的情况下,HTTPS通信是可以被监听的,抓包的实现基础,是Android测试机导入Fiddler或者Charles的根证书。

  • 无论是fidder和charles都是充当了一个中间人代理的角色来对HTTPS进行抓包:
  • 截获客户端向发起的HTTPS请求,佯装客户端,向真实的服务器发起请求。
  • 截获真实服务器的返回,佯装真实服务器,向客户端发送数据。
  • 获取了用来加密服务器公钥的非对称秘钥和用来加密数据的对称秘钥。

fig:

http协议是不安全的

在https诞生之前,所有网站都使用http协议,而http协议在数据传输的过程中都是明文,所以可能存在数据泄露和篡改。

fig:

使用对称秘钥进行数据加密

为了防止数据泄露和篡改,我们对数据进行加密,如:生成一个对称密码【DKUFHNAF897123F】,将对称秘钥分别交给浏览器和服务器端,他们之间传输的数据都使用对称秘钥进行加密和解密。

fig:

请求和响应流程如下:

  1. 客户端使用对称秘钥对请求进行加密,并发送给服务端。
  2. 服务端接收到密文之后,使用对称秘钥对密文进行解密,然后处理请求。 最后再使用对称秘钥把要返回的内容再次加密,返回给客户端。
  3. 客户端接收到密文之后,使用对称秘钥进行解密,并获取最终的响应内容。

如此一来,数据传输都是密文,解决了明文传输数据的问题。但是,这么干有bug。

  • 浏览器如何获取对称秘钥?
  • 如果每个客户端的对称秘钥相同,浏览器能拿到对称秘钥,那么黑客也可以拿到,所以,数据加密也就没有意义了。

非对称秘钥加密

公钥私钥对儿:公钥负责加密,私钥负责解密

fig:

如此一来,解决了 动态对称秘钥 和 数据加密的问题,因为每个用户的对称秘钥都是随机生成且传输的过程中都使用公钥加密(公钥加密的数据只有私钥能解密),所有黑客无法截获对称秘钥。而数据传输是通过对称秘钥加密过的,所以黑客即使能获取数据也无法去解密看到真实的内容。 看似无懈可击,但是,这么干还是又bug:如果黑客在上图 【步骤2】劫持,黑客把自己的公钥返回给客客户端,那么客户端会使用黑客的公钥来加密对称秘钥,黑客在【步骤6】截获请求,使用自己的私钥获取对称秘钥,后面过程全都会完蛋…

CA出现

fig:

使用 ca 证书可以解决黑客劫持的问题

如此一来,就解决了黑客劫持的问题,因为即使黑客劫持后的给浏览器即使返回了证书也无法通过校验,同时浏览器也会提示错误信息。

https可以保证数据安全,但由过程需要反复加密解密所有访问速度会有所下降(鱼和熊掌不能兼得)

标签:加密,证书,Charles,秘钥,对称,工具,抓包,客户端
From: https://www.cnblogs.com/qinhaoyi/p/18435727

相关文章

  • MGC工具箱小妙招:怎么把图图片中的英文一秒转换为中文
    (关注我吧,为你推送免费常用高效办公软件)大家好,今天跟大家介绍软件小妙招,怎么把图片中的英文一秒转换为中文,并且图片的排版不变,甚至按原样输出。首先,我们需要一个在线办公网站-MGC工具箱、先打开它。http://wap.cpolar.top/tool然后,我们找到工具项,搜索找到《图片翻译》选项:接着,点击打......
  • 7个大学生最需要的AI工具,高质高效完成课业,大把时间丰富课余生活!
    随着新学期的钟声悠扬响起,大学校园再次迎来了充满活力的新生与经验丰富的学长学姐们。面对已经开始的繁忙课程与丰富多彩的作业挑战,给学生朋友精心挑选了7款前沿AI工具,旨在助力每一位学子高效完成作业、激发无限创意、增强学习专注力,并显著提升学术表现,让学习之旅以及课余生活......
  • 教师专属AI工具:用这6个AI写作工具,一键生成教案和PPT课件!
    随着人工智能技术的蓬勃发展与广泛应用,我们正步入一个由AI驱动的深刻变革时代。在这一进程中,重要的是不仅要正视其带来的变革挑战,更要积极拥抱机遇,探索如何将AI技术巧妙融入各行各业,特别是教育领域,以激发前所未有的教学活力与效率。对于辛勤耕耘在教育一线的教师们而言,AI技术......
  • VueUse-----基于 Vue 3 的实用工具库,常用功能介绍及使用案例
    简介    VueUse是一个基于Vue3的实用工具库,它提供了一系列的组合式API(CompositionAPI)函数,可以帮助你更方便地处理常见的任务。VueUse包含了大量的功能,如状态管理、浏览器API封装、响应式数据处理等。安装 VueUse可以通过npm或yarn来安装VueUse:npmin......
  • 体质内如何写公文?9个AI工具,助你一键生成高质量公文材料!
    在当今快速变迁的数字化时代,公文写作的精准与效率成为了企业高效运营的关键要素。随着人工智能技术的突破性进展,一系列创新AI助手应运而生,它们不仅能够助力体制内打工人构思、撰写,还能自动校对和优化各类正式文件。以下是为您精选的9款前沿AI公文写作软件及其官方访问途径,它们......
  • 灵创创:百度蜘蛛、百度收录、附带收录口子工具
    地址:......
  • Postmask eco flow – pr工具相关操作(innovus)
    当芯片流片回来后,突然发现芯片出现了某些功能性问题,而客户那边必须要求对此bug进行修复,为了节约时间以及减小成本投入,我们需要进行postmaskeco。谈到postmaskeco,有同学会问premaskeco呢,由于本文主要讲述postmaskeco,对于premask就一笔带过吧。premaskeco(premaskengineer......
  • PHP爬虫APP程序:打造智能化数据抓取工具
    在信息爆炸的时代,数据的重要性日益凸显。PHP作为一种广泛使用的服务器端脚本语言,因其强大的功能和灵活性,成为开发爬虫程序的理想选择。本文将探讨如何使用PHP构建一个爬虫APP程序,以及其背后的思维逻辑和实现步骤。什么是PHP爬虫APP程序?PHP爬虫APP程序是一个利用PHP编写的应......
  • 我,一个小白,居然用 AI 工具修改了公司前端代码!
    背景有一天同事发现公司网站的某个页面上有三个H1标签,懂行的都知道,有三个H1标签虽然不会对网站的访问产生影响,但是对于搜索引擎来讲,就比较麻烦了,因为一般搜索引擎都是靠H1标签、TDK等来对网页的内容进行抓取,然后再进行质量优劣的判断。三个H1标签,搜索引擎就不知道到底应......
  • 我,一个小白,居然用 AI 工具修改了公司前端代码!
    背景有一天同事发现公司网站的某个页面上有三个H1标签,懂行的都知道,有三个H1标签虽然不会对网站的访问产生影响,但是对于搜索引擎来讲,就比较麻烦了,因为一般搜索引擎都是靠H1标签、TDK等来对网页的内容进行抓取,然后再进行质量优劣的判断。三个H1标签,搜索引擎就不知道到底应......