mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-09-25 07:48:07 +03:00
ECH and Sniffing: Explaining when to block QType 65 (#767)
This commit is contained in:
@@ -75,17 +75,18 @@
|
||||
|
||||
> `sniffing`: [SniffingObject](#sniffingobject)
|
||||
|
||||
流量探测主要作用于在透明代理等用途.
|
||||
比如一个典型流程如下:
|
||||
流量探测主要作用于在透明代理等用途,比如一个典型流程如下:
|
||||
|
||||
1. 如有一个设备上网,去访问 abc.com,首先设备通过 DNS 查询得到 abc.com 的 IP 是 1.2.3.4,然后设备会向 1.2.3.4 去发起连接.
|
||||
2. 如果不设置嗅探,Xray 收到的连接请求是 1.2.3.4,并不能用于域名规则的路由分流.
|
||||
3. 当设置了 sniffing 中的 enable 为 true,Xray 处理此连接的流量时,会从流量的数据中,嗅探出域名,即 abc.com
|
||||
4. Xray 会把 1.2.3.4 重置为 abc.com.路由就可以根据域名去进行路由的域名规则的分流
|
||||
1. 如有一个设备上网,去访问 abc.com,首先设备通过 DNS 查询得到 abc.com 的 IP 是 1.2.3.4, 然后设备会向 1.2.3.4 去发起连接。
|
||||
2. 如果不设置嗅探,Xray 收到的连接请求是 1.2.3.4, 并不能用于域名规则的路由分流。
|
||||
3. 当设置了 sniffing 中的 enable 为 true,Xray 处理此连接的流量时,会从流量的数据中,嗅探出域名,即 abc.com。
|
||||
4. Xray 会把 1.2.3.4 重置为 abc.com。路由就可以根据域名去进行路由的域名规则的分流。
|
||||
|
||||
因为变成了一个向 abc.com 请求的连接, 就可以做更多的事情, 除了路由域名规则分流, 还能重新做 DNS 解析等其他工作.
|
||||
因为变成了一个向 abc.com 请求的连接,就可以做更多的事情,除了路由域名规则分流,还能重新做 DNS 解析等其他工作。
|
||||
|
||||
当设置了 sniffing 中的 enable 为 true, 还能嗅探出 bittorrent 类型的流量, 然后可以在路由中配置"protocol"项来设置规则处理 BT 流量, 比如服务端用来拦截 BT 流量, 或客户端固定转发 BT 流量到某个 VPS 去等.
|
||||
当设置了 sniffing 中的 enable 为 true,还能嗅探出 bittorrent 类型的流量,然后可以在路由中配置 "protocol" 项来设置规则处理未加密的 BT 流量,比如服务端用来拦截未加密的 BT 流量,或客户端固定转发 BT 流量到某个 VPS 去等。
|
||||
|
||||
注意:较新的浏览器可能使用 ECH 加密 Client Hello, 此时 Xray 只能看到 Outer Hello 中的域名,可能需要考虑劫持 DNS 或者手动在浏览器配置关闭 ECH.
|
||||
|
||||
### SniffingObject
|
||||
|
||||
|
||||
@@ -38,10 +38,10 @@ DNS 是一个出站协议,主要用于拦截和转发 DNS 查询。
|
||||
|
||||
> `blockTypes`: array
|
||||
|
||||
为一个int数组,屏蔽数组中的查询类型,如 `"blockTypes":[65,28]` 表示屏蔽type 65(HTTPS) 和 28(AAAA)
|
||||
为一个 int 数组,屏蔽数组中的查询类型,如 `"blockTypes": [65,28]` 表示屏蔽 type 65(HTTPS) 和 28(AAAA). 常见用途包括屏蔽 type 65 以阻止浏览器发起 ECH.
|
||||
|
||||
由于 `nonIPQuery` 默认 drop 所有非 A 和 AAAA 查询, 所以需要将其设置为 skip 本选项才能进一步发挥作用。当然也可以不修改,单纯用来屏蔽A或者AAAA来屏蔽 ipv4/ipv6 查询, 但非常不推荐那么做,建议在内置DNS的 `queryStrategy` 对相关内容进行设置。
|
||||
由于 `nonIPQuery` 默认 drop 所有非 A 和 AAAA 查询, 所以需要将其设置为 skip 本选项才能进一步发挥作用。当然也可以不修改,单纯用来屏蔽 A 或者 AAAA 来屏蔽 IPv4/IPv6 查询,但非常不推荐那么做,建议在内置 DNS 的 `queryStrategy` 对相关内容进行设置。
|
||||
|
||||
注:当只使用 `blockTypes` 屏蔽 A 或 AAAA 时, 如果 `nonIPQuery` 设置为了 `reject` 那么屏蔽方式也会是返回 DNS reject 而不是丢弃
|
||||
注意:当只使用 `blockTypes` 屏蔽 A 或 AAAA 时, 如果 `nonIPQuery` 设置为了 `reject` 那么屏蔽方式也会是返回 DNS reject 而不是丢弃。
|
||||
|
||||
## DNS 配置实例 <Badge text="WIP" type="warning"/>
|
||||
|
||||
Reference in New Issue
Block a user