← 返回信息流
Agent SkillLINUX DO · AI·2026/3/7

开源项目将Charles抓包接入MCP,助力AI Agent自动化分析Android数据包

原标题:【免费开源】把 Charles 抓包能力接入 MCP,让 AI 真正“能用抓包”之实战演示:抓包android模拟器数据包

速览

该项目将Charles抓包工具接入MCP协议,使AI Agent具备直接捕获和分析网络数据包的能力。演示展示了如何通过配置Android模拟器网络及安装证书,让AI自动筛选接口并解析关键参数。此外,项目还支持结合Frida Hook技术,实现对特定App(如Apple Music)的数据包抓取与分析。

AI 深度解读

背景

随着大语言模型(LLM)能力的不断提升,AI 代理(Agent)不再局限于文本生成,而是逐渐向具备“行动能力”的方向演进。然而,要让 AI 真正理解并操作复杂的网络交互,关键在于赋予其感知网络数据的能力。

MCP(Model Context Protocol,模型上下文协议)作为连接 AI 模型与外部数据源的标准协议,正在成为这一进程的基础设施。本文分享了一个基于开源项目的实战案例:将网络抓包工具 Charles 的能力接入 MCP,使 AI 代理能够直接捕获、分析 Android 设备的数据包。这不仅解决了 AI “看不见”网络流量的痛点,还通过结合 Frida Hook 技术,展示了从明文抓包到加密应用内部数据提取的完整工作流,为 AI 自动化测试、逆向工程及接口分析提供了新的思路。

核心内容

该实战演示主要分为两个部分:基于 Android 模拟器的 Charles 抓包分析,以及基于 Frida Hook 的 Apple Music App 数据包抓取。

1. 环境准备与模拟器网络配置

演示首先基于 Android Studio 创建的模拟器进行。由于模拟器内置了“Captive Portal Check”(网络连通性检查)机制,默认指向 Google 服务器,这可能导致模拟器无法正确识别网络状态或拦截流量。

为解决此问题,作者通过 ADB 命令将模拟器的网络检测服务器替换为国内可访问的地址(以小米服务器为例):

adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
adb shell settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204
adb shell settings put global captive_portal_mode 0

执行命令后,重启飞行模式即可恢复网络连接。随后,需将 Charles 的 CA 证书安装到模拟器中,以解决 HTTPS 流量的解密问题。

2. 流量代理与 MCP 集成

配置完成后,关键步骤是将模拟器的流量通道指向运行 Charles 的本机 IP(例如 192.168.1.3,可通过 Charles 的 Help -> Local IP Address 查看)。这样,模拟器的所有网络请求都会经过 Charles 进行拦截和记录。

在 Charles 中启动录制功能后,AI 代理(此处使用 Claude Code CLI,简称 CC)通过 MCP 工具连接 Charles。当用户在模拟器中访问 Apple 官网并进入 Neo 预售页面时,Charles 捕获到相关数据包。AI 代理随即调用 MCP 工具,自动筛选并分析捕获到的接口与关键参数,生成结构化的分析结果。

3. Frida Hook 抓取加密 App 数据

对于无法通过常规代理抓包的加密应用(如 Apple Music),演示引入了 Frida 技术。在确保已安装 ADB 和 Frida-Server 的前提下,作者将 Frida Hook 脚本直接发送给 AI 代理。

AI 代理负责启动 App 并执行 Hook 脚本。在用户于 App 内执行若干操作后,AI 代理再次通过 MCP 读取分析结果,成功提取出 App 内部的数据包信息。这一过程展示了 AI 在复杂逆向工程场景下的自动化操作能力。

关键要点

  • MCP 协议的价值:通过 MCP,AI 代理能够标准化地调用外部工具(如 Charles),将非结构化的网络流量转化为 AI 可理解的上下文信息。
  • 模拟器网络陷阱规避:Android 模拟器的 Captive Portal Check 机制可能干扰抓包,需通过 ADB 修改系统设置指向国内可用服务器。
  • HTTPS 解密前提:Charles 抓包 HTTPS 流量必须安装并信任 CA 证书,否则无法解密内容。
  • 混合抓包策略
    • 常规流量:使用 Charles 代理抓包,适合 Web 页面或普通 API 调用。
    • 加密 App 流量:结合 Frida Hook 技术,在应用层拦截数据,突破代理抓包的限制。
  • AI 代理的自动化闭环:从配置环境、启动抓包、执行用户操作到分析数据,整个流程由 AI 代理(Claude Code CLI)驱动,体现了 Agent 在技术工作流中的核心作用。

意义与影响

这一实践不仅是一个技术教程,更揭示了 AI 代理在软件开发和安全测试领域的潜在应用价值:

  1. 降低技术门槛:将复杂的抓包、Hook 配置和数据分析过程封装在 MCP 工具中,AI 代理可以自动处理细节,开发者只需关注业务逻辑。
  2. 加速接口分析与逆向工程:AI 能够自动识别关键接口和参数,大幅缩短从抓包到代码生成的时间,特别适用于 API 测试和竞品分析。
  3. 推动 MCP 生态落地:该案例展示了 MCP 在连接传统开发工具(Charles、ADB、Frida)与大模型之间的桥梁作用,为更多工具接入 AI 工作流提供了参考范式。

该项目已开源,鼓励社区通过 Star、Issue 和 Pull Request 共同完善,有望成为 AI 辅助网络分析的重要工具之一。

查看原文 →linux.do