当前位置: 首页 > news >正文

Charles 抓包入门教程

一、什么是 Charles?

Charles 是一款功能强大的抓包工具,可以拦截、查看、分析电脑和手机上的 HTTP/HTTPS 网络请求。常用于:

  • 查看网页或App发送的请求和返回的数据
  • 调试接口、分析问题
  • 模拟网络环境(断网、慢速网络)
  • 修改请求或响应内容(调试更方便)

常见场景比如:调试接口、分析APP行为、逆向分析、性能优化等等。
在这里插入图片描述


二、下载安装 Charles

  1. 打开charles中文网:https://www.charles.xin/
  2. 点击下载适合自己系统的版本(支持 Windows 和 macOS)
  3. 安装好后,第一次启动会弹出一些权限请求,按提示允许。
    在这里插入图片描述

Charles 是收费软件,有30天免费试用期。


三、Charles 基本界面介绍

  • Session窗口:显示抓到的所有请求
  • Structure/Sequence模式
    • Structure:以域名分组
    • Sequence:按时间顺序排列
  • 请求详情(选中一条请求后查看):
    • Request:请求内容(Header、Body等)
    • Response:返回内容(Header、Body等)
  • 工具栏常用按钮
    • 开关抓包
    • 清除当前记录
    • 录制、停止录制
    • 开启/关闭SSL代理
      在这里插入图片描述

四、电脑端抓包

默认情况下,安装好 Charles 后就能抓取本机的网络请求。

  1. 打开 Charles
  2. 打开浏览器访问任意网站,Charles 会实时显示请求
  3. 查看每条请求的详细内容(请求头、请求参数、响应数据)

如果是 HTTPS 网站,需要进行SSL 代理配置(下一节讲)。


五、设置 HTTPS 抓包(SSL代理配置)

为了能查看 HTTPS 请求的明文内容,需要让 Charles 成为中间人,方法如下:

  1. 在 Charles 菜单栏,点击:
    • Help > SSL Proxying > Install Charles Root Certificate
  2. 安装证书到系统中,并设为信任
    • Mac:系统会打开钥匙串,手动把 Charles 根证书设为「始终信任」
    • Windows:系统提示导入证书,一路确认即可
  3. 在 Charles 中开启 SSL 抓取
    • Proxy > SSL Proxying Settings > Enable SSL Proxying
    • 添加需要抓 HTTPS 的域名,或者直接加通配符 *:* (表示抓所有)
      在这里插入图片描述

完成这些设置后,就可以正常抓 HTTPS 请求的数据了!


六、手机抓包

Charles 不仅可以抓电脑上的流量,还可以抓取 手机 App 或浏览器发出的请求

基本步骤:

  1. 确保 手机和电脑在同一WiFi网络
  2. 查看电脑 IP 地址(在 Charles 菜单栏 Help > Local IP Address
  3. 在手机WiFi设置里,配置代理
    • 手动代理
    • 服务器填 Charles 运行的电脑 IP
    • 端口默认 8888(Charles 监听端口)
  4. 此时手机访问网页或打开APP,Charles 会弹窗提示,是否允许连接,点「允许」。
  5. 安装 Charles 的根证书到手机上(iOS/Android 都有不同的安装步骤,Charles 会提示)
  6. iOS特别注意
    • 安装证书后,还要到设置-通用-关于本机-证书信任设置,手动把 Charles 证书设为「信任」。
      在这里插入图片描述

通过上面设置之后,在手机里面打开浏览器,访问页面https://www.charles.xin便可以看到抓到了数据
在这里插入图片描述

http://www.xdnf.cn/news/183655.html

相关文章:

  • 代码随想录算法训练营第60期第二十天打卡
  • 详细图解 Path-SAM2: Transfer SAM2 for digital pathology semantic segmentation
  • git每次push都要输入用户名和密码很繁琐,只在第一次输入之后都不需要的解决方法
  • 使用PHP对接印度股票市场数据
  • 睿享会丨走进西安御品轩
  • 代码随想录第28天:动态规划1
  • 每日c/c++题 备战蓝桥杯(P2392 kkksc03考前临时抱佛脚)
  • 若依/RuoYi 内置功能
  • tensor 的连续性 与 contiguous() 方法
  • 全星APQP软件系统:驱动芯片半导体行业研发管理迈向高效与合规新高度
  • 远程通信历史上为什么电话网络从模拟信号转向了数字信号?
  • Super Sample Tasker 学习-1
  • disruptor-spring-boot-start版本优化升级
  • LeetCode 每日一题 2025/4/21-2025/4/27
  • C++初阶-模板初阶
  • 杭电oj(1008、1012、1013、1014、1017)题解
  • 【文心快码】确实有点东西!
  • Redis 通用命令与keyspace
  • element-ui dropdown 组件源码分享
  • QML中的色彩应用
  • 调度算法的模拟及应用
  • 接口测试详解
  • electron-vite 应用打包自定义图标不显示问题
  • 28-29【动手学深度学习】批量归一化 + ResNet
  • Java线程池详解
  • 2024年12月GESP 图形化 一级考级真题——飞行的小猫
  • Linux的例行性工作(crontab)
  • 码蹄杯——tips
  • MAGI-1: Autoregressive Video Generation at Scale
  • 基于Jamba模型的天气预测实战