mimic快速上手:5分钟安装配置,嗅探你的第一个App流量
【免费下载链接】mimicIntercept any app, then call it from Python like a library项目地址: https://gitcode.com/gh_mirrors/mimic32/mimic
mimic 是一款 App 流量嗅探工具:它拦截你手机上任意 App 的网络请求,自动提取认证信息,再由 AI 生成一个 Python 客户端库——让你像调用普通函数一样调用 App 的接口。本文带你用 5 分钟完成安装配置,抓到你的第一个 App 流量。
🧩 mimic 是什么?工作原理一图看懂
大多数 App 的每次请求都带着同一组"稳定的认证值":bearer token、设备 ID、会话 ID、cookies。mimic 的思路很简单——从一次真实请求里捕获它们,就能在新请求上重放:
捕获流量 (mitmproxy) → 提取认证 (mimic.Session) → 生成客户端 (AI 阅读抓到的端点)三个核心模块,各自负责一条流水线环节:
- 命令行入口:mimic/cli.py
- 认证提取与会话重放:mimic/session.py
- AI 生成客户端的逻辑:mimic/codegen.py
生成的客户端是普通 Python 文件,你可以像编辑任何源码一样修改它——它自带命名方法、请求体模板,以及移动端 API 常见的多步调用链(比如第一个请求取 token,第二个请求消费它)。
📦 一键安装:最快 5 分钟完成配置
前置要求
| 组件 | 说明 |
|---|---|
| uv | Python 包管理器,安装脚本会自动帮你装 |
| Mac + 同网段 iPhone | 抓包需要手机与电脑连在同一个 Wi-Fi |
快速安装步骤
git clone https://gitcode.com/gh_mirrors/mimic32/mimic cd mimic sh install.shinstall.sh 会先检查并安装 uv,再把 mimic 装进一个隔离的独立环境中。注意mitmproxy 不需要单独安装——mimic 首次执行record时会通过uvx自动拉起它。如果你机器上已有 uv,也可以跳过 clone,直接手动安装:
uv tool install mimic-client环境自检:mimic doctor
mimic doctordoctor会检查三件事:代理是否可用、AI 生成器(claude 或 opencode)是否就绪、mitmweb 是否正在运行,每一项缺失都会给出对应的修复命令。最后还会打印你的局域网 IP——下一步配置 iPhone 代理时就要用它。
📱 嗅探你的第一个 App:mimic record 抓包四步
mimic recordrecord会启动代理,并自动填入你的 Mac 局域网 IP,打印出完整的 iPhone 配置指引。照着做四步:
- iPhone → 设置 → Wi-Fi → 当前网络 ⓘ → 配置代理 → 手动 → 填
<你的Mac IP>:8080 - Safari 打开
http://mitm.it,下载安装 Apple 描述文件 - 设置 → 通用 → 关于本机 → 证书信任设置 →开启 mitmproxy 的完全信任
- 打开目标 App,正常刷一刷、点点点
⚠️ 第 3 步(证书完全信任)是最容易漏掉的一步——不做它,后续所有抓取都不会生效。
抓包结束后,可以打开http://127.0.0.1:8081的 mitmweb 面板实时查看流量,mimic 就是从它这里读取数据的。
🔍 查看捕获结果:hosts 与 learn 命令
mimic hosts # 列出所有被捕获的主机及请求数 mimic learn prod-api.example.com # 查看某个主机上的端点明细hosts会输出每个主机和对应的请求数量,提示你挑返回 JSON 的那个主机(媒体/CDN 主机通常可以忽略)。只要mimic hosts里出现了 App 的 API 主机,说明抓包已经成功。
learn则打印该主机上 mimic 看到的每个端点(方法、路径、状态码),帮你确认要自动化的请求是否都抓到了。
🤖 生成 Python 客户端:mimic gen 一键出码
mimic gen prod-api.example.commimic 会把捕获的端点摘要交给 AI 生成器(见 mimic/codegen.py),直接写出一个可编辑的xxx_client.py。生成后这样用:
from hinge_client import Hinge acc = Hinge() # 自动复用你捕获的会话 recs = acc.get_recommendations() acc.like(subject_id, comment="hi lol")不想走代码生成?mimic/session.py 提供了三种手搓会话的方式:
Session.from_mitm(host):从 mitmweb 拉取认证(iOS 抓包后)Session.from_curl(text):粘贴浏览器 DevTools 的 "Copy as cURL"Session.from_har(path, host):从浏览器导出的 HAR 文件加载
🌐 没有 iPhone?两种替代抓取方式
| 方式 | 适用场景 | 用法 |
|---|---|---|
| cURL 粘贴 | 有网页版的 App | DevTools 中 "Copy as cURL" →Session.from_curl(text),无需代理和证书 |
| HAR 文件 | 任何浏览器抓包场景 | Network 面板 "Save all as HAR" →mimic hosts --har traffic.har,再mimic gen api.example.com --har traffic.har |
HAR 解析实现在 mimic/sources/har.py,测试目录里附带了一份示例文件 tests/fixtures/sample.har 可供参考。
⚠️ 常见限制与排查
- 证书固定(Certificate Pinning):银行、Instagram 等 App 会拒绝代理证书,导致
mimic hosts里看不到任何流量。它只挡住"捕获",不挡"重放"——mimic unpin可基于 Frida 绕过,详见 docs/pinning.md - DPoP 令牌:每个请求都带私钥签名的新鲜证明,捕获的请求无法重放,目前无干净的绕过方案,详见 docs/dpop.md
- 401 重试策略:幂等请求(GET/PUT 等)遇到 401 会自动重新拉取凭据并重试一次;非幂等请求需显式传
refresh=True才会重试
🛡️ 使用边界:只针对你自己的账号
mimic 重放的是你自己的会话——请只用于自己的账号和数据,并遵守各 App 的服务条款,它不是访问他人数据的工具。完整的命令参考与更多示例见 README.md。
【免费下载链接】mimicIntercept any app, then call it from Python like a library项目地址: https://gitcode.com/gh_mirrors/mimic32/mimic
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考