如果我更改我的 DNS 服务器,我的 ISP 会看到什么?

信息安全 网络 dns 网络服务商
2021-09-08 07:49:39

我有一个有趣的问题,我真的很想得到答案。如果我更改我的 DNS 服务器并使用 HTTPS 连接,我的 ISP 会看到什么?

首先,当我使用我的 ISP 的 DNS 服务器时:

所以,我认为,当我在浏览器中键入某个 URL(例如https://google.com)时,我通过我的 ISP 向我的 ISP 的 DNS 服务器发送一个请求,我的提供商得到响应(谷歌的 IP 地址。 com),通过此 IP,向此服务器 (google.com) 发送请求并获得响应 - 我的提供商将发送给我的 HTML 页面。是这样吗?

其次,当我使用另一个 DNS 服务器时:我认为,当我在浏览器中键入某个 URL(例如https://google.com)时,我通过我的 ISP 向另一个 DNS 服务器发送请求,我的提供商会得到一个响应(google.com 的 IP 地址),通过此 IP 地址,向此服务器 (google.com) 发送请求,并获得响应 - 我的提供商将发送给我的 HTML 页面。

或者(对于第二种变体)当我在浏览器中键入某个 URL(例如https://google.com)时,我通过我的 ISP 向我的 ISP 的 DNS 服务器发送一个请求,以获取另一个 DNS 的 IP 地址服务器,我的提供商向其他 DNS 服务器发送请求,获取 google.com 的 IP 地址,通过该 IP 地址,向该服务器 (google.com) 发送请求并获得响应 - 一个 HTML 页面由我的提供商发送给我。

接下来是我的第三个问题:如果我在 URL 栏中只输入 google.com 的 IP 地址(不是域名),我会连接到 DNS 吗?

2个回答

所以,我认为,当我在浏览器中输入某个 URL(例如https://google.com)时,我通过 ISP 向 ISP DNS 发送请求,我的提供商得到响应(google.com 的 IP)并通过这个 IP并向该服​​务器 (google.com) 发送请求并获得响应 - 我的提供商将发送给我的 html 页面。是这样吗?

不,这不像你描述的那样工作。

当您使用 ISP 的 DNS 服务器时,您会从 ISP 获得目标服务器(在您的示例中为 google.com)的 IP 地址。ISP 的 DNS 服务器本身从缓存中提供此 IP 地址或为您解析 DNS 查询 - 有关详细信息,请参阅DNS 查找解释

然后您的浏览器使用此 IP 地址访问目标站点本身,即 ISP 不会为您检索该站点。虽然 ISP 会将数据包从您的客户端转发到目标服务器,但数据包中的内容通常与 ISP 无关。

但是这种行为有一些例外:在某些情况下,所涉及的 ISP 处可能有一个明确的代理,其中客户端(即您的浏览器)询问代理,代理将检索数据并将其发送回客户端。代理还可以缓存数据以更快地为客户端提供服务并节省带宽。这种设置在互联网的早期非常普遍,带宽更加紧张,但今天已经不常见了。

一些 ISP 还可能使用深度数据包检测 (DPI) 来窥探流量,并且还可能基于此阻止或延迟流量。有些人可能还会强制使用隐式代理来修改流量。在命令 ISP 阻止特定站点的国家/地区尤其如此。过去也发生过 ISP 在流量中注入自己的广告。或者移动 ISP 发现“丰富”流量以向最终服务器提供有关客户端的信息(如电话号码),以提供更有针对性的广告。虽然使用 HTTPS 时几乎不可能修改流量,但阻止流量甚至可以使用 HTTPS。

其次,当我使用其他 DNS 时:我认为,当我在浏览器中键入某个 URL(例如https://google.com)时,我通过 ISP 向其他 DNS 发送请求,并且我的提供商得到响应(google.com 的 IP ) 并通过此 IP 并向此服务器 (google.com) 发送请求并获得响应 - 我的提供商将发送给我的 html 页面。

同样,提供者(通常)只涉及在客户端(您的浏览器)和服务器之间转发数据,而不涉及从服务器本身请求数据。使用您的 ISP 提供的 DNS 与使用不同的 DNS 服务器之间的主要区别在于,另一个 DNS 服务器现在会为您解析查询。如果一个人不信任 ISP 并且担心阻止站点或记录您访问的站点(即侵犯隐私),则可能需要这样做。如果新的 DNS 提供商提供一些有用的功能(例如阻止恶意域),也可能需要这样做。

尽管您的 DNS 查询实际上并未在您要使用的 DNS 服务器处结束,但仍将由 ISP 的 DNS 服务器处理,但仍有可能且并不罕见。这可以通过将所有发往端口 53 的数据包廉价重定向到 ISP 的 DNS 服务器来完成。如果 ISP 被命令阻止对特定域的访问,通常会强制使用 ISP 的 DNS 服务器。但即使不重定向 ISP 也可能能够看到您查询的域:DNS 查询默认情况下未加密,因此对深度数据包检测可见。当使用 DNS over HTTPS (DoH) 或 DNS over TLS (DoT) 时,ISP 将不再能够拦截这些 DNS 请求,也无法看到 DNS 查询的内容。尽管在大多数情况下,它仍然可以确定您从 DPI 访问的网络流量本身的域。

接下来是第三个问题:如果我在我的 URL 栏中只输入 google.com 的 IP(不是域名),我会连接到 DNS 吗?

如果明确使用 IP 地址,则无需 DNS 查找即可访问服务器。请注意,如果仅通过 IP 地址访问,大多数服务器将无法工作。在同一个 IP 地址上提供多个域是很常见的。因此,服务器还需要域名来找出为 HTTPS 提供哪些证书以及提供哪些内容。如果只是将 IP 地址放在浏览器中,浏览器不知道是指哪个域,因此无法将这一关键信息提供给服务器。

本质上,您错误地假设您的 DNS 请求已加密,因为您访问的是 HTTPS 站点。

事实并非如此。端口 443 上的 HTTPS Web 流量可能已加密,但端口 53 上的 DNS 查找未加密。

您似乎正在寻找的是可用的加密 DNS - 例如在 Firefox 中。正确的术语是基于 HTTPS 的 DNS。

然而,就浏览流量本身而言,现在有很多系统提供线速HTTPS检查,中国的防火墙可能是最明显的例子。

现在,我并不是说任何英国 ISP 都在进行大规模 HTTPS 劫持,但现实世界中确实会发生更常见的类似事情,最有可能的是公共 WiFi 热点的中间人欺骗。

如果 DNS 查找的匿名性和其中的流量是主要目标,那么我能给您的最佳建议是使用个人 VPN 服务,该服务既可以加密您的流量,又可以在隧道内提供自己的 DNS 服务。

我使用 PIA