教程 · 预计阅读 13 分钟

Clash Meta Sniffer 怎么开:
HTTPS 走错策略时用嗅探修正分流

你已经开了 TUNFakeIP,大部分站点分流正常,却仍有少数 HTTPS 连接「明明写了域名规则,却走了默认节点或直连」。这往往不是因为策略组写得不对,而是内核在做路由决策的那一刻还没拿到「用户真正访问的域名」——只有 IP。本文说明 Clash Meta Sniffer 如何从 TLS 握手里的 SNI 还原域名、override-destination 何时该开,以及和 DNS 段如何配合,帮你把HTTPS 分流从「看 IP 猜站点」变成「按站点名精确命中规则」。

Clash Meta Sniffer · HTTPS 分流 · SNI · 嗅探 · 策略组

1 为何 TUN/FakeIP 下仍会「走错」策略

分流规则里我们写的是「域名、域名后缀、GeoIP」等逻辑对象;而数据包到达内核时,最初呈现的往往是五元组里的目标地址。在启用 FakeIP 时,浏览器先通过 Clash 的 DNS 拿到一个「假地址」,连接建立阶段内核需要决定:这条连接后续交给哪个策略组、走哪条出站。若此时规则引擎只能看到「某个 FakeIP 段」或「解析得到的 CDN IP」,而没有把连接与「用户心里的那个主机名」绑定起来,就会出现DOMAIN-SUFFIX 明明写了、日志里却像没命中一样的现象——不是规则失效,而是匹配键不完整

HTTPS 而言,真实站点名会出现在 TLS Client HelloSNI(Server Name Indication)字段里。若内核能在握手早期读出 SNI,就可以把「嗅探到的域名」补进路由决策,从而让后续的 HTTPS 分流与你在 rules 里写的域名规则对齐。这正是 Clash Meta(Mihomo)系列里 Sniffer(嗅探)模块要解决的问题:在不替代证书校验的前提下,从明文可见的协议元数据里还原主机名,供规则与策略组使用。

若你更熟悉 DNS 侧防污染与 FakeIP 池配置,可先对照《彻底防止 DNS 泄漏:Meta 内核 DoH + FakeIP 最佳实践配置》建立整体图景;本文则从 TLS 侧补全「域名从哪来」这一环。

2 Sniffer 在做什么:不是抓包看内容

请先把预期摆正:嗅探在这里指的是内核在转发路径上读取协议头里的主机名线索(例如 TLS 的 SNI、HTTP 的 Host),而不是解密 TLS 载荷、也不是替你做中间人审查内容。对绝大多数用户来说,开启 Sniffer 的目的只有一个:让路由与规则匹配使用「和浏览器一致的站点标识」,减少「只有 IP、规则对不上」的错位。

Meta 内核中,嗅探模块通常可分别配置对不同协议、不同端口的处理;TLSQUIC 相关选项会直接影响「能否从第一条客户端报文里拿到域名」。若某条连接全程是纯 IP访问、且应用未带 SNI(少数异常客户端),嗅探也可能无能为力——这时仍需依赖你在 DNS 阶段拿到的名字或 IP 规则兜底。

和 URL-Test 的关系 URL-Test 解决的是「同一策略组里选哪个节点更快」;《Clash 分流里 URL-Test 与 Fallback 怎么写》一文已详述。Sniffer 解决的是更早一步:「这条连接应该先进入哪条规则、哪个组」。二者常同时出现在同一套配置里,但职责不重叠。

3 如何开启 Sniffer:配置骨架

下面是一段便于对照的 sniffer 配置骨架(字段以你所用的 Mihomo / Clash.Meta 版本文档为准;升级内核后若报未知字段,应以发行说明为准逐条核对)。核心是:enable: true 打开总开关;在 sniff 下为 TLS(及可选的 HTTP、QUIC)声明关心的端口;再辅以与 DNS 行为相关的全局选项。

YAML (sniffer, illustrative)
sniffer:
  enable: true
  sniff:
    TLS:
      ports: [443, 8443]
    HTTP:
      ports: [80, 8080-8880]
    QUIC:
      ports: [443]
  force-dns-mapping: true
  parse-pure-ip: true
  override-destination: true

force-dns-mappingparse-pure-ip 一类选项,意在让 FakeIP、纯 IP 连接与嗅探结果之间的映射更一致:具体语义随版本迭代可能微调,建议在修改后观察连接日志里「域名 / IP / 策略」三者的对应关系是否符合直觉。图形化客户端若提供「一键开启嗅探」开关,背后通常也是写入同一组键值,手动编辑 YAML 时反而更容易一眼看清全貌。

4 override-destination:要不要用嗅探结果覆盖目标

override-destination: true 常被理解为:当嗅探得到的主机名与「当前连接目标」不一致或不足以做域名规则时,以嗅探到的域名为准参与后续规则匹配。这在 HTTPS 分流场景非常典型——内核最初只看到 FakeIP 或某个 CDN IP,开启覆盖后,SNI 提供的真实域名才能成为 DOMAINDOMAIN-SUFFIX 等规则的匹配输入。

