macOS上主流的HTTP抓包工具
以下是 macOS 上主流的 HTTP 抓包工具及配合手机抓包的完整方案,结合功能特性、操作便捷性和适用场景进行综合整理:
🔍 一、主流抓包工具推荐
1. Proxyman
特点:
- 原生 macOS 开发,性能高效(支持 Apple Silicon)。
- 自动 SSL 解密,直观的 JSON/树形视图分析。
- 支持断点调试、请求重发、本地文件映射(Mock 数据)。
适用场景:Web/移动端 HTTPS 调试、接口修改测试。
手机抓包步骤:
- 开启代理:Proxyman →
Proxy
→Proxy Settings
→ 记录端口(默认 9090)。 - 手机连接同一 Wi-Fi → 配置代理 → 手动输入 Mac 的 IP 和端口。
- 安装证书:手机浏览器访问
http://proxy.man/ssl
→ 下载安装 CA 证书 → 在系统设置中信任证书。 - 启用 SSL 代理:Proxyman 右键目标域名 →
Enable SSL Proxying
。
2. Charles
特点:
- 支持带宽模拟(弱网测试)、AJAX/JSON 树形解析。
- 可重发请求并编辑参数(类似 Postman)。
手机抓包步骤:
- Charles →
Proxy
→Proxy Settings
→ 启用 HTTP 代理(默认端口 8888)。 - 手机 Wi-Fi 代理设置 Mac IP + 端口 8888。
- 安装证书:手机访问
chls.pro/ssl
→ 下载证书 → 在设置中信任。 - SSL 配置:Charles →
Proxy
→SSL Proxying Settings
→ 添加需解密的域名(如*:443
)。
3. Sniffmaster(抓包大师)
特点:
- 无需代理配置,直接通过 USB 抓取 iOS/Android 流量。
- 突破 SSL Pinning(可抓取支付宝/微信等严格加密 App)。
适用场景:对抗证书绑定的 App、真机快速调试。
操作流程:
- Mac 安装 Sniffmaster → 用数据线连接手机。
- 开启工具 → 选择目标 App → 直接捕获 HTTPS 流量。
- 证书安装(可选):Mac 端双击
root.crt
并设置为“始终信任”。
4. mitmproxy
特点:
- 命令行工具,支持 Python 脚本定制请求/响应。
- 免费开源,适合自动化测试。
手机抓包步骤:
- 终端安装:
pip install mitmproxy
。 - 启动代理:
mitmproxy -p 8080
。 - 手机设置代理为 Mac IP + 端口 8080。
- 手机访问
mitm.it
→ 下载对应 OS 的 CA 证书并信任。
5. Wireshark
特点:
- 支持底层 TCP/UDP 协议分析,抓取非 HTTP 流量。
- 需搭配其他工具(如
rvictl
抓 iOS 流量)。
iOS 抓包步骤:
- 数据线连接 iPhone → 终端执行:
1
rvictl -s <设备UDID> # 创建虚拟网卡 rvi0
- Wireshark 选择
rvi0
接口 → 开始抓包。 - 结束抓包:
rvictl -x <UDID>
。
📱 二、通用手机抓包配置要点
-
网络环境:
- 确保手机和 Mac 在同一局域网。
- 关闭 Mac 防火墙或允许代理端口(如 8888、9090)。
-
HTTPS 解密:
- 必须在手机端安装并信任抓包工具的 CA 证书,否则无法解析 HTTPS 内容。
- 如遇抓包失败,检查 App 是否启用 SSL Pinning(需 Sniffmaster 等工具突破)。
-
代理设置:
- Android:长按 Wi-Fi → 修改网络 → 高级选项 → 手动代理。
- iOS:Wi-Fi 详情 → 配置代理 → 手动输入服务器(Mac IP)和端口。
⚖️ 三、工具对比与选型建议
工具 | 适用场景 | 手机配合难度 | 特色功能 |
---|---|---|---|
Proxyman | 日常开发调试、HTTPS 分析 | ⭐️⭐️⭐️ | 性能强,界面直观 |
Charles | 弱网模拟、接口重复测试 | ⭐️⭐️⭐️⭐️ | 带宽限制、AJAX 调试 |
Sniffmaster | 突破 SSL Pinning 的真机抓包 | ⭐️⭐️ | 免代理,直接 USB 抓取 |
mitmproxy | 自动化脚本定制、批量请求 | ⭐️⭐️⭐️⭐️ | 命令行+脚本扩展 |
Wireshark | 底层协议分析(非 HTTP 专用) | ⭐️⭐️⭐️⭐️⭐️ | 全协议支持,需搭配辅助工具 |
⚠️ 四、注意事项
-
安全问题:
- 抓包结束后关闭手机代理,避免流量长期暴露。
- 敏感数据(如生产环境)避免抓包,防止信息泄露 。
-
证书信任失败:
- iOS 需在 设置 → 通用 → 关于 → 证书信任设置 中手动启用 CA 证书。
- Android 7+ 需将证书安装到系统级(需 Root)。
-
无网络问题:
- 检查 Mac 防火墙:
系统设置 → 网络 → 防火墙选项 → 允许传入连接
。
- 检查 Mac 防火墙:
以上方案覆盖了从基础调试到高阶对抗场景的需求。新手推荐 Proxyman/Charles,操作直观;遇严格加密 App 时用 Sniffmaster;需深度定制选 mitmproxy。实践中可组合使用(如 Proxyman 分析 + Wireshark 排查协议问题),效率更高。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))