我已经读过 DNS and SOCKS proxy
我的理解是在使用socks v5代理的时候 ,关掉chrome的dns预加载dns解析会走socks v5代理,如果用http/https代理后,dns的解析还会走代理吗?还是走系统的dns解析服务呢?
如果走系统的dns解析服务的话,dns应该会被污染了吧?但是我发现用http/https代理还是可以正常访问xxx的,能否解释下~~ 谢谢~
socks5是封装DNS请求的
这里问的问题是 HTTP/HTTPS 代理的 DNS 解析如何进行。以下说明与 SwitchyOmega 无关,纯粹基于本人对于网络和代理协议的理解。
对于 HTTP/HTTPS 类型的代理服务器而言,请求的域名会作为 HTTP 协议的一部分直接发往代理服务器,不会在本地进行任何解析操作。也就是说,域名的解析与连接目标服务器,是代理服务器的职责。浏览器本身甚至无须知道最终服务器的 IP 地址。据我所知,此行为无法通过浏览器选项等更改。
也就是说,理论上使用 HTTP/HTTPS 类型的代理服务器时,本地的 DNS 解析、缓存、 hosts 文件等都不使用,与本地设置的 DNS 服务器地址无关。DNS 解析完全在代理服务器上进行。
关于 DNS 污染和特定网络环境问题此处不做解答,但相信 OP 能够从以上说明中推断出具体问题的答案。
请各位指正,所以综合以上大佬们给出的内容,无论使用http还是socks代理,因为域名解析是在代理服务器那边完成的,所以跟本地是否修改DNS,缓存,hosts文件,等等因素都无关。也就是说,如果使用了代理就没必要安装配置DNSCrypt之类的软件对吗?如果是这样,我又产生了一个疑问,比如kknews那样的网站,我即使开了代理也不能上,我粗略了解到可能跟ASN有关,不知道往这个方向想对不对。
@QuentinChansey socks代理不是,DNS解析和连接目标服务器(IP地址,而非域名)是两个环节,所以有使用远程代理做DNS解析(并作结果)的选项。而http代理接收的是包含域名的网址,不受本地DNS、hosts影响。
请各位指正,所以综合以上大佬们给出的内容,无论使用http还是socks代理,因为域名解析是在代理服务器那边完成的,所以跟本地是否修改DNS,缓存,hosts文件,等等因素都无关。也就是说,如果使用了代理就没必要安装配置DNSCrypt之类的软件对吗?如果是这样,我又产生了一个疑问,比如kknews那样的网站,我即使开了代理也不能上,我粗略了解到可能跟ASN有关,不知道往这个方向想对不对。
简而言之:
Most helpful comment
这里问的问题是 HTTP/HTTPS 代理的 DNS 解析如何进行。以下说明与 SwitchyOmega 无关,纯粹基于本人对于网络和代理协议的理解。
对于 HTTP/HTTPS 类型的代理服务器而言,请求的域名会作为 HTTP 协议的一部分直接发往代理服务器,不会在本地进行任何解析操作。也就是说,域名的解析与连接目标服务器,是代理服务器的职责。浏览器本身甚至无须知道最终服务器的 IP 地址。据我所知,此行为无法通过浏览器选项等更改。
也就是说,理论上使用 HTTP/HTTPS 类型的代理服务器时,本地的 DNS 解析、缓存、 hosts 文件等都不使用,与本地设置的 DNS 服务器地址无关。DNS 解析完全在代理服务器上进行。
关于 DNS 污染和特定网络环境问题此处不做解答,但相信 OP 能够从以上说明中推断出具体问题的答案。