Charles安装及使用教程

news/2025/3/4 13:42:31/文章来源:https://www.cnblogs.com/GH0522/p/18750357

一. 简介及安装

一、charles的使用

1.1  charles的说明

Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。

Charles的主要功能:

(1)截取Http 和 Https 网络封包。

(2)支持重发网络请求,方便后端调试。

(3)支持修改网络请求参数。

(4)支持网络请求的截获并动态修改。

(5)支持模拟慢速网络。

1. 下载
Charles下载地址

地址:https://www.charlesproxy.com/latest-release/download.do

 

2. 安装
一路按下next即可安装(保证电脑里没有其他charles即可)

3. 破解

Charles第一种破解方法:
打开汉化补丁 选择“中文破解版”,按下patch即可打开汉化补丁 选择“中文破解版”,按下patch即可

Charles第二种破解方法:

破解地址:https://www.zzzmode.com/mytools/charles/

生成jar文件后,放到charles安装目录的lib目录下

此时,重启charles,查看已经破解,如下图:

设置charles, Proxy->Proxy setting,就可以抓取http协议了(默认不用更改)

4. 进入界面

注意:安装好charles后,要先进行汉化破解再打开,如果先打开了软件,在汉化的话就会无效,只能重新安装再进行以上步骤。

二. 连接
1.PC抓包

由于charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。直接打开网页就可以了。

注意:

(1)Charles支持抓去http、https协议的请求,不支持socket。

(网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)

(2)防火墙关掉

点击上方的代理—windows代理

电脑charles客户端下载SSL证书

帮助—SSL代理—安装charles证书

选择当前用户

将所有的证书都放入下列存储—受信任的根证书颁发机构—下一步—完成

2.手机端抓包

使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了。

(1)首先利用cmd -config命令查看自己电脑的ip地址

 

配置代理服务器
菜单栏上选择“代理—代理设置,
填入代理端口xxxx
勾选启用透明HTTP代理

查看自己本机IP

(2)然后在手机端的wifi代理设置那里去进行相关的配置设置。

这里的代理服务器地址填写为电脑的ip地址,然后端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。

 
配置完成,会看到一个charles与手机端的连接提示弹窗,选择allo即可。
(3)手机端抓包https

上述1、2步骤,只针对http请求。由于https协议的特殊性,所以要求电脑端和手机端都需要安装下证书,否则会看到返回的数据都是乱码。

a.电脑端证书下载

 

b. 手机端证书下载

在设备上打开这个网址 http://www.charlesproxy.com/getssl 安装 Charles SSL 证书。

注意,同一个手机对应不同电脑上的Charles都要分别下载证书进行认证,因为手机的证书是和电脑端的Charles一一配对的。

PS:ios手机,需要信任该证书

C.相关配置

选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据。

 

3. 抓取的包全部出现unknow的解决方法

代理-SSL代理-启用SSL代理-添加 如图主机和端口都添加*。

继续:代理-SSL代理-启用SSL代理-添加 如图主机添加*,端口添加443.

如图所示即可完成 解决unknow问题。

如果个别情况出现unknow,可能是本身抓包软件存在个别漏抓问题。可以忽略

三. 功能

从左到右分别为:

(1)清除当前会话
(2)停止记录
(3)开始限流/停止限流
(4)开始断点/停止断点
(5)根据所写内容撰写新请求
(6)重发选定请求
(7)工具
(8)设置

1. 显示模式:有结构和序列两种模式
(1)结构模式:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。

(2)序列:可以看到全部请求,这里的结果以数据请求的顺序来显示,可以根据时间、大小等自由排序

2. 模拟网速功能

在线上环境通常有些因为网速慢导致的bug,在本机无法重现,那时候就很抓瞎,模拟网速功能支持对带宽、利用率、往返延迟、字节进行配置,并且支持3G/4G或者其他网络模式。
上方工具栏的代理—限流设置—启用限流

3. 过滤设置

方法一:软件下方的过滤可以进行简单的过滤,在主界面的中部的Filter栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:www.baidu.com,那么只需要在 Filter 栏中填入www.baidu.com即可。

方法二:上方工具栏的代理—记录设置—包括—添加

可以对网络请求进行过滤。
然后填入需要监控的协议,主机地址,端口号等。这样就可以只截取目标网站的封包了。

通常情况下,我们使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤。

方法三:在想过滤的网络请求上右击,选择“Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:

这种方式可以临时性的,快速地过滤出一些没有通过关键字的一类网络请求。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

47.9K star!全平台开源笔记神器,隐私安全首选!

"Joplin 是一款开源的笔记记录和待办事项应用,支持端到端加密同步,完美替代商业笔记软件" —— 来自开发者 Laurent Cozic嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法"Joplin 是一款开源的笔记记录和待办事项应…

什么是项目管理?五大流程是什么?

项目管理这东西,大家可能听过,但是具体怎么操作,很多人可能就一头雾水了。 简单来说,项目管理就是为了完成某个特定目标,把时间、资源、人员等因素有条不紊地组织、协调、控制和调整,最终确保项目按时、按预算、高质量地完成。 这个“项目”可以是任何东西,比如公司新产…

最全面的浏览器教程-完结撒花

完结撒花 🎉🎉🎉完结撒花 🎉🎉🎉 《最全面的浏览器教程》目前要告一段落了,耗时我一个多月,整理了大量的笔记,参考了很多教程和文章,累计写了 24 篇文章,7.3 万字,200 多张图片,收获了很多粉丝和鼓励,在此表示感谢。 如果后续有学到什么新技巧,看到好玩意…

牛客题解 | 字符串相乘

牛客题库题解题目 题目链接 题解 题目难度:中等难度 知识点:字符串、大数相乘 模拟人工计算 计算的过程基本上和小学生列竖式做乘法相同。为编程方便,并不急于处理进位,而将进位问题留待最后统一处理。数组a存储第一个数字123(逆序)数组b存储第二数组20(逆序)结果存入数…

皮尔逊、斯皮尔曼、肯德尔相关系数

相关系数和特征选择 相关系数和特征选择,一个是属性,一个是特征。一般,把数据集中的各列成为属性,而对算法模型表现有益的属性成为特征。例如,在预测泰坦尼克乘客的存活情况时,乘客姓名这个属性对我们的预测可能没有帮助,甚至会干扰模型表现;而乘客年龄、性别或许与存活…

认识 TapFlow,以编程方式运行 TapData

TapFlow 是 TapData Live Data Platform 最新推出的一个面向编程的API 框架。TapFlow 可以让开发者和数据工程师用一个简单易用而又强大的编程语言来进行数据管道和数据模型的开发工作。**什么是TapFlow? ** TapFlow 是 TapData Live Data Platform 最新推出的一个面向编程的A…

Maya 影视渲染,渲染101 让创作无压力!

Maya 创作时,渲染是不是常让人崩溃?漫长等待、电脑性能不足、报错频出,今天就给大家分享基于渲染 101 平台的 Maya 云渲染,轻松解决这些难题!告别漫长等待,效率飙升**** 自己电脑渲染复杂 Maya 项目,耗时久,进度慢。渲染 101 的云渲染有强大计算集群,众多高性能服务器…

Java SpringBoot 升级后,编译打包都没问题,运行报错

编译打包都没问题,运行报错 10:36:39,587 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@5966cc - Registering current configuration as safe fallback point Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core…

在Hyper-V虚拟化平台上,怎么创建和管理虚拟机呢?

确实,在Hyper-V虚拟化平台上,创建和管理虚拟机(VMs)是实现资源高效利用和业务灵活部署的关键。以下是对这一观点的详细阐述:一、创建虚拟机:资源高效利用的基础 资源分配与优化: 在创建虚拟机时,管理员需要根据业务需求合理分配CPU、内存、存储和网络等资源。通过精确的…

STM32实战——ESP8266 WIFI模块

此篇博文提供了ESP8266的开发指南,包括在STM32上使用ESP8266进行WiFi连接、发送和接收HTTP请求以及在ESP8266中使用AT指令发送GET方式请求等内容。ESP8266 硬件介绍 ESP8266系列模组有哪些:在本实验中,ESP8266与ESP-01不做区分。 ESP-01引脚介绍:引脚 功能3.3 3.3V供电,避…

一招学会Prometheus对接三方监控平台

文章来源:乐维社区 通过将Prometheus与不同的监控工具和服务集成,企业可以实现对更广泛资源和服务的监控,包括那些不由Prometheus原生支持的系统。这种集成不仅有助于获取更全面、深入的监控数据,还能提升故障排查和性能优化的效率,从而确保系统的稳定性和可靠性。 环境说…