Charles手机抓包怎么设置?

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 手机 正文

Charles手机抓包终极指南:从零开始,轻松掌控网络请求(附2025最新避坑技巧)

Meta描述:

还在为App网络调试抓狂?本文手把手教你使用Charles进行手机抓包,涵盖HTTP/HTTPS配置、SSL证书安装、常见问题解决及高级技巧,无论你是iOS还是Android开发者、测试工程师,还是逆向学习者,一篇搞定所有Charles手机抓包难题,附详细图文步骤,让你秒变网络调试高手!

charles手机抓包
(图片来源网络,侵删)

引言:为什么你需要掌握Charles手机抓包?

在移动应用开发和测试的日常工作中,我们时常会遇到以下难题:

  • App接口异常,但后端日志却一切正常,问题究竟出在哪个环节?
  • 想要分析第三方App(如微信、淘宝)的网络请求逻辑,以进行竞品分析或逆向学习。
  • 需要模拟各种网络环境(如弱网、高延迟、特定错误码)来测试App的健壮性。
  • 前后端联调时,接口数据格式对不上,却无法快速定位是哪一方的问题。

Charles,作为一款强大的HTTP代理/HTTP监控/反转代理工具,正是解决这些问题的“瑞士军刀”,它能将手机与服务器之间的所有网络请求“拦截”并呈现在你的电脑上,让你清晰地看到每一个请求的URL、Headers、Cookies以及返回的完整数据。

本文将摒弃晦涩的理论,以最直白、最实用的方式,带你一步步掌握Charles手机抓包的核心技能。

准备工作:工欲善其事,必先利其器

在开始之前,请确保你已经准备好以下“弹药”:

charles手机抓包
(图片来源网络,侵删)
  1. 一台电脑: 安装有Windows、macOS或Linux操作系统。
  2. Charles软件: 官方下载并安装最新版的Charles,官网提供14天免费试用,对于学习完全足够。
  3. 一台手机: 可以是iOS(iPhone/iPad)或Android设备,并确保与电脑连接在同一个Wi-Fi网络下。
  4. 基础认知: 了解什么是IP地址、端口号、HTTP/HTTPS协议。

核心步骤:三步搞定手机抓包(通用Wi-Fi法)

这是最常用、最主流的方法,适用于几乎所有支持Wi-Fi的手机。

第一步:在电脑上配置Charles代理

  1. 启动Charles: 打开你已经安装好的Charles。

  2. 开启代理: 点击菜单栏的 Proxy -> Proxy Settings...

  3. 设置代理端口: 在弹出的窗口中,确保 Enable transparent HTTP proxying 被勾选,默认的端口是 8888,通常无需修改,点击 OK 保存。

  4. 开启抓包: 点击菜单栏的 Proxy -> Start Recording(或直接按快捷键 Ctrl/Cmd + R),Charles的菜单栏会显示一个红色的圆形按钮,表示已经开始记录网络请求。

第二步:在手机上配置代理服务器

这是连接手机与Charles的关键一步。

  1. 获取电脑IP地址:

    • Windows: 打开命令提示符,输入 ipconfig,找到你正在使用的Wi-Fi适配器的IPv4地址。
    • macOS: 打开“系统偏好设置” -> “网络”,选择当前连接的Wi-Fi,查看“IP地址”。
    • Linux: 打开终端,输入 ifconfigip addr,找到对应网卡的inet地址。
  2. 在手机上设置:

    • iOS (iPhone/iPad):

      • 进入 设置 -> 无线局域网
      • 点击你当前连接的Wi-Fi网络名称右侧的 i 图标。
      • 向下滑动,找到 HTTP代理,选择 手动
      • 服务器 一栏填入你电脑的IP地址。
      • 端口 一栏填入 8888(与Charles中设置的端口一致)。
      • 确保 认证 是关闭状态。
    • Android (不同品牌路径略有差异,大同小异):

      • 进入 设置 -> 网络和互联网 -> WLAN
      • 点击你当前连接的Wi-Fi网络名称右侧的 > 或齿轮图标。
      • 选择 高级选项代理
      • 选择 手动
      • 代理主机名 一栏填入你电脑的IP地址。
      • 代理端口 一栏填入 8888
  3. 确认连接: 设置完成后,手机会自动断开Wi-Fi并重新连接,手机上的所有网络流量都会通过你的电脑Charles进行代理。

第三步:解决HTTPS抓包问题(SSL证书信任)

默认情况下,Charles无法抓取HTTPS加密的请求,因为它会扮演“中间人”的角色,需要手机信任它“伪造”的SSL证书。

  1. 在手机上安装证书:

    • 打开手机上的浏览器(推荐使用Safari、Chrome或Firefox)。
    • 在地址栏输入:chls.pro/ssl (这是Charles官方提供的证书安装地址,非常方便)。
    • 页面会自动下载并提示你安装描述文件(证书)。
    • 根据系统提示,输入你的手机锁屏密码,并一路点击“安装”和“允许”。
  2. 信任该证书:

    • iOS: 安装完成后,需要手动信任它。

      • 进入 设置 -> 通用 -> VPN与设备管理(或 关于本机 -> 证书信任设置)。
      • 你会看到一个名为 Charles Proxy CA... 的描述文件。
      • 点击它,然后开启 信任 开关。
    • Android: 安装过程通常会自动信任,如果没有,请进入 设置 -> 安全 -> 更多安全设置 -> 加密与凭据 -> 从存储设备安装,找到下载的 .pem.crt 文件进行安装和信任。

