hosts最早在ARPANET的时候就已经被使用的一个文件,它在DNS解析之前会预读hosts文件中的配置信息。因此hosts文件是一个用于辅助域名解析的文件。

有时由于一些特定的目的,例如让一个未解析的域名指向特定的IP,此时您可以非常方便地通过修改hosts文件来控制对网站和网络流量的访问。

在所有平台上,语法基本保持不变,无论在Windows还是macOS中使用,hosts文件的变化都很小。我们将通过一些经典的语法来作为演示案例。

127.0.0.1   localhosts   #loopback

上面的演示中第一部分127.0.0.1 是地址重定向到的IP地址,第二部分localhosts是您要重定向的域名或地址,第三部分#loopback是注释。它们可以用空格隔开,但是为了便于阅读,通常用一个或两个标签隔开。

现在,让我们看一下在不同操作系统中访问hosts文件的过程

Windows 10

从Windows10的开始菜单搜索记事本,然后在搜索结果列表中右键单击记事本,然后选择以管理员身份运行即可,如下图:

完成此操作后,使用文件 -> 打开 功能打开以下文件。

c:\windows\system32\drivers\etc\hosts

然后您可以正常编辑。

打开记事本后,您可以编辑文件。在此示例中,我们将阻止www.baidu.com。为此,只需在#标记后输入以下内容。

0.0.0.0 www.baidu.com

现在,您已经编辑了hosts文件,请确保将其保存

现在请注意,如果我们尝试在IE中访问www.baidu.com,则无法访问该页面。

我们也无法在Microsoft EDGE浏览器中使用它(请查看末尾的注释)。另外,有关编辑您的Hosts文件的更多信息,请参阅Geek关于如何创建快捷方式以快速编辑Hosts文件的文章。

 

macOS(任何版本)

打开终端并使用您喜欢的编辑器,在本文中,我们通过vim的方式来编辑。

终端中输入如下命令:

sudo vim /etc/hosts

该文件看起来有点像Windows,但是文件中的说明会和Windows不同

同样,我们将重定向Baidu:

我们通过ping可以看到IP已经指向了0.0.0.0

我们尝试通过Safari访问网站,可以看到Baidu已经被重新指向了0.0.0.0,但是该IP上没有任何可以显示的内容:

注释

在本教程中,我们确实注意到了一些事情。经过测试,我们可以通过在hosts文件中添加www.baidu.com来改变Microsoft EDGE或Safari访问Baidu 时解析的IP。

另外,请确保每一个hosts中的IP记录域名关系保持单独的一行,切勿在一行内添加多个IP,但是可以添加指向该IP的多个域名记录。

这应该使您开始了解hosts文件以及它如何帮助保护您的计算机。您可以使用它来阻止您不希望PC能够访问的站点或让您的网站指向特定的IP地址。如果您对我们发布的任何教程有更多建议,请发表评论并告诉我们!


0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

zh_CNChinese
en_USEnglish zh_CNChinese