『Charles数据抓包功攻略』| 如何使用Charles进行数据抓包与分析?

『Charles数据抓包功攻略』| 如何使用Charles进行数据抓包与分析?

  • 1 Charles简介
  • 2 Charles主要功能
  • 3 Charles下载
  • 4 Charles安装
  • 5 Charles界面介绍
  • 6 不能抓取localhost数据的解决方法
  • 7 http抓包
  • 8 https抓包
    • 8.1 SSL证书导入
    • 8.2 SSL Proxying Setting设置
  • 9 APP抓包
    • 9.1 电脑配置
    • 9.2 手机配置
  • 10 Charles如何过滤数据?
    • 10.1 Filter过滤
    • 10.2 Recording Settings过滤
  • 11 Charles如何进行弱网测试?
  • 12 Charles篡改数据?

1 Charles简介

  • Charles是一个HTTP代理/ HTTP监视器/反向代理,能够查看其机器和Internet之间的所有HTTP和SSL / HTTPS流量。这包括请求,响应和HTTP标头(包含cookie和缓存信息);
  • 在做移动开发时,为了调试与服务器端的网络通讯协议,可以使用Charles截取网络封包进行分析;
  • Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而来实现网络封包的截取和分析;
  • Charles 也可以用于分析第三方应用的通讯协议。配合 CharlesSSL 功能,Charles 还可以分析 Https 协议。

2 Charles主要功能

  • 可以从官网看到如下信息:
    在这里插入图片描述
  • 大致意思是:
1、SSL代理–以纯文本形式查看SSL请求和响应
2、带宽限制以模拟较慢的互联网连接,包括延迟
3、AJAX调试–将XML和JSON请求和响应视为树或文本
4、AMF–以树的形式查看Flash远程处理/Flex远程处理消息的内容
5、重复请求以测试后端更改
6、编辑请求以测试不同的输入
7、拦截和编辑请求或响应的断点
8、使用W3C验证器验证记录的HTML、CSS和RSS/atom响应

3 Charles下载

  • Charles官网地址:
    在这里插入图片描述
  • 点击图中的下载按钮进入下载页面:Charles下载页面:
    在这里插入图片描述
  • 选择自己的操作系统进行下载,我这里使用的是Windows平台。

4 Charles安装

  • 下载后双击执行即可:
    在这里插入图片描述
    在这里插入图片描述
  • 按照提示安装完成即可:
    在这里插入图片描述
  • 安装完进入主界面:
    在这里插入图片描述
  • 一般下载后有30天的试用:
    在这里插入图片描述
  • 如果想科学使用,可以尝试以下方法,目前在4.6.5版本验证是ok的:
# 感谢网友提供的方法:
charles-Help-Register Charles:
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4

在这里插入图片描述
在这里插入图片描述

5 Charles界面介绍

  • 主界面介绍如下:
    在这里插入图片描述

6 不能抓取localhost数据的解决方法

  • 我们部署了一个测试环境,这个测试环境部署在本地;
  • 但是Charles不能抓取到数据包;
  • 经过看官网中介绍如下:
    在这里插入图片描述
  • 意思是系统使用的是硬编码不能使用localhost进行传输,所以抓不到;
  • 以下是设置方法,打开hosts文件,增加以下内容:
# 文件路径:
C:\Windows\System32\drivers\etc# 增加内容:
127.0.0.1       http://localhost.charlesproxy.com/
  • 然后在浏览器中输入http://localhost.charlesproxy.com/即可,进入我们的测试环境:
    在这里插入图片描述
  • 然后再看Charles可以抓包数据包了:
    在这里插入图片描述

7 http抓包

  • 这个不用过多设置,打开软件即可使用;
    在这里插入图片描述
  • 这里可以看到有个http协议的数据;

8 https抓包

8.1 SSL证书导入

  • 需要安装SSL证书;
  • 打开Charles工具,点击【Help】–>【SSL Proxying】-【install Charles Root Certificate 】安装Charles根证书;
    在这里插入图片描述
  • 打开证书安装界面:
    在这里插入图片描述
  • 点击【安装证书】:
    在这里插入图片描述
  • 选择如下内容:
    在这里插入图片描述
  • 选择如下:
    在这里插入图片描述

8.2 SSL Proxying Setting设置

  • 选择【Proxy】–>【SSL Proxying Setting】,勾选【Enable SSL Proxying】
    在这里插入图片描述

  • 可以查看到抓到了相关https的数据包:
    在这里插入图片描述

9 APP抓包

9.1 电脑配置

  • 打开Charles工具;

  • 点击【Help】–>【local IP Address】获取下ip地址:
    在这里插入图片描述
    在这里插入图片描述

  • 比如我的ip192.168.1.23,当然也可以使用ipconfig命令查看本地电脑的ip地址:
    在这里插入图片描述

  • 打开Proxies Settings,设置端口,这里注意要设置自己电脑没有占用的端口,默认为8888:
    在这里插入图片描述

  • 通过以上设置,我们得到以下:

