SOCK的SOCK 5代理如何在浏览器中工作?

时间:2015-10-13 09:54:22

标签: dns socks

浏览器可以通过SOCKS代理DNS请求5.我不明白这个过程是如何工作的。

如果我错了,请纠正我。在正常的DNS操作中,程序通过其操作系统进行DNS解析,而操作系统又配置为访问特定的DNS服务器并在那里进行查询。因此,在正常操作中,浏览器不应该自己通过网络进行DNS查询。

现在,使用SOCKS代理,浏览器需要来执行自己的查询。浏览器如何知道代理隧道另一端将存在哪个DNS服务器?

5 个答案:

答案 0 :(得分:8)

然后浏览器不会进行自己的DNS查找。我不知道是否存在浏览器将DNS发送到DNS服务器的实际情况。但是,配置了SOCKS5代理后,浏览器只需要使用主机的主机名而不是其IP地址来SOCKS5连接到主机。然后由SOCKS5代理进行查找。

我知道这是因为我维护了SOCKS5实现。

答案 1 :(得分:0)

如果没有使用firefox about:config来更改DNS设置,请重新配置Windows Adapter Interface并设置

DNS2SOCKS.exe /la:socks.log 127.0.0.1:1080 8.8.8.8:53 127.0.0.1:53

这些是Google dns的默认设置

请参阅DNS through socks proxy. How do I change windows settings for domain resolution.

答案 2 :(得分:0)

有3种可能的选择:

  • 软件仍然使用系统DNS进行主机名解析,并命令Socks服务器连接到IP。对于懒惰实施Socks的情况,这可能是默认模式或唯一支持的模式。

  • 软件命令Socks服务器连接到主机名。此模式可能需要另外配置; Firefox和旧Opera有特殊标志来启用此模式。

  • 软件使用UDP-over-Socks手动执行DNS查找,并命令Socks服务器连接到IP。最疯狂的模式,它需要一个软件来知道DNS地址,但理论上它是可能的。

答案 3 :(得分:0)

这取决于您的浏览器。例如,Firefox将主机名发送到SOCKS代理,而没有对其进行解析。您可以通过Wireshark确认。

PS。假设您使用的是SOCKS5 / 4a代理。 SOCKS4不支持主机名。参考:https://en.wikipedia.org/wiki/SOCKS#SOCKS4a

答案 4 :(得分:0)

代理目标地址可以是ipAddress或DOMAINNAME。浏览器使用DOMAINNAME。