hosts 文件有什么意义,是否用作漏洞/绕过限制?

hosts 文件有什么意义,是否用作漏洞/绕过限制?

我遇到了一个问题所以它指示用户摆弄主机文件以绕过“更新检查”。

有问题的软件是 Sublime Text Editor,楼主问的是禁用更新检查的方法。解决方法是在 hosts 文件中添加一行

127.0.0.1 www.sublimetext.com

现在这是否可以接受是另一个问题。我感兴趣的是,如果我把它放在 hosts 文件中,究竟会发生什么,以及它如何解决 OP 的问题?

答案1

hosts 文件的作用就是将域名映射到 IP 地址。当它们被映射到 127.0.0.1 时,它们就被映射到了您的本地计算机。

在这种情况下,当软件查找更新时,它会检查已知域名。通过将该域名重定向到本地计算机而不是正确的计算机,检查将失败,并且无法进行更新。请注意,浏览网站 www.sublimetext.com 也会失败。

在您自己的设备上使用 hosts 文件本身没有任何问题,事实上每个主要的操作系统都使用它们。

答案2

这是一个关于互联网如何运作的问题。

当你在浏览器中输入地址(例如 Google.com)时,你的计算机需要知道你试图访问的计算机的实际 IP 地址。它需要查阅列表来查找 Google.com 目前拥有的 IP 地址。

首先,您的计算机将查看其 DNS 缓存(域名系统),如果您最近访问过该网站,那么 PC 就不需要再进行任何查找。

然后,它会查看 Hosts 文件,看看您是否自己记下了该站点的 IP 地址。

如果您的 PC 无法在本地找到正确的 IP,它会询问网卡设置中列出的 DNS 服务器。通常设置是“自动”,这意味着您的 PC 会要求路由器查找,如果路由器设置为默认设置,则请求将转发到您的 ISP 的 DNS 服务。

如果 ISP 知道正确的 IP 地址,它会告诉您的 PC,然后您的 PC 会连接到 Google.com。否则,您的 ISP 的 DNS 服务器会搜索其他更权威的 DNS 服务器,这些服务器拥有更大的 IP 地址所有者列表,直到找到它。

由于查找 DNS 地址有时需要一点时间,因此出于性能原因,直接在 hosts 文件中输入数据可能是必要的。在企业网络中,可能需要手动列出某些内部服务器。但对于家庭用户来说,更常见的是,它通过列出本地 PC 的内部 IP 127.0.0.1(localhost)来阻止对网站的访问。例如,您可以下载大型主机文件充满广告服务器名称,然后每当您的电脑尝试连接到这些服务器以加载广告时,连接就会失败,并且您看不到任何广告。

以 www.sublimetext.com 为例,每当软件尝试访问该网站时,它都会被定向到本地 PC (127.0.0.1)。由于您没有运行 sublime text 更新服务器,它不会从本地 PC 获得响应,因此更新将失败。

相关内容