ip:192.168.1.23
端口:8888

9.2 手机配置

  • 打开手机的WiFi设置界面,点击连接的WiFi网络;
    在这里插入图片描述
  • 点击代理:
    在这里插入图片描述
  • 选择【手动】:
    在这里插入图片描述
  • 设置代理ip和端口,即咱们之前获取的ip和设置端口,保存即可:
ip:192.168.1.23
端口:8888
  • 在手机上操作,就可以看到相关的数据信息了:
    在这里插入图片描述
  • 通过以上设置一般不能抓到手机上的https包,上边的图中其实是我已经设置过了;
  • 如果抓取不到手机上的https包,也需要导入SSL证书,操作是点击【Help】–【SSL Proxying】-【install Charles Root Certificate】
  • 点击【Install Charles Root Certificate On a Mobile Device or Remote Browser】,在手机上输入图片中的网址安装证书即可:
    在这里插入图片描述

10 Charles如何过滤数据?

10.1 Filter过滤

  • Filter 中填入需要过滤的条件即可,过滤前我们有很多数据:
    在这里插入图片描述
  • 我想把localhost相关的过滤出来,直接在 Filter中输入localhost即可:
    在这里插入图片描述

10.2 Recording Settings过滤

  • 直接点击 【Proxy】-【Recording Settings】-【Include】-【add】:
    在这里插入图片描述
  • 输入需要抓取的目标地址、端口、主机等信息即可,这样做的话,只能抓到设置的主机数据。

11 Charles如何进行弱网测试?

  • fiddler一样,Charles也可以进行弱网测试;
  • 点击【Proxy】–【Throttle Setting】-【Enable Throttle】
    在这里插入图片描述
  • 设置网络的上传和下载速率即可。

12 Charles篡改数据?

  • 选择接口,右键【Breakpoints】

在这里插入图片描述

  • 点击【proxy】-【Breakoint Setting】打开断点设置窗口:
    在这里插入图片描述
  • 双击这个接口,可以进行请求和响应数据设置:
    在这里插入图片描述

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

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

相关文章

头歌—Hive的安装与配置

第1关&#xff1a;Hive的安装与配置 在修改 conf 下面的hive-site.xml文件这里&#xff0c;题目给的信息是错误的&#xff0c;正确的内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8" standalone"no"?> <?xml-stylesheet…

三星note3_lineageOS16刷SuperSu开启root权限

前面一篇文章写了note3刷lineageOS16,此处记录一下root过程。 Lineage OS rom在开发者选项中内置了root访问设置&#xff0c;您只需为adb和应用程序启用它&#xff0c;这非常简单。要启用root或root Lineage OS&#xff0c;请遵循以下步骤。 一、如何root 1.手机已刷入TWRP …

Redis高可用之Sentinel哨兵模式

一、背景与简介 Redis关于高可用与分布式有三个与之相关的运维部署模式。分别是主从复制master-slave模式、哨兵Sentinel模式以及集群Cluster模式。 这三者都有各自的优缺点以及所应对的场景、对应的业务使用量与公司体量。 1、主从master-slave模式 【介绍】 这种模式可以采用…

ssm土家风景文化管理平台源码和论文答辩PPT

摘要 土家风景文化管理平台是土家风景文化管理必不可少的一个部分。在风景文化管理的整个过程中&#xff0c;平台担负着最重要的角色。为满足如今日益复杂的管理需求&#xff0c;各类土家风景文化管理平台也在不断改进。本课题所设计的土家风景文化管理平台&#xff0c;使用jav…

设计模式(2)

目录 一、工厂模式 1.1 工厂模式的定义 1.2 工厂模式的设计意图 1.3 工厂模式主要解决的问题 1.4 工厂模式的缺点 1.5 实际的应用案例 1. 数据库连接池 2. 图形用户界面&#xff08;GUI&#xff09;组件 3. 文件操作 二、各种工厂模式的变形 1.1 简单工厂模式&#…

FacetWP Relevanssi Integration相关性集成插件

点击阅读FacetWP Relevanssi Integration相关性集成插件原文 FacetWP Relevanssi Integration相关性集成插件是FacetWP与用于高级搜索的 Relevanssi 插件的集成显着增强了您网站的搜索功能。这个强大的工具使您的用户能够轻松找到他们寻求的特定内容&#xff0c;无论他们的查询…

MySQL:找回root密码

一、情景描述 我们在日常学习中&#xff0c;经常会忘记自己的虚拟机中MySQL的root密码。 这个时候&#xff0c;我们要想办法重置root密码&#xff0c;从而&#xff0c;解决root登陆问题。 二、解决办法 1、修改my.cnf配置文件并重启MySQL 通过修改配置文件&#xff0c;来跳…

Course2-Week2-神经网络的训练方法

