【Charles 抓包工具笔记】(自用复盘版)
Charles 抓包工具笔记自用复盘版适用场景HTTP/HTTPS 抓包分析、接口调试、弱网测试、移动端测试最后更新2026-04-09一、Charles 简介1.1 基本信息Charles中文名“青花瓷”是一款基于 HTTP 协议的代理服务器。作用通过成为电脑或浏览器的代理截取请求和响应数据实现抓包分析。官网https://www.charlesproxy.com/试用30 天免费试用过期后仍可启动但每次只能使用 30 分钟。1.2 工作原理简述客户端浏览器/App请求 → Charles代理→ 服务器 → Charles → 客户端。二、安装与基础配置2.1 下载安装从官网下载对应系统版本Windows/macOS/Linux。安装完成后启动 Charles。2.2 浏览器代理设置以 Firefox 为例建议使用 Firefox 浏览器代理设置独立不影响系统其他应用。Firefox → 设置 → 网络设置 → 手动代理配置HTTP 代理127.0.0.1端口8888Charles 默认端口勾选“为所有协议使用相同代理”完成后浏览器访问 http://charlesproxy.com/get 可检查是否正常。三、Charles 核心操作3.1 开启代理抓包Charles 启动后默认开启代理Proxy→Windows Proxy/macOS Proxy。确保Proxy→Proxy Settings中 HTTP 代理勾选端口为8888。浏览器访问任意网址Charles 中即出现请求记录。3.2 断点Breakpoints—— 修改请求/响应应用场景模拟异常数据、绕过前端校验、篡改接口返回。操作步骤Proxy→Breakpoints Settings→ 勾选Enable Breakpoints。点击Add设置断点条件Protocolhttp或httpsHost目标域名如api.example.comPort一般留空或*Path请求路径勾选Request和/或Response表示拦截请求和响应确认后在浏览器触发对应请求。Charles 弹出断点编辑窗口修改Request数据 → 点击Execute修改Response数据 → 点击Execute所有断点执行完毕后关闭断点功能取消勾选Enable Breakpoints。注意如不修改响应直接点击Execute放行。3.3 过滤Filter—— 只显示指定域名目的避免抓包列表被无关请求淹没。方法一临时过滤在 Charles 界面下方的 Filter 输入框中直接输入关键词如api.xxx.com。方法二永久过滤Proxy→Recording Settings→Include标签页。点击Add填入协议、主机、端口、路径主机必填。确认后Charles 只显示匹配 Include 规则的请求。3.4 弱网测试Throttle应用场景模拟 2G/3G/4G 网络环境测试应用在网络不佳时的表现。操作步骤Proxy→Throttle Settings→ 勾选Enable Throttling。选择预设网络如3G或自定义带宽、延迟、丢包率。勾选Only for selected hosts可针对特定域名限速。开始测试 → 完成后关闭Enable Throttling。四、移动端手机/模拟器抓包4.1 前提条件电脑和手机/模拟器连接同一个 WiFi。电脑 IP 地址可在命令行用ipconfig或ifconfig查看。Charles 允许远程连接Proxy→Proxy Settings→ 勾选HTTP Proxy并勾选Allow remote computers to connect。-4.2 手机端代理设置手机 WiFi → 修改网络 → 开启代理手动主机名电脑 IP端口8888保存后手机上的 HTTP 请求会出现在 Charles 中。如果有提示勾选运行允许pc端接入4.3 抓取 HTTPS 请求解决unknown问题若抓包出现unknown说明是 HTTPS 请求需要安装 SSL 证书。4.3.1 电脑端安装 Charles 根证书Help→SSL Proxying→Install Charles Root Certificate。点击“安装证书” → 选择“本地计算机” → “将所有证书放入下列存储” → 选择“受信任的根证书颁发机构”。完成导入后重启 Charles。4.3.2 手机端安装证书Android 通用步骤手机连接 Charles 代理后浏览器访问chls.pro/ssl下载证书.pem文件。安装证书Android 7.0 以下直接点击证书文件按提示安装。Android 7.0 及以上系统限制用户证书需要Root 权限并将证书安装为系统证书见下文。4.3.3 安装 OpenSSL 并配置环境变量Windows 示例在 Android 7.0 上将 Charles 证书安装为系统证书需要使用 OpenSSL 计算证书的 hash 值。下载 OpenSSL推荐使用开源 Windows 版Win64OpenSSL-3.x.x.exe可从 https://slproweb.com/products/Win32OpenSSL.html 下载。或通过包管理器如choco install openssl/winget install openssl。安装步骤1.右键安装包 以管理员身份运行安装程序。2. 选择安装路径例如C:\Program Files\OpenSSL-Win64。3. 一路 Next完成安装弹出页面直接关闭即可。配置环境变量4. 右键“此电脑” → 属性 → 高级系统设置 → 环境变量。5. 在系统变量中找到Path点击“编辑”。6. 新建 → 添加 OpenSSL 的bin目录路径例如C:\Program Files\OpenSSL-Win64\bin。7. 确定保存所有窗口。验证安装打开新的命令提示符CMD或 PowerShell输入openssl version应显示 OpenSSL 版本信息。4.3.4 Android 7.0 安装系统证书以 MuMu 模拟器为例步骤概览从chls.pro/ssl下载charles-proxy-ssl-proxying-certificate.pem。使用 OpenSSL 计算证书 hash 值并重命名。·不要忘记后缀有一个.0!!!!!通过 adb 将证书推送到模拟器的/etc/security/cacerts/目录。修改证书权限为644。详细命令假设已安装 OpenSSL 和 ADB# 计算 hash 值openssl x509-subject_hash_old-incharles-proxy-ssl-proxying-certificate.pem# 输出第一行类似 3a1078b3# 重命名证书文件ren charles-proxy-ssl-proxying-certificate.pem 3a1078b3.0# 通过 adb 推送到模拟器需 root 权限且 system 可写adb root adb remount adb push 3a1078b3.0 /etc/security/cacerts/# 修改权限adb shellchmod644/etc/security/cacerts/3a1078b3.0模拟器开启 root在 MuMu 多开器/设置中开启 Root 权限。4.3.5 iOS 证书信任iOS 10.0 安装证书后需前往设置 → 通用 → 关于本机 → 证书信任设置中开启 Charles 证书开关。如不生效重启手机重试。4.4 手机设置代理后无法上网现象手机无法访问外网。原因Charles 默认开启了外部请求阻止黑名单。解决Proxy→Access Control Settings→ 添加手机的 IP 地址或添加0.0.0.0/0允许所有仅测试环境使用。五、常见问题速查问题原因解决方法抓包显示unknownHTTPS 请求未安装证书安装 Charles 根证书电脑手机手机无法上网未添加手机 IP 到访问控制列表Proxy→Access Control Settings添加手机 IPAndroid 7.0 无法安装用户证书系统限制Root 后安装为系统证书见 4.3.4证书安装后仍显示unknownSSL 代理未开启Proxy→SSL Proxying Settings勾选 Enable并添加 Host/Port:表示全部Charles 启动报端口占用端口 8888 被其他程序占用Proxy→Proxy Settings修改端口或在任务管理器结束占用进程openssl不是内部或外部命令未安装或环境变量未配置安装 OpenSSL 并配置 PATH见 4.3.3六、实用技巧快速清空记录点击 Charles 工具栏的 按钮或Edit→Clear。保存会话File→Save Session便于后续分析。重放请求右键某请求 →Repeat或Repeat Advanced。Map LocalTools→Map Local将远程请求映射到本地文件mock 数据。Throttle 快速开关点击工具栏的图标。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2501348.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!