关于Charles抓包

news2024/9/29 5:38:04

 

目录

 

抓包的原理

抓包的步骤

1. 下载Charles

2. PC抓HTTPS协议的包

3. 移动端抓包步骤

证书的原理


抓包的原理

        抓包的软件非常多,其实底层逻辑充当了一个中间人代理的角色来对HTTPS进行抓包,结合日常自己用的Charles做一个记录。首先先了解抓包的原理。

        电脑上的Charles监听一个端口,最多的是8888,在测试机器上连接同一个局域网,配置网络代理,指向该PC的8888端口,这样一来测试机的所有网络通信都会被转发到PC的8888端口,进而被Charles捕获,然后就可以对数据包进行分析。经常用的网络协议分为HTTP和HTTPS,HTTPS在HTTP上进行了加密操作,所以对这两种请求进行抓包也有不同。

抓包的步骤

        大致了解了原理,那么我们先可以使用起来,使用Charles抓包的步骤。

1. 下载Charles

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

2. PC抓HTTPS协议的包

步骤1:

        虽然现在Charles能够直接抓包了,但是HTTPS的报文我们是抓取不了的,需要安装SSL证书才可以。Help -> SSL Proxying -> Install Charles Root Certificate   

 步骤2:

         然后再进行信任证书,在 Mac 上的“钥匙串访问” App 中,选择其中一个钥匙串列表中的钥匙串,然后连按一个证书,设置Charles的证书为始终信任。

 步骤3:

然后还需要进行ssl代理设置

打开Charles,上方菜单栏 —>Proxy —>SSL Proxy Settings —->Add,如下:

Host:填*表示所有网站都抓
Port:443
点击OK,通过以上配置后,我们抓取的信息,就都可以看到https的请求了(明文的)。

 

 这样就可以抓PC端HTTPS的包了,具体的原理在下面阐述。

3. 移动端抓包步骤

以上步骤的操作基础上,手机端抓包 也是需要安装证书的。

步骤1:

        手机端也需要安装证书

        打开charlse的 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browse

 步骤2:

出现弹窗,chls.pro.ssl是下载证书的地址,打开手机safari浏览器会自动弹出下载框,点击允许。

步骤3:

         然后手机打开设置,会出现你刚才下载的证书,点击进去安装,ios的需要格外设置下信任证书。2个地方,好多出现抓包为unknow的原因就是没有完全信任证书。

        设置->通用->关于本机->信任证书。

        设置->通用->VPN与设备管理->信任证书

步骤3:

        网络配置手动代理,服务器填写PC端的服务器IP,端口一般是8888,点击存储后,PC端会有是否允许抓包的弹窗,点击allow,即可进行移动端报文的获取了。

证书的原理

        一系列操作之后,我们可以进行获取请求和响应的步骤了,具体的操作结合实际的业务,进行操作,Charles的功能还是很多的,修改响应数据、mock数据、模拟弱网等等,我理解用的时候再进行查询也是很ok的。

        这还涉及一个问题?什么是CA证书?为什么我要安装证书??我不安装证书可以吗???

        CA是“证书授权中心”的简称,是负责管理和签发证书的第三方机构。CA证书即为CA颁发的证书。证书人人都可以制作,但只有权威机构颁发的证书,大家才能一致认可。

        证书的作用:

        1. 验证网站是否可信(针对HTTPS)证书没有问题的标准:1、证书被某个根证书信任,2、证书上绑定的域名和该网站的域名一致,3、证书没有过期
        2. 验证文件是否可信:证书还可以用来验证某个文件是否被篡改。具体是通过证书来制作文件的数字签名。

        抓包使用证书的原理:

1. 关键思想
构造一个中间人代理,它有能力完成TLS/SSL握手;弄到一个根证书,并用它生成签名认证的代理服务器证书
2. 抓包代理服务器的作用
截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求
接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容
一般情况下HTTPS中是客户端对服务端做证书校验(所以抓包时候,需要客户端安装代理服务器的证书,并信任)
3. 分析chrales代理工具如何实现
Charles就是一个理想的中间人,它支持SSL握手
Charles可以自动根据根证书生成一个签名的服务器证书
Charles的官网为我们提供了一个根证书

