抓包工具Charles安装及使用

 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的包可以正常访问。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GameFi 2024年或将迎来新的爆发!

在数字时代,游戏已经不仅仅是一种娱乐方式,更是一种跨越现实和虚拟界限的全球性文化现象。而游戏金融(GameFi)正是这场数字革命的下一个巨大风潮。 随着科技的不断发展和创新,2024年,GAMEFI(Gam…

购买腾讯云服务器需要多少钱?购买腾讯云服务器方法教程

腾讯云轻量应用服务器购买指南,有两个入口,一个是在特价活动上购买,一个是在轻量应用服务器官方页面购买,特价活动上购买价格更便宜,轻量2核2G3M带宽服务器62元一年起,阿腾云atengyun.com分享腾讯云轻量应用…

【最新报道】初窥Windows AI 工作室

自我介绍 做一个简单介绍,酒研年近48 ,有20多年IT工作经历,目前在一家500强做企业架构.因为工作需要,另外也因为兴趣涉猎比较广,为了自己学习建立了三个博客,分别是【全球IT瞭望】,【…

Python+OpenCV 零基础学习笔记(6):ROI

文章目录 相关链接运行环境前言ROI颜色区域分割颜色通道合并 相关链接 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程 CSDN标题里个括号对应视频的分P OpenCVPython CSDN专栏 Gitee 项目地址 运行环境 Python:3.11.5Anaconda:23.7.4IDE:vscode运行环境&#x…

three.js 模型 居中

物体不居中 模型的几何中心位置不对, 设置偏离物体实际几何中心,当设置position(0,0,0)时就会出现偏离。 解决方案 此处有两种解决方案 建模师处理模型,将模型的几何中心移动到(0, 0&#…

数据集介绍【02】CIFAR10

CIFAR10数据集共有60000个样本,每个样本都是一张32*32像素的RGB图像(彩色图像),每个RGB图像又必定分为3个通道(R通道、G通道、B通道)。这60000个样本被分成了50000个训练样本和10000个测试样本。 CIFAR10数…

使用terraform 来创建GCP的instance template 和基于它的vm

本人在上一篇的文章中已经介绍了如何去创建 google cloud的 vm 的image 和 instance template了 url: 快速构建自定义配置好的VM - 使用GCP instance-template 和 custom-image 但是里面的操作是基于gcloud CLI的。 在实际项目上, 我们对google cloud …

Mysql For Navicate (老韩)

Navicate创建数据库 先创建一个数据库;然后在数据库中创建一张表;在表格当中填入相应的属性字段;打开表, 然后填入相应的实例字段; – 使用数据库图形化App和使用指令来进行操作各有各的好处和利弊; 数据库的三层结构(破除MySQL神秘) 所谓安装Mysql数据库, 就是在主机安装一…

树莓派界面改成中文

安装完树莓派系统(Raspberry Pi OS with Desktop),第一次启动时,时会有如下面二个图所示,让你选择区域时区和语言。 树莓派默认的语言为英文,如果你在安装时没有选择的话,默认的区域为英国,语言为英国英文&…

java数据结构与算法刷题-----LeetCode 680. 验证回文串 II

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 思路:双指针 详情见代码注释 class Solution {//贪心双指针&a…

apisix 插件配置 未生效 未起作用

插件配置完成,却没生效,请检查插件的启用状态是否是启用状态, 以某个route配置的限速插件(limit-req)为例 1.打开dashboad-->路由-->某个路由-->更多-->查看, 查看配置,实际未启用…

C语言之进制转换

C语言之进制转换 一、引言二、十进制与二进制、八进制、十六进制三、二进制与八进制、十六进制四、八进制与十六进制 一、引言 在C语言中,经常使用的整数的进制有十进制、二进制、十六进制(在C语言中以0x或0X为前缀)、八进制(在C…

PTA-感染人数

设某住宿区域是一个nn的方阵,方阵中的每个小方格为一个房间,房间里可能住一个人,也可能空着。第一天,某些房间中住着的人得了一种高传染性的流感,以后每一天,得流感的人会使其邻居(住在其上、下…

【重点!!!】【贪心】45.跳跃游戏II

题目 法1:贪心 贪心是最优解法,必须掌握!重点理解,看B站视频辅助!!! 在具体的实现中,我们维护当前能够到达的最大下标位置,记为边界。我们从左到右遍历数组&#xff0…

对接第三方统一登录接口时,调用对方接口在Nginx上报405响应码错误解决方法

1、先看我的Nginx的配置文件(业务入口局部配置) 2、正确的解决方式是在location代码块中添加一行代码,【error_page 405 200 $request_uri;】如下所示: 3、接口测试 4、备注:如果报以下错误,是因为Nginx中…

【多线程及高并发 三】volatile synchorized 详解

👏作者简介:大家好,我是若明天不见,BAT的Java高级开发工程师,CSDN博客专家,后端领域优质创作者 📕系列专栏:多线程及高并发系列 📕其他专栏:微服务框架系列、…

【快速全面掌握 WAMPServer】04.人生初体验

网管小贾 / sysadm.cc 我们在前面的教程中为小伙伴们详细地介绍了 WampServer 的安装方法,相信大家对于如何安装应该已经有了一个比较完全的掌握。 在完全掌握安装方法之后,我们还可以更加便捷地使用我为大家提供的一键安装批处理程序来快速搞定安装部署…

apache 文件读取命令执行(CVE-2021-41773)

漏洞描述: CVE-2021-41773 漏洞是在 9 月 15 日发布的 2.4.49 版中对路径规范化所做的更改引入到 Apache HTTP Server 中的。此漏洞仅影响具有“require all denied”访问权限控制配置被禁用的Apache HTTP Server 2.4.49 版本。成功的利用将使远程攻击者能够访问易…

【Mybatis】深入学习MyBatis:CRUD操作与动态SQL实战指南

🍎个人博客:个人主页 🏆个人专栏: Mybatis ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 一基本用法 1 CRUD操作 1. 增加(Create) 2. 查询(Read) 3. 更新&#x…

endpoints控制器源码解析

endpoints controller 的实现原理 本文从源码的角度分析KubeController Attachdetach相关功能的实现。 本篇kubernetes版本为v1.27.3。 kubernetes项目地址: https://github.com/kubernetes/kubernetes controller命令main入口: cmd/kube-controller-manager/controller-mana…