抓包工具Charles安装及使用

news2025/1/16 21:00:20

 Charles 介绍

Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。

Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

Charles 主要的功能包括:

  1. 截取 Http 和 Https 网络封包。

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

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

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

  5. 支持模拟慢速网络。

安装包获取

Charles官网:Download a Free Trial of Charles • Charles Web Debugging Proxy

找到对英系统版本的安装直接下载

安装

根据提示安装,这里同意即可。

将 Charles 设置成系统代理

第一步是将其设置成系统的代理服务器。

启动 Charles 后,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的 “Proxy” –> “Mac OS X Proxy” 来将 Charles 设置成系统代理。如下所示:

Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。

Charles使用介绍

Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。

  1. Structure 视图将网络请求按访问的域名分类。

  2. Sequence 视图将网络请求按访问的时间排序

  3. Filter 输入关键字来快速筛选出 URL 中带指定关键字的网络请求。也可以在 Charles 的菜单栏选择 “Proxy”–>“Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:

或者,在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项。

charles激活

直接通过help菜单下的register注册即可

注册名称和许可证密钥如下

Registered Name:https://zhile.io

License Key: 48891cf209c6d32bf4

配置成功会显示如下:

安装charles之后就可以连接代理了,手机第一次连接代理需要下载证书,下载证书的方法如下:

(填写后,在charles中点击允许连接)

  1. 通过上图获取代理的ip和port,手机通过设置手动代理的ip和端口号连接到charles上
  2. 为手机安装证书(3、4步)
  3. 在charles中如下操作,如上图,选择 Charles 顶部菜单栏选择 “Help” ->"Install Charles Root Certificate on a Mobile Device or Remote Browser"。然后就可以看到 Charles 弹出的安装说明了。
  4. 在手机端如下操作,首先在浏览器中输入chls.pro/ssl下载证书,然后 打开wlan--》高级设置--》安装证书--》点击证书--》输入本机密码--》输出证书名字—》确认

现在就可以通过代理的形式访问网页了。但是会发现对与https的访问会出现unknow的情况。这是因为电脑未安装Charles证书。为电脑安装Charles证书的步骤如下:

  1. 打开help–>SSLProxying–> Install Charles Root Ceriticate,点击添加之后会发现,证书不受信任
  2. 找到Charles Proxy CA(xxx)——>打开——>选择信任——>始终信任有的看到的是Charles Proxy Custom Root Certificate 信任步骤与Charles Proxy CA一致
  3. 证书列表中双击证书名,为如下列表添加始终信任。

点击ok即完成了电脑证书的安装,再次请求,https的包可以正常访问。

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

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

相关文章

VScode——下载、安装、配置C/C++环境(windows)

一.快速下载 还在因为vscode官方下载慢而头疼嘛,按这个步骤来直接起飞兄弟萌 首先进入vscode官方网站然后选择对应版本下载然后进入浏览器下载页面复制下载链接粘贴到地址栏 将地址中的/stable前换成vscode.cdn.azure.cn 即可实现超速下载 下面是一个国内镜像的下…

删除数据后, redis 内存占用还是很高怎么办?

现象: reids 做了数据删除,数据量不大,使用 top 命令看,发现还是占用大量内存 原因: 1.redis 底层内存根据内存分配器分配,不会立刻释放 2.redis 释放的内存空间不是连续的,存在碎片 内存碎…

DP进阶之路——整数拆分

343. 整数拆分 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 10 输出: 36 解释…

YOLOv8训练自定义数据集和运行参数解读

1、YOLOv8深度学习环境搭建及安装 1.1. Yolov8介绍 设置操作类型 YOLOv8模型可用于各种任务,包括检测、分割和分类。这些任务的不同之处在于它们产生的输出类型和它们要解决的特定问题。 **检测:**检测任务涉及识别和定位图像或视频中感兴趣的对象或区域。YOLO模…

任务调度-hangfire

目录 一、Hangfire是什么? 二、配置服务 1.配置Hangfire服务 2.添加中间件 3.权限控制 三、配置后台任务 1.在后台中调用方法 2.调用延时方法 3.执行周期性任务 四、在客户端上配置任务 1.在AddHangfire添加UseHangfireHttpJob方法 2.创建周期任务 3.创建只读面板 总…

【《设计模式之美》】如何取舍继承与组合

文章目录 什么情况下不推荐使用继承?组合相比继承有哪些优势?使用组合、继承的时机 本文主要想了解: 为什么组合优于继承,多用组合少用继承。如何使用组合来替代继承哪些情况适用继承、组合。有哪些设计模式使用到了继承、组合。 …