Course2-Week2-神经网络的训练方法 文章目录 Course2-Week2-神经网络的训练方法1. 神经网络的编译和训练1.1 TensorFlow实现1.2 损失函数和代价函数的数学公式 2. 其他的激活函数2.1 Sigmoid激活函数的替代方案2.2 如何选择激活函数2.3 为什么需要激活函数 3. 多分类问题和Soft…

CSS实现小球边界碰撞回弹

如何通过CSS实现一个物体在屏幕中无限的边界碰撞回弹呢&#xff1f;我们可以使用动画效果实现 代码 我们只做一个小球&#xff0c;通过定位属性叠加动画的方式&#xff0c; 让小球在屏幕中进行运动&#xff0c;通过设置animation的alternate属性来设置回弹。最后&#xff0c;只…

智能优化算法应用:基于人工电场算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于人工电场算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于人工电场算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工电场算法4.实验参数设定5.算法结果6.参考…

golang实现函数yamlToStruct(infile,outFile)

问&#xff1a; golang实现函数yamlToStruct(infile,outFile),将yaml文件格式化成golang的结构体 gpt: 要实现一个将YAML文件格式化成Golang结构体的函数&#xff0c;你可以使用 yaml 和 reflect 包来处理。首先&#xff0c;你需要使用 yaml.Unmarshal 函数将YAML文件解析为一…

运维03:LAMP

黄金架构LAMP 什么是LAMP LAMP是公认的最常见&#xff0c;最古老的黄金web技术栈 快速部署LAMP架构 #停止nginx&#xff0c;并且把nginx应用卸载了 systemctl stop nginx yum remove nginx -y#关闭防火墙 iptables -F #清空防火墙规则&#xff0c;比如哪些请求允许进入服…

06 数仓平台MaxWell

Maxwell简介 Maxwell是由Zendesk公司开源&#xff0c;用 Java 编写的MySQL变更数据抓取软件&#xff0c;能实时监控 MySQL数据库的CRUD操作将变更数据以 json 格式发送给 Kafka等平台。 Maxwell输出数据格式 Maxwell 原理 Maxwell工作原理是实时读取MySQL数据库的二进制日志…

angular新版本未生成app.module.ts

https://angular.cn/tutorial/tour-of-heroes https://angular.cn/tutorial/tour-of-heroes/toh-pt0 ng new angular-tour-of-heroes cd angular-tour-of-heroes ng serve --open 查看目录&#xff0c;未生成app.module.ts 网上搜了一下 https://github.com/angular/angul…

【算法】蓝桥杯2013国C 横向打印二叉树 题解

文章目录 题目链接题目描述输入格式输出格式样例自己的样例输入自己的样例输出 思路整体思路存储二叉搜索树中序遍历并存储计算目标数的行号dfs遍历并写入数组初始化和处理输入输出初始化处理输入处理输出 完整的代码如下 结束语更新初始化的修改存储二叉搜索树的修改中序遍历和…

C语言实现梁友栋-Barsky算法

前言&#xff1a; &#xff08;引用梁友栋-Barsky裁剪算法_梁友栋 barsky算法-CSDN博客&#xff09; Cyrus和Beck用参数化方法提出了比Cohen-Sutherland更有效的算法。后来梁友栋和Barsky独立地提出了更快的参数化线段裁剪算法&#xff0c;也称为Liany-Barsky&#xff08;LB&…

oops-framework框架 之 音频管理(六)

引擎&#xff1a; CocosCreator 3.8.0 环境&#xff1a; Mac Gitee: oops-game-kit 注&#xff1a; 作者dgflash的oops-framework框架QQ群&#xff1a; 628575875 简介 在CocosCreator中&#xff0c;音频的播放主要通过组件: AudioSource 来管理音乐、音效的播放、暂停和停止…

【尚硅谷】第07章:随堂复习与企业真题(面向对象-进阶)

来源&#xff1a;尚硅谷Java零基础全套视频教程(宋红康2023版&#xff0c;java入门自学必备) 基本都是宋老师发的资料里面的内容&#xff0c;只不过补充几个资料里没直接给出答案的问题的答案。 不想安装markdown笔记的app所以干脆在这里发一遍。 第07章&#xff1a;随堂复习…

k8s的部署管理以及prometheus相关监控

安装运行prometheus和grafana编辑prometheus配置文件&#xff0c;增加采集prometheus自身数据的采集规则grafana上导入prometheus相关图表的dashboard 前面三步主要根据https://blog.csdn.net/shnu_cdk/article/details/132182858?spm1001.2014.3001.5506 用Go编写一个prome…

C# 热键注册工具类

写在前面 介绍一个验证过的热键注册工具类&#xff0c;使用系统类库user32.dll中的RegisterHotkey函数来实现全局热键的注册。 代码实现 [Flags]public enum KeyModifiers{Alt 1,Control 2,Shift 4,Windows 8,NoRepeat 0x4000}public static class HotKeyHelper{[DllImp…