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

简介: 『Charles数据抓包功攻略』| 如何使用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下载

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】打开断点设置窗口:
    在这里插入图片描述
  • 双击这个接口,可以进行请求和响应数据设置:
    在这里插入图片描述
目录
相关文章
|
7月前
|
Web App开发 小程序 网络安全
Charles抓包微信小程序请求响应数据
Charles抓包微信小程序请求响应数据
972 0
|
4月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
38380 10
|
10月前
|
人工智能 数据可视化 测试技术
Apifox与Apipost对比,2025年功能对比与选项建议
Apifox 和 Apipost 作为国内 API 一体化协作平台的佼佼者,都在不断进化,力求为用户提供更全面的解决方案。本文将聚焦“2025 版”,基于两款工具截至 2024 年末至 2025 年中旬的预期功能和行业发展趋势,进行一次全方位、深度的功能对比,旨在为开发者、测试工程师、产品经理及技术决策者在选型时提供有价值的参考。
2599 123
|
12月前
|
人工智能 固态存储 iOS开发
5分钟搞定Photoshop 2025安装:官方下载+许可证激活避坑指南
Adobe Photoshop 2025 是 Adobe 公司推出的最新图像处理软件,广泛应用于平面设计、摄影后期和 UI 设计等领域。其核心功能包括智能 AI 工具(一键抠图、生成填充等)、高效工作流(优化图层管理与色彩调整)、跨平台兼容(支持 Windows 11 和 macOS 15)以及云协作功能(与 Adobe Creative Cloud 集成)。本文详细介绍软件的安装流程、系统要求、正版激活方法及常见问题解决方案,并提供扩展学习资源,帮助用户更好地掌握这款强大工具。
39312 3
|
11月前
|
XML JSON API
如何在 Postman 中上传文件和 JSON 数据
如果你想在 Postman 中同时上传文件和 JSON 数据,本文将带你一步一步地了解整个过程,包括最佳实践和技巧,让你的工作更轻松。
|
11月前
|
Java Shell 开发工具
【Dockerfile】在openjdk镜像中添加常用命令工具
总的来说,Dockerfile提供了一种灵活的方式来创建和定制Docker镜像。通过在Dockerfile中添加常用的命令工具,我们可以创建一个满足我们需求的镜像,从而提高我们的工作效率。
270 15
|
Web App开发 网络协议 安全
网络编程懒人入门(十六):手把手教你使用网络编程抓包神器Wireshark
Wireshark是一款开源和跨平台的抓包工具。它通过调用操作系统底层的API,直接捕获网卡上的数据包,因此捕获的数据包详细、功能强大。但Wireshark本身稍显复杂,本文将以用抓包实例,手把手带你一步步用好Wireshark,并真正理解抓到的数据包的各项含义。
5215 2
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
33364 0
|
Web App开发 存储
常见抓包工具配置抓取HTTPS
常见抓包工具配置抓取HTTPS
2062 1
|
监控 数据可视化 测试技术
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
【5月更文挑战第23天】性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
2546 6
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控

热门文章

最新文章