user9371654 Asked: 2019-05-09 22:11:10 +0800 CST2019-05-09 22:11:10 +0800 CST 2019-05-09 22:11:10 +0800 CST Tor 是否将网站域名或 IP 发送到中继? 772 当 Tor 客户端想要连接到一个网站时,例如:google.com,它是否首先解析其 IP,然后通过中继发送 IP?或者它是否传递由最后一个出口节点解析的域名? dns browser 1 个回答 Voted Best Answer user1686 2019-05-09T22:25:13+08:002019-05-09T22:25:13+08:00 这取决于客户。Tor具有远程解析名称的能力,如果要求连接到域名,您的本地 Tor 节点将始终使用基于 Tor 的解析,但这完全取决于实际提供名称的客户端应用程序,而不是在本地进行自己的名称解析。 例如,Firefox(一个 SOCKS 客户端)有一个名为“使用 SOCKS v5 时代理 DNS”的选项——只要选择了 SOCKS 版本 5,它就会启用远程(基于 Tor 的)名称解析。 同时,较旧的 SOCKS v4 协议根本不具备此功能;它只支持发送IP地址。(然而,这是由版本 4a 添加的。如果您看到专门提供 SOCKS v4a 的程序,这通常意味着它们发送了主机名。) 作为另一个示例,curl可以在“socks4”(发送 IP 地址)、“socks4a”(发送主机名)、“socks5”(发送 IP 地址)和“socks5h”(发送主机名)代理类型之间进行选择。 使用 HTTP 代理模式时,通常会发送完整的主机名。如果您使用的是 HTTP 到 SOCKS 的转换器,例如 Polipo 或 Privoxy(我记得在上个世纪的某个时候曾与 Tor 一起使用过),除了客户端的能力外,它还取决于转换器的能力。
这取决于客户。Tor具有远程解析名称的能力,如果要求连接到域名,您的本地 Tor 节点将始终使用基于 Tor 的解析,但这完全取决于实际提供名称的客户端应用程序,而不是在本地进行自己的名称解析。
例如,Firefox(一个 SOCKS 客户端)有一个名为“使用 SOCKS v5 时代理 DNS”的选项——只要选择了 SOCKS 版本 5,它就会启用远程(基于 Tor 的)名称解析。
同时,较旧的 SOCKS v4 协议根本不具备此功能;它只支持发送IP地址。(然而,这是由版本 4a 添加的。如果您看到专门提供 SOCKS v4a 的程序,这通常意味着它们发送了主机名。)
作为另一个示例,
curl
可以在“socks4”(发送 IP 地址)、“socks4a”(发送主机名)、“socks5”(发送 IP 地址)和“socks5h”(发送主机名)代理类型之间进行选择。使用 HTTP 代理模式时,通常会发送完整的主机名。如果您使用的是 HTTP 到 SOCKS 的转换器,例如 Polipo 或 Privoxy(我记得在上个世纪的某个时候曾与 Tor 一起使用过),除了客户端的能力外,它还取决于转换器的能力。