若设为 false,嗅探结果可能仍用于日志展示或部分模块,但路由键不切换,你仍会感觉「规则写了域名却不生效」。因此,在确认自己的规则集大量依赖域名、且已排除下文「坑」的前提下,多数用户会打开该选项。若你遇到极少数应用对目标地址被改写敏感,可再针对该场景做分流或关闭嗅探做对比测试——属于高阶排错,而非默认建议。

与 skip 列表、白名单

社区配置里常见 skip-domainskip-src-address 等跳过嗅探的列表,用于降低开销或避开已知不兼容程序。若你把某类流量整体跳过,对应的HTTPS连接仍可能回到「只看 IP」的老路径,表现为策略组选择与预期不符。调参时建议小步变更:先保证嗅探与覆盖开启,再按需收窄 skip 范围。

5 与 DNS、FakeIP 的配合:两条线拧成一股

DNS 负责「名字解析成什么 IP」;Sniffer 负责「这条 TLS 连接声称要访问谁」。在 FakeIP 模式下,解析结果往往是内核分配的虚拟地址,若不与嗅探联动,规则层容易出现「名字对不上号」。因此实务上常同时检查:dns 段的 enhanced-mode、fake-ip 范围、nameserver/fallback 顺序,以及 sniffer 是否开启、override-destination 是否与你的规则风格一致。

若你发现「DoH 已通、FakeIP 池正常,仍有个站走错」,下一步往往不是再加一条粗规则,而是打开日志看该连接是否已嗅探到 SNI、以及规则匹配时用的是域名还是 IP。把 DNS 教程里的「防泄漏」与本文的「TLS 侧域名还原」合在一起,才算走完HTTPS场景下最常见的两条诊断轴。

不要重复开「假全局」 同时堆砌多个互相覆盖的「强制代理」开关、又与嗅探、DNS 映射交叉,会让排错非常困难。建议保留一份最小可工作配置,再逐项叠加 Sniffer 与规则。

6 嗅探结果如何流入规则与策略组

SNI 成功解析为域名后,rules 中靠前书写的 DOMAIN / DOMAIN-SUFFIX / GEOSITE 等条目才能按预期命中;命中后再导向你定义的 策略组(例如按地区划分的 select 或自动测速组)。若嗅探未生效,流量可能落入更靠后的 MATCH,表现为「走了全局默认」——这与策略组本身是否健康无关,而是规则前置条件未满足

因此排查顺序建议为:先确认嗅探与 override是否打开 → 再确认目标域名是否被规则集收录、顺序是否被更早规则抢走 → 最后才调整策略组内节点或 URL-Test 参数。颠倒顺序容易误判为「节点慢」或「规则集垃圾」,而实际问题仍在 TLS 侧域名缺失。

7 常见坑与排错清单

  • QUIC / HTTP3:协议路径与经典 TLS over TCP 不同,若未在嗅探配置中覆盖对应端口或协议,可能出现「浏览器走 HTTP/3 时分流与 HTTP/2 不一致」。需结合客户端与内核版本查看 QUIC 支持说明。
  • 性能顾虑:嗅探会增加少量 CPU 与首包处理开销;设备极弱时可适当缩小端口范围或跳过局域网段,而非默认全关。
  • 规则顺序:过宽的 IP-CIDRGEOIP 写在域名规则之前,会提前截断流量,嗅探再准也进不了域名分支。
  • 应用绕过系统代理:部分应用自带直连或自定义 DNS,TUN 未覆盖时仍可能绕过 Clash;需回到 TUN 与进程级接管话题统一处理。
  • 版本差异:Meta 内核迭代快,字段名与默认值可能变化;升级后若嗅探异常,先查 Release Note 再改配置。

8 总结

Clash Meta Sniffer 解决的是 HTTPS 分流中最隐蔽的一类问题:规则写得对,但匹配键在 TLS 握手前不完整。通过读取 SNI 等线索,并在合适情况下启用 override-destination,可以让域名类规则与策略组真正接到「用户访问的站点」上。与《Meta 内核 DoH + FakeIP》的 DNS 线、《URL-Test 与 Fallback》的组内线配合,分流体系才算前后贯通。

相比在规则里无限堆叠 IP 段或粗暴全局代理,开启嗅探并理顺 DNS 映射,通常更利于长期维护与排障。一体化客户端在日志与配置编辑上往往更直观;若你尚未安装或希望换用支持 Meta 内核的图形界面,可从本站获取各平台安装包,再按本文检查 sniffer 段是否生效。

需要安装或升级客户端时,请优先使用本站下载页;开源仓库适合查阅协议与提交 Issue,与日常安装包获取路径区分开,更符合版本与安全习惯。

→ 立即免费下载 Clash,开启流畅上网新体验

标签: Clash Meta Sniffer HTTPS 分流 SNI 嗅探 策略组 Mihomo
Clash 客户端 Logo

Clash Verge Rev

新一代 Clash 客户端 · 免费开源

内建 TUN、支持 Mihomo(Meta)内核与 Sniffer,HTTPS 分流与域名规则更可预期。Windows、macOS、Linux 全平台可用,适合需要精细分流与日志排障的用户。

TUN 全流量接管 Meta Sniffer 支持 域名规则分流 策略组可视化 多订阅管理

相关阅读