腾讯云轻量应用服务器和云服务器有什么不同?

腾讯云轻量服务器和云服务器CVM该怎么选?不差钱选云服务器CVM,追求性价比选择轻量应用服务器,轻量真优惠呀,活动 https://curl.qcloud.com/oRMoSucP 轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三…

linux ext3/ext4文件系统(part1格式化)

ext4文件系统结构 ext3的代码已经在v4.3被删除掉了(ARM: tegra: Rebuild default configuration on v4.3-rc1 torvalds/linux241e077 GitHub) ext4格式化的代码可以参考e2fsprogs的实现:mke2fs.c 格式化后的文件系统结构如下图&#xf…

AI绘图软件,科技之旅绘画

科技与艺术的碰撞总能产生令人惊叹的火花,现在小编要给大家介绍一款引领未来艺术潮流的AI绘图软件——首助编辑高手。这是一款将人工智能与创意绘画完美结合的软件,它将为你打开一扇全新的创意之门。 所需工具: 一个【首助编辑高手】软件 …

mysql原理---InnoDB统计数据是如何收集的

以下聚焦于 InnoDB 存储引擎的统计数据收集策略。 1.两种不同的统计数据存储方式 InnoDB 提供了两种存储统计数据的方式: (1). 永久性的统计数据 这种统计数据存储在磁盘上,也就是服务器重启之后这些统计数据还在。 (2). 非永久性的统计数据 这种统计数…

❀My学习小记录之算法❀

目录 算法:) 一、定义 二、特征 三、基本要素 常用设计模式 常用实现方法 四、形式化算法 五、复杂度 时间复杂度 空间复杂度 六、非确定性多项式时间(NP) 七、实现 八、示例 求最大值算法 求最大公约数算法 九、分类 算法:) 一、定义 …

Smartbi获工信部旗下赛迪网“2023行业信息技术应用创新产品”奖

近日,由工信部旗下的赛迪网、《数字经济》杂志共同主办的2023行业信息技术应用创新大会上,“信息技术应用创新成果名单”重磅揭晓,思迈特软件凭借“Smartbi 自然语言分析引擎”斩获“2023行业信息技术应用创新产品”大奖。 据了解&#xff0c…

codellama模型部署(待补充)

codellama介绍 Code Llama 是一个基于Llama 2的大型代码语言模型系列,在开放模型、填充功能、对大输入上下文的支持以及编程任务的零样本指令跟踪能力中提供最先进的性能。我们提供多种风格来覆盖广泛的应用程序:基础模型 (Code Llama)、Python 专业化 …

【String str = new String(“AAA“) 创建了几个对象?】

✅典型解析 创建的对象数应该是1个或者2个。 首先要清楚什么是对象? Java是一种面向对象的语言,而Java对象在JVM中的存储也是有一定的结构的,在HotSpot虚机中,存储的形式就是oop-klass model,即ava对象模型。我们在Java代码中&am…

Vue框架引入Axios

首先已经创建好了 Vue 框架,安装好了 node.js。 没有完成的可按照此博客搭建:搭建Vue项目 之后打开终端,使用命令。 1、命令安装 axios 和 vue-axios npm install axios --save npm install vue-axios --save2、package.json 查看版本 在 p…

Binder系列-service_manager.c

1. service_manager的任务 open 驱动告诉驱动,它是“servicemanager”在一个循环里 从驱动读取数据 解析数据 调用,根据code执行注册服务或者获取服务 (图来自韦老师的视频) 2.代码流程 2.1.open驱动 //framework…

elasticsearch列一:索引模板的使用

概述 近期一直在负责es这块,就想着和大家分享一些使用经验,我们从存储、查询、优化、备份、运维等几个方面来做分享。今天咱们先看下如何更加合理的存储数据。 初见索引模板 记得刚接触es还是18年那会,项目上线后因一些原因导致日志这部分的…

深入理解JVM虚拟机第三十二篇:详解JVM当中本地方法栈

😉😉 欢迎加入我们的学习交流群呀! ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring等等很多应用和源码级别的高质量视频和笔记资料,你想学的我们这里都有! 🥭🥭3:QQ群:583783824 📚📚 工作VX:BigTreeJava 拉你…

059:vue中使用 AJAX来读取来自XML文件的信息

第059个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

SpreadJS 集成使用案例

SpreadJS 集成案例 介绍: SpreadJS 基于 HTML5 标准,支持跨平台开发和集成,支持所有主流浏览器,无需预装任何插件或第三方组件,以原生的方式嵌入各类应用,可以与各类后端技术框架相结合。SpreadJS 以 纯前…