完成以上三步,恭喜你!在手机上任意打开一个App(如微信、浏览器),并执行一些操作(如刷新朋友圈、搜索内容),你将立刻在电脑的Charles界面上看到抓取到的网络请求了!


进阶技巧与常见问题(避坑指南)

掌握了基础操作后,这些技巧和解决方案将让你事半功倍。

技巧1:过滤与聚焦请求

当请求量巨大时,如何快速找到目标?

  • 过滤请求: 在Charles的搜索框中输入关键词(如你的App包名、API域名),可以只显示包含该关键词的请求。
  • Focus功能: 选中一个请求,右键选择 Focus,此时只有与该请求相关的流量(如同一个域名的所有请求)才会显示,非常高效。

技巧2:模拟弱网环境

测试App在网络不佳时的表现是开发中必不可少的一环。

  • 点击菜单栏 Proxy -> Throttle Settings...
  • 勾选 Enable Throttling
  • 你可以预设或自定义网速(如GPRS、3G、Edge),也可以自定义下载/上传速度和延迟。
  • 开启后,手机的网络请求就会按照你设定的规则进行“减速”。

技巧3:修改请求与响应

这是Charles最强大的功能之一,用于调试和Mock数据。

  • 修改请求: 选中一个请求,右键选择 Edit...,你可以修改URL、Headers、请求体等,然后发送出去,观察服务器的响应。
  • 修改响应: 选中一个请求,右键选择 Map Local...,你可以将这个请求的响应内容映射到你本地的文件,当你再次访问这个URL时,Charles会直接返回你本地文件的内容,而不会向真实服务器发送请求,这对于模拟各种API响应(如成功、失败、空数据)极其有用。

Q1:为什么Charles抓不到我App的请求?

  • 检查代理: 确认手机Wi-Fi代理设置正确,且电脑和手机在同一网络。
  • 检查App: 某些App(尤其是银行类、金融类App)会检测代理环境,一旦发现存在代理,就会拒绝联网,这是App的自我保护机制。
  • 检查端口占用: 确保电脑上没有其他程序占用了8888端口。
  • 检查防火墙: 电脑的防火墙可能阻止了Charles的连接,请暂时关闭防火墙测试。

Q2:手机上安装了Charles证书,但HTTPS请求依然显示“Unknown”?

  • 证书不匹配: 确保你通过 chls.pro/ssl 下载的证书与你手机上的系统时间一致,如果手机时间错误,证书验证会失败。
  • 证书信任问题: 仔细检查 iOS的“证书信任设置”Android的“已安装的安全证书列表”,确保Charles的根证书已被信任。
  • HSTS策略: 少数网站会启用HSTS(HTTP Strict Transport Security),强制客户端只能通过HTTPS访问,并且不允许用户信任非CA签发的证书,这种情况在Charles中难以破解。

Q3:如何抓取App的HTTPS请求,但手机上却无法正常使用网络(证书错误提示)?

这通常是因为你只信任了Charles的根证书,但没有为该特定域名开启“始终信任”(在iOS上表现为弹出“不信任此网站”的警告)。

  • 解决方案: 当手机弹出证书警告时,点击 “继续”“高级” -> “继续访问”,这样,系统会为这次会话临时信任该证书,如果问题依旧,可以尝试在手机的 设置 -> 隐私与安全性(或类似路径)中,找到关于该App的证书描述文件,并手动开启信任。

从“抓包小白”到“网络调试大神”

Charles手机抓包是每一位移动开发者、测试工程师乃至逆向爱好者的必备技能,它不仅仅是一个工具,更是一种让你透视App内部网络行为的“X光机”。

通过本文的学习,你已经掌握了:

  • 基础抓包流程: 配置电脑代理 -> 配置手机代理 -> 安装SSL证书。
  • 核心应用场景: 接口调试、性能分析、逆向学习、Mock数据。
  • 高级操作技巧: 过滤、弱网模拟、请求/响应修改。
  • 常见问题排查: 解决了代理无效、HTTPS不抓、证书报错等一系列“拦路虎”。

技术的掌握离不开实践,现在就打开你的电脑和手机,亲手操作一遍,随着你使用Charles的次数越来越多,你会发现它调试问题的效率远超你的想象,熟练运用Charles,将极大地提升你的工作效率和问题定位能力,助你在软件开发的道路上走得更远、更稳。

持续关注我们,获取更多前沿、实用的软件开发干货!

-- 展开阅读全文 --
头像
战舰世界闪击战安卓版
« 上一篇 今天
安卓手机真能听胎心?准确吗?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]