Charles 全流程指南:安装、设置、抓包与注意事项

        Charles 是一款功能强大的网络抓包工具,支持 HTTP/HTTPS 流量监控、请求/响应分析、断点调试等功能。本文将从安装到实战抓包,提供完整流程及关键注意事项。

一、安装 Charles

  • 官网下载:访问 Charles 官网,选择对应系统版本:

    • Windows:下载 .exe 安装包,双击安装。
    • macOS:下载 .dmg 镜像,拖拽到 Applications 文件夹。
    • Linux:下载 .tar.gz 包,解压后运行 bin/charles

二、初始设置

1. 启动与授权

  • 首次启动时,Charles 会请求权限:
    • macOS/Linux:需授权访问网络(允许防火墙权限)。
    • Windows:可能需管理员权限运行。

2. 代理配置

  • 自动代理设置
    Charles 默认监听 8888 端口,并自动设置系统代理。
    • 手动检查代理
      • Windows/macOS:系统设置 → 网络 → 代理 → 确保 HTTP 和 HTTPS 代理指向 127.0.0.1:8888
      • 浏览器:若使用独立代理(如 Chrome),需安装插件(如 SwitchyOmega)或手动配置。

三、基础抓包流程

1. 开始抓包

  • 启动抓包:点击工具栏的 Start Recording(红色圆点图标)。
  • 触发网络请求:在浏览器或应用中操作(如访问网页、调用 API)。
  • 查看请求:左侧面板显示捕获的域名和请求列表,右侧显示详情(请求头、响应内容等)。

2. 过滤请求

  • 域名过滤:在 Filter 栏输入关键字(如 api.example.com)。
  • Focus 功能:右键域名 → Focus,仅显示选定域名的请求。

