EchoSniffer 网络调试工具
首页 登录
GUIDE · 10 MIN

从安装到第一条 HTTPS 明文

把设备或应用的流量指向 EchoSniffer,装上 CA,然后看到第一条明文请求。按顺序做一遍。
CHAPTER 01

设置代理

让你的设备先连到 EchoSniffer,再由它把请求转发出去。地址一般填运行 EchoSniffer 的电脑 IP,端口默认 6789。
EchoSniffer 同时支持 SOCKS5 和 HTTP 两种代理。系统里有 SOCKS5 选项,就选 SOCKS5;没有,就选 HTTP。两种都能解密 HTTPS。
  1. 打开「系统设置」→「网络」,选中当前的 Wi-Fi,点「详细信息」→「代理」。
  2. 勾选「SOCKS 代理」或「网页代理 (HTTP)」,服务器填 127.0.0.1,端口填 6789。
如果抓的是手机,服务器要改成电脑的局域网 IP,比如 192.168.1.5。手机上的 127.0.0.1 指的是手机自己。
  1. 打开「设置」→「网络和 Internet」→「代理」。
  2. 在「手动设置代理」里,地址填 127.0.0.1,端口填 6789。
  3. 需要 SOCKS5 时,用「高级」或 Internet 选项里的代理设置。内网地址可以加进「不使用代理」的例外。
  1. 打开「设置」→「WLAN」,长按已连接的 Wi-Fi,选「修改网络」→「高级选项」。
  2. 代理选「手动」,主机名填电脑的局域网 IP,端口填 6789。
  3. 保存即可。浏览器会走代理;App 走不走,取决于它是否遵循系统设置。
不遵循系统代理的 App,可以看后面的「应用内信任」。
  1. 打开「设置」→「Wi-Fi」,点当前网络右边的 ⓘ,滑到底部,点「配置代理」。
  2. 选「手动」,服务器填电脑的局域网 IP,端口填 6789。
  3. 返回即可。iOS 上的 App 默认都会走这个代理。
iOS 的代理设置不接受 127.0.0.1,必须填电脑的局域网 IP。
CHAPTER 02

证书安装

HTTPS 抓明文需要把 EchoSniffer 自签的 CA 加入信任链。打开魔法域名即可一键下载。
证书落地页(魔法域名)
http://echosniffer.ssl
在新标签打开
⚠ 魔法域名只在浏览器走本代理时生效
必须先把浏览器 / 系统代理设为 SOCKS5 127.0.0.1:6789,再访问 http://echosniffer.ssl。否则浏览器走真实 DNS 解析失败。
  1. 访问 http://echosniffer.ssl,点击 .pem (macOS) 下载。
  2. 双击导入钥匙串访问,找到 EchoSniffer MITM CA → 信任 → 始终信任。
$ zsh
...
  1. 访问 http://echosniffer.ssl,点击 .cer (Android/Win) 下载。
  2. 双击 → 安装证书 → 存储位置选 本地计算机 → 放入 受信任的根证书颁发机构。
> cmd.exe (管理员)
...
  1. 访问 http://echosniffer.ssl,点击 .cer (Android/Win) 下载到手机。
  2. 设置 → WLAN → 高级 → 安装证书(或「CA 证书」选项)。
Android 7+ (API 24+) 系统默认不信任用户 CA。要抓 HTTPS,请使用下一节「应用内信任」方案。
  1. 用 Safari 访问 http://echosniffer.ssl,点击 iOS Profile 下载描述文件。
  2. 设置 → 通用 → VPN 与设备管理 → 安装描述文件。
  3. 设置 → 通用 → 关于本机 → 证书信任设置 → 启用 echosniffer CA 的完全信任。
AI 编码工具(Claude Code / Codex / opencode …)
CLI / IDE 类 AI 编码工具的证书信任方式与上表不同,见「AI 编码工具接入」:代理配置、NODE_EXTRA_CA_CERTS / SSL_CERT_FILE 证书替换、关闭校验方案。
CHAPTER 03

应用内信任

Android 7+ 默认不信任用户 CA,iOS 上架 App 也启用了 ATS 校验。让自研 App(Flutter / Android / iOS)自己信任 EchoSniffer 的 CA,无需 root(自研app)。
iOS 自研 App 更省事:装证书即可抓包
未上架 / debug 阶段的自研 App 无需越狱:安装 echosniffer CA 描述文件并开启「完全信任」后,App 走系统信任库即可直接抓包(iOS 没有 Android 7+ 的「用户 / 系统 CA」之分)。ATS 默认不拦「完全信任」的 CA;只要 debug 构建不做证书固定(pinning),无需任何代码注入。
1

方案 1 · NSC(推荐,覆盖 HttpURLConnection / WebView)

res/xml/network_security_config.xml

res/xml/network_security_config.xml
...

AndroidManifest.xml 的 <application> 加 android:networkSecurityConfig="@xml/network_security_config"。仅 debug 构建生效。

2

方案 2 · OkHttp 自定义 TrustManager(运行时注入)

OkHttpClient.java
...

OkHttp 不读 NSC,必须运行时注入 SSLSocketFactory。

3

方案 3 · HttpsURLConnection 兜底

App.java
...

适用于未使用 OkHttp / Retrofit 的纯 Java / Kotlin 项目。

4

方案 4 · WebView 调试放行

WebViewClient.java
...

只对 debug 构建放行;release 必须保持严格校验。

5

方案 5 · Flutter / Dart(SecurityContext 注入)

trust.dart
...

dart:io 用自带 BoringSSL:Android 只信系统 CA,必须注入 SecurityContext;iOS 走平台信任。平台栈可改用 cronet_http(Android) / cupertino_http(iOS) + NSC。仅 debug 生效。

CHAPTER 05

常见问题

点击展开回答