Skip to content

域名嗅探

嗅探从 HTTP、TLS 或 QUIC 的可见信息中尝试识别域名,帮助域名规则处理原本只有 IP 的连接。下面开启识别,并保留原连接目标。

yaml
sniffer:
  enable: true
  parse-pure-ip: true
  override-destination: false
  sniff:
    HTTP:
      ports: [80, 8080]
    TLS:
      ports: [443, 8443]
    QUIC:
      ports: [443]
  skip-domain:
    - '+.lan'
    - '+.local'
字段如何使用
enable开启嗅探
sniffHTTPTLSQUIC 分别配置 ports;列表可包含端口或 8000-9000 形式的范围
parse-pure-ip对缺少域名的流量尝试嗅探
force-dns-mapping对 DNS 映射得到的 redir-host 流量强制尝试嗅探
override-destinationtrue 时允许用识别到的域名替换实际连接目标;单协议同名项可覆盖全局值
force-domain对指定域名强制尝试嗅探
skip-domain跳过指定域名
skip-src-address / skip-dst-address跳过指定来源或目标 IP 网段

如果开启后某个服务连接异常,可先把它加入跳过列表或关闭目标覆盖。加密握手中的域名不可见时,嗅探不保证获得域名。

平台说明与字段状态

新配置使用 sniffer.sniff。旧 sniffingport-whitelist 只在 sniff 为空时使用,不会与新写法叠加。

11 个字段

字段类型iOSmacOStvOS平台说明
sniffer.enable布尔值支持支持支持控制嗅探开关及适用/跳过条件;实际嗅探取决于协议、端口和域名条件,不会解密所有加密流量。
sniffer.force-dns-mapping布尔值支持支持支持控制嗅探开关及适用/跳过条件;实际嗅探取决于协议、端口和域名条件,不会解密所有加密流量。
sniffer.force-domain列表支持支持支持控制嗅探开关及适用/跳过条件;实际嗅探取决于协议、端口和域名条件,不会解密所有加密流量。
sniffer.override-destination布尔值支持支持支持设置默认目标覆盖行为;sniff 中单个协议的显式设置可覆盖它。
sniffer.parse-pure-ip布尔值支持支持支持控制嗅探开关及适用/跳过条件;实际嗅探取决于协议、端口和域名条件,不会解密所有加密流量。
sniffer.port-whitelist列表受管理 / 有限制受管理 / 有限制受管理 / 有限制兼容旧写法,仅在 sniff 为空时使用;新配置优先用 sniff。
sniffer.skip-domain列表支持支持支持控制嗅探开关及适用/跳过条件;实际嗅探取决于协议、端口和域名条件,不会解密所有加密流量。
sniffer.skip-dst-address列表支持支持支持控制嗅探开关及适用/跳过条件;实际嗅探取决于协议、端口和域名条件,不会解密所有加密流量。
sniffer.skip-src-address列表支持支持支持控制嗅探开关及适用/跳过条件;实际嗅探取决于协议、端口和域名条件,不会解密所有加密流量。
sniffer.sniff映射支持支持支持按协议配置端口和目标覆盖行为;填写后优先于旧 sniffing/port-whitelist。
sniffer.sniffing列表受管理 / 有限制受管理 / 有限制受管理 / 有限制兼容旧写法,仅在 sniff 为空时使用;新配置优先用 sniff。

参考:mihomo.