所以记得抓包安装证书~先了解Chrales的使用,再了解一些底层的原理 有助于分析和解决问题。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RT-Thread内核学习笔记

文章目录RT-Thread一、线程1. 线程定义2. 线程栈3. 线程函数 rt_thread_entry()4. 线程控制块 struct rt_thread5. 线程初始化 rt_thread_init()6. 就绪列表7. 调度器二、对象容器1. 对象:所有的数据结构都是对象2. 容器:每当创建一个对象,就…

腾讯云GPU游戏服务器/云主机租用配置价格表出炉!

用于游戏业务的服务器和普通云服务器和主机空间是不同的,游戏服务器对于硬件的配置、网络带宽有更大的要求,一般游戏服务器根据不同的配置和适用场景会有十几元一小时到几十元一小时,而且可以根据不同的按量计费。而普通的云服务器可能需要几…

【技术分享】配置802.1x 本地认证

实验需求 PC1(10.10.10.2/30)直接连接到RouterA的Eth2/0/1端口,RouterA的VLANIF10接口IP地址10.10.10.1/30(为PC1上的网关IP地址),配置802.1x协议进行访问控制,认证方式采用本地认证。 实验步骤 RouterA的配置 V200R00…

Impala 在网易大数据的优化和实践

导读: 网易大数据平台的底层数据查询引擎,选用了 Impala 作为 OLAP 查询引擎,不但支撑了网易大数据的交互式查询与自助分析,还为外部客户提供了商业化的产品与服务。今天将为大家分享下 Impala 在网易大数据的优化和实践。 01 Im…

qnx的spi记录

https://www.cnblogs.com/schips/p/protocol_spi_about.html (主要)https://www.zhihu.com/question/308406342/answer/2901148391https://www.bbsmax.com/A/lk5aa4Pm51/ (有基础测试代码)https://baijiahao.baidu.com/s?id17460…

聚焦技术前沿 引领行业未来 | 第四届OpenI/O 启智开发者大会深度学习与大模型产业应用专场论坛顺利举办!

为探索人工智能的重要发展方向,深入了解大模型、深度学习领域,推动人工智能的快速发展,2月24日,第四届启智开发者大会以“引领前沿技术,推动产业升级”为主题的“深度学习与大模型产业应用专场”在深圳人才研修院智汇中…

数学知识(算法模板)

数学知识 文章目录数学知识一、质数一、试除法判定质数二、试除法分解质因数三、朴素筛法求素数四、线性筛法求素数二、约数一、试除法求所有约数二、约数个数约数之和三、欧几里得算法三、欧拉函数一、欧拉函数的定义二、筛法求欧拉函数四、快速幂一、快速幂二、快速幂求逆元扩…

Vue中rules表单验证,表单必填*显示位置不对,*显示位置错误

<el-form :model"ruleForm" :rules"rules" ref"ruleForm"><el-form-item label"名称" prop"name"><el-input v-model"ruleForm.name"></el-input></el-form-item> </el-form>…

.NET 使用NLog增强日志输出

引言 不管你是开发单体应用还是微服务应用&#xff0c;在实际的软件的开发、测试和运行阶段&#xff0c;开发者都需要借助日志来定位问题。因此一款好的日志组件将至关重要&#xff0c;在.NET 的开源生态中&#xff0c;目前主要有Serilog、Log4Net和NLog三款优秀的日志组件&…

少儿编程 电子学会图形化编程等级考试Scratch一级真题解析(判断题)2022年12月

2022年12月scratch编程等级考试一级真题 判断题(共10题,每题2分,共20分) 26、可以通过四种方式添加新角色(不包括复制已有角色):选择一个角色、绘制、随机、上传角色 答案:对 考点分析:考查角色添加的方式,角色添加四种方式分别为题目给出的四种,所以正确 27、角…