3. 保存与导出

  • 保存会话File → Save Session(格式为 .chls)。
  • 导出请求:右键请求 → **Export → cURLHTTP` 文件。

四、HTTPS 抓包配置

1. 安装 Charles 根证书

  • 步骤
    1. 访问 chls.pro/ssl(Charles 自动生成页面)。
    2. 下载证书(charles-proxy-ssl-proxying-certificate.pem)。
    3. 安装证书
      • macOS:双击证书 → 钥匙串访问 → 找到证书 → 右键 信任 → 设置为始终信任。
      • Windows:双击证书 → 安装到 受信任的根证书颁发机构
      • Android/iOS:将证书文件发送到设备并安装(需在设置中手动信任)。

2. 启用 SSL 代理

  1. 菜单设置Proxy → SSL Proxying Settings → SSL Proxying
  2. 添加域名:点击 Add,输入 Host(如 *)和 Port(如 443),支持通配符。

五、移动设备抓包

1. 配置手机代理

  1. 连接同一网络:手机与电脑需在同一局域网。
  2. 设置代理
    • Android:Wi-Fi → 修改网络 → 高级 → 代理设为 手动,输入电脑 IP 和端口 8888
    • iOS:Wi-Fi → 点击 i 图标 → 配置代理 → 手动 → 输入电脑 IP 和端口。

2. 安装手机证书

  • Android
    1. 手机浏览器访问 chls.pro/ssl,下载并安装证书。
    2. 设置 → 安全 → 加密与凭据 → 安装证书 → 选择文件。
  • iOS
    1. 手机浏览器访问 chls.pro/ssl,下载证书。
    2. 设置 → 通用 → VPN 与设备管理 → 安装描述文件 → 信任证书。
  • 如果下载不到可以使用PC端下载 Charles Root Certificate Help


六、高级功能

1. 断点调试

  • 设置断点:右键请求 → Breakpoints → 启用断点。
  • 修改请求/响应:触发请求后,可在断点处修改参数或响应内容。

2. 重写请求(Rewrite)

  • 菜单Tools → Rewrite → 创建规则,修改请求头、URL 或响应内容。

3. 模拟慢速网络

  • 菜单Proxy → Throttle Settings → 启用限速,设置带宽和延迟。

七、注意事项

1. 法律与隐私

  • 合法使用:仅抓取自己拥有权限的应用或网站流量。
  • 敏感信息:避免在公共场合捕获含密码、Token 的请求。

2. 证书问题

  • 信任失败:确保证书已正确安装到系统信任库(非用户证书库)。
  • 证书过期:定期从 chls.pro/ssl 重新下载安装。

3. 抓包失败排查

  • 代理未生效:检查系统/浏览器代理设置,关闭 VPN 或防火墙。
  • HTTPS 抓不到:确认 SSL 代理配置和证书信任状态。

4. 性能优化

  • 过滤请求:避免捕获过多无关请求导致卡顿。
  • 关闭 Charles:长时间不用时关闭以减少资源占用。

八、总结

通过上述步骤,你可以完成 Charles 的安装、代理配置、HTTPS 解密及移动端抓包。关键点:

  1. 正确安装证书并信任。
  2. 代理设置需覆盖目标设备和应用。
  3. 使用过滤和断点提高调试效率。

练习建议:尝试捕获一个简单网页的请求,分析其请求头和响应结构,逐步熟悉 Charles 的功能!

相关推荐

adb 常用命令汇总_adb命令-CSDN博客文章浏览阅读3.8w次,点赞51次,收藏355次。Android Debug Bridge (ADB) 是一个多功能命令行工具,它允许你与连接的Android设备进行通信。ADB主要用于调试和与设备进行各种交互,如安装和调试应用、访问设备的shell、复制文件等。它包含在Android SDK中,并且是Android开发者的重要工具之一。_adb命令 https://shuaici.blog.csdn.net/article/details/135509740MacOS 15.3.1 安装 GPG 提示Error: unknown or unsupported macOS version: :dunno-CSDN博客文章浏览阅读2.7k次,点赞37次,收藏36次。当你看到 -bash: gpg: command not found 这样的错误消息时,它表明 Bash 终端无法在你的 macOS 系统上找到 gpg 命令。这通常意味着 GPG(GNU Privacy Guard)没有安装在你的系统上,或者 GPG 的可执行文件没有包含在你的 PATH 环境变量中。_error: unknown or unsupported macos version: :dunno https://shuaici.blog.csdn.net/article/details/146237563

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

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

相关文章

全球长序列高分辨率光合有效辐射(PAR)(1984-2018)

时间分辨率:时空间分辨率:1km - 10km共享方式:开放获取数据大小:188.92 GB数据时间范围:1984-01-01 — 2018-12-31元数据更新时间:2022-04-29 数据集摘要 本数据集是一个包含接近35年(1984-201…

【Zephyr 系列 11】使用 NVS 实现 BLE 参数持久化:掉电不丢配置,开机自动加载

🧠关键词:Zephyr、NVS、非易失存储、掉电保持、Flash、AT命令保存、配置管理 📌目标读者:希望在 BLE 模块中实现掉电不丢配置、支持产测参数注入与自动加载功能的开发者 📊文章长度:约 5200 字 🔍 为什么要使用 NVS? 在实际产品中,我们经常面临以下场景: 用户或…

解锁Java线程池:性能优化的关键

一、引言 在 Java 并发编程的世界里,线程池是一个至关重要的概念。简单来说,线程池就是一个可以复用线程的 “池子”,它维护着一组线程,这些线程可以被重复使用来执行多个任务,而不是为每个任务都创建一个新的线程。​…

一站式直播工具:助力内容创作者高效开启直播新时代

近年来,随着互联网技术的不断进步和短视频、直播行业的爆发式增长,越来越多的企业和个人投入到直播电商、互动娱乐、在线教育等场景。直播运营过程中,涉及到数据统计、弹幕互动、流程自动化、内容同步等诸多环节。如何提升运营效率、减少人工…

数论——同余问题全家桶3 __int128和同余方程组

数论——同余问题全家桶3 __int128和同余方程组 快速读写和__int128快速读写__int128 中国剩余定理和线性同余方程组中国剩余定理(CRT)中国剩余定理OJ示例模板题曹冲养猪 - 洛谷模板题猜数字 - 洛谷 扩展中国剩余定理扩展中国剩余定理OJ示例模板题扩展中国剩余定理(…

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…

㊗️高考加油

以下是极为详细的高考注意事项清单,涵盖考前、考中、考后全流程,建议逐条核对: 一、考前准备 1. 证件与物品 必带清单: 准考证:打印2份(1份备用),塑封或夹在透明文件袋中防皱湿。身…

学习路之PHP--webman安装及使用、webman/admin安装

学习路之PHP--webman安装及使用、webman/admin安装 一、安装webman二、运行三、安装webman/admin四、效果五、配置Nginx反向代理(生产环境:可选)六、win10运行问题集七、使用 一、安装webman 准备: PHP > 8.1 Composer > 2…

mamba架构和transformer区别

Mamba 架构和 Transformer 架构存在多方面的区别,具体如下: 计算复杂度1 Transformer:自注意力机制的计算量会随着上下文长度的增加呈平方级增长,例如上下文增加 32 倍时,计算量可能增长 1000 倍,在处理长序…

Python爬虫实战:研究mechanize库相关技术

1. 引言 随着互联网数据量的爆炸式增长,网络爬虫已成为数据采集和信息挖掘的重要工具。Python 作为一种功能强大且易于学习的编程语言,拥有丰富的爬虫相关库,如 Requests、BeautifulSoup、Scrapy 等。Mechanize 库作为其中的一员,特别擅长处理复杂的表单提交和会话管理,为…

如何使用索引和条件批量更改Series数据

视频演示 如何通过索引与布尔条件修改 pandas Series?实操演示来了 一、前言:掌握Series数据修改是数据处理的基础 在使用Python进行数据分析时,Pandas库的Series对象是最常用的结构之一。在上一个视频中我们已经学习了如何创建Series对象&a…

CentOS 7 如何安装llvm-project-10.0.0?

CentOS 7 如何安装llvm-project-10.0.0? 需要先升级gcc至7.5版本,详见CentOS 7如何编译安装升级gcc版本?一文 # 备份之前的yum .repo文件至 /tmp/repo_bak 目录 mkdir -p /tmp/repo_bak && cd /etc/yum.repo.d && /bin/mv ./*.repo …

6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器

第三周 Day 1 🎯 今日目标 掌握 Python 中函数式编程的核心概念熟悉 map()、filter()、reduce() 等高阶函数结合 lambda 和 列表/字典 进行数据处理练习了解生成器与迭代器基础,初步掌握惰性计算概念 🧠 函数式编程基础 函数式编程是一种…

SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则

目录 一、前言二、版本选择和适配 2.1、本文使用各组件版本2.2、官方推荐版本 三、部署sentinel-dashboard 3.1、下载 sentinel-dashboard jar包3.2、启动 sentinel-dashboard 四、Gateway 集成 Sentinel实现控制台配置流控规则测试 4.1、添加Gateway 集成 Sentinel 包4.2、添加…

Linux八股【1】-----虚拟内存

参考:小林coding 虚拟内存存在的目的? 为了能够同时运行多个进程同时进程之间互不干扰 虚拟地址通过MMU找到物理地址 物理内存怎么映射的? 物理内存的映射方法主要有两种,内存分段和内存分页 内存分段 把程序的不同区&#…

惊艳呈现:探索数据可视化的艺术与科学

一张图表真能胜过千言万语?当超市销售数据变成跳动的热力图,当城市交通拥堵状况化作流动的光带,数据可视化正以超乎想象的方式重塑我们认知世界的维度。但你是否想过,那些看似精美直观的图表背后,藏着怎样精密的科学逻…

06-排序

排序 1. 排序的概念及其应用 1.1 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键…

从失效文档到知识资产:Gitee Wiki 引领研发知识管理变革

在关键领域软件研发的复杂生态中,知识管理正成为制约行业发展的关键瓶颈。随着软件系统规模不断扩大、技术栈日益复杂,传统文档管理模式已难以满足现代软件工厂对知识沉淀、共享和传承的需求。Gitee Wiki作为新一代知识管理平台,通过技术创新…

MySQL 性能调优入门 - 慢查询分析与索引优化基础

MySQL 性能调优入门 - 慢查询分析与索引优化基础 性能问题诊断的通用思路 当数据库出现性能问题时,切忌盲目猜测或随意调整参数。一个科学的诊断流程通常包括: 基于数据,而非猜测 (Data-Driven, Not Guesswork):利用我们在上一篇讨论的性能监控指标和建立的基线。查看哪些…

8天Python从入门到精通【itheima】-73~74(数据容器“集合”+案例练习)

目录 73节-集合的基础定义和操作 1.学习目标 2.为什么要用集合 3.集合的定义 4.关于集合的常用操作 【1】添加新元素:add方法 【2】移除元素:remove方法 【3】随机取出元素:pop方法 【4】清空集合:clear方法 【5】取出两…