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地址。如果您对我们发布的任何教程有更多建议,请发表评论并告诉我们!