分布式事务总结

1. 分布式事务产生的背景 1.1 数据库水平拆分 对于大部分的业务而言&#xff0c;在起步阶段&#xff0c;为了快速上线&#xff0c;一般都是单库单表的。但是随着业务的扩张&#xff0c;数据量也随着扩增&#xff0c;单库的性能逐渐变差&#xff0c;就会有数据库的单点压力。因…

大数据常见术语

大数据常见术语一览 主要内容包含以下&#xff08;收藏&#xff0c;转发给你身边的朋友&#xff09; 雪花模型、星型模型和星座模型 事实表 维度表 上钻与下钻 维度退化 数据湖 UV与PV 画像 ETL 机器学习 大数据杀熟 SKU与SPU 即席查询 数据湖 数据中台 ODS&#xff0c;DWD&…

过滤器的创建和执行顺序

过滤器的创建和执行顺序 8.1.1创建并配置过滤器 P143 重点是如何创建并配置&#xff08;xml&#xff09; 1.创建 public class EncodingFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {}Overridepublic void doFil…

Linux进程间通信:信号量(一)

前提知识 在介绍信号量之前&#xff0c;先来看看一些概念和一些简单的前提知识&#xff1a; 进程间通信的前提是让不同的进程看到同一份资源。于是&#xff0c;就有提出让这种资源成为一种公共资源的方法&#xff0c;方法的提出&#xff0c;导致了一种新的问题的出现&#xf…

MyBatis源码分析(二)SqlSessionFactory的构建及配置文件读取过程

文章目录一、MyBatis配置文件二、SqlSessionFactory的获取1、初始化XML配置的Document以及其他对象2、解析配置文件&#xff08;1&#xff09;配置Environment&#xff08;2&#xff09;存放Mapper&#xff08;3&#xff09;解析Mapper3、构造SqlSessionFactory4、总结未完待续…

测试2年,当初一起入行的朋友很多月薪20k了,自己却还没过万,到底差在了哪里?

说来奇怪&#xff0c;不管是读书还是工作&#xff0c;都存在一个现象&#xff0c;那就是人比人&#xff0c;比死人。读书的时候&#xff0c;不管是老师还是家长口中&#xff0c;总会有一个“别人家的孩子”。同样&#xff0c;到工作中&#xff0c;领导口中总会有一个“别人的员…

Doxygen 详细使用

doxygen的安装和基本使用可参考&#xff1a;Doxygen的安装和基本使用常用选项doxygen的所有选项的参考文档&#xff1a;doxygen官网文档2、样式说明doxygen可以自己自定义样式。手写 .css文件 &#xff08;可以查看doxygen的源码&#xff0c;进行相对应修改&#xff09;在Exper…

推荐一个.Net Core开发的蜘蛛爬虫开源项目

更多开源项目请查看&#xff1a;一个专注推荐.Net开源项目的榜单 如果我们需要抓取网络上的数据&#xff0c;这时候我们就要写爬虫&#xff0c;这里面就涉及到网页的抓取、以及网页分析与数据提取、抓取的性能等知识&#xff0c;今天就给大家推荐一个开源项目&#xff0c;它可以…

java基础复习(练习写博客)

文章目录Java特性和优势java三大版本JDK、JRE、JVM(从前到后包含)Java开发环境搭建步骤Java程序运行机制IDEJava基础语法一、注释、标识符、关键字二、数据类型&#xff08;shift双击问题&#xff09;三、变量、常量、作用域四、运算符五、包机制、JavaDocJava进阶语法一、Scan…

【Java】代码中的安全漏洞解决合集(更新中)

汝之观览&#xff0c;吾之幸也&#xff01;本文主要讲解Java的一些安全漏洞&#xff0c;并且给出浅知的解决方案。 具体国内的风险可查看网址工业和信息化部网络安全威胁和漏洞信息共享平台 1、Spring Framework反射型文件下载漏洞&#xff08;CVE-2020-5421&#xff09; 漏洞…