首页 > Mac > 正文

如何在MacOS(Mac OS X)上编辑主机文件

更新时间:2024-03-29 03:53:07 发布时间:1053天前 阅读:916次

如何在MacOS(Mac OS X)上编辑主机文件?Mac的hosts文件是一个很小但很重要的文本文档,可以将主机名映射到指定的IP地址。尽管现代Internet使用各种公共和私有DNS服务器来映射IP地址,但是hosts文件是覆盖这些DNS服务器的便捷方法,可让您手动将网站地址指向所需的IP地址,或阻止对某个IP地址的访问。指向一个未使用或内部IP地址的站点。

让我们快速看一下如何在macOS上编辑Mac主机文件。如何使用文本编辑来编辑Mac Hosts文件

一、在Mac OS X中,有两种主要的方法可以编辑主机文件。

第一种方法是使用TextEdit,因为hosts文件是纯文本文档。但是,由于文件位于文件系统的受保护区域中,因此无法直接打开文件。相反,我们需要将文件复制到不受保护的位置(例如桌面),对其进行编辑,然后再复制回去。

要查找主机文件,请打开“查找器”,您可以通过单击桌面,屏幕左下方的笑脸查找器或按Command +空格键+ Finder来访问该查找器。然后,请按照下列步骤操作:

选择转到下拉菜单
然后从菜单中选择“转到文件夹”
在框中,在框中输入“ / private / etc / hosts”,然后按“回车”。
将打开一个新的Finder窗口,并且将选择Mac的hosts文件。单击并将其拖到“查找器”窗口之外,然后将其拖放到桌面上。

要打开它,只需双击,它将在TextEdit(或您选择的文本编辑器)中显示文件的内容。

1.阻止IP地址

默认情况下,/ etc / hosts文件相对简单。它包含许多描述性文本行,并用井号或数字(也称为井号或井号标签)“#”加以注释。

任何以#号开头的行都是注释,/ etc / hosts文件不会读取。对于每一行,计算机都会忽略井号后的任何文本,这是在文件中添加注释和描述的好方法。它还包含localhost和broadcasthost的默认IP值。要编辑文件,您将在broadcasthost之后添加自己的行。

除了测试新开发的网站和虚拟主机迁移之外,编辑主机文件的另一个原因是阻止对特定网站的访问。

在我们的示例中,我们假设我们使用的计算机是我们要专门用于工作的设备,而不是让自己在我们的工作机上被Facebook分散注意力。

为此,请键入您要分配的IP地址,后跟两个选项卡和主机名。在我们的案例中,我们要阻止Facebook,因此我们会将www.facebook.com映射到0.0.0.0,这将作为无效的IP地址,从而导致错误。

现在,每当我们尝试从Mac转到www.facebook.com时,Web浏览器将无法加载该页面,希望能鼓励我们重新开始工作!

2.重新路由网址

或者,您可以输入有效站点的IP地址而不是0.0.0.0,这将导致尝试访问Facebook的用户被定向到您选择的站点。

要确定网站的IP地址,您可以使用macOS随附的dig命令。要通过终端“挖掘”站点,我们只需打开终端,然后在URL上运行dig命令,然后将返回IP地址作为输出。

$ dig www.techjunkie.com +short
104.25.27.105

注意:+ short选项使输出仅保留我们所需的信息,即IP地址。

记下返回的IP地址,并在Mac主机文件映射中使用它。例如,《纽约时报》网站返回的IP地址为170.149.172.130。如果我们在主机文件中将其映射到Facebook,则每当使用Mac的某人尝试访问Facebook时,他们都会看到《纽约时报》加载。

注意:许多网站不允许您将域名映射到当前映射到该站点的IP地址,因此尝试时会出现安全错误。
您可以通过在每一行上输入新的映射,将所需的条目添加到主机文件中。对hosts文件进行所需的更改后,将其保存在桌面上的当前位置。

然后,将它从你的桌面恢复到原来的位置在下降hosts文件/ /私营等。如果您已经关闭指向该目录的Finder窗口,只需使用上面讨论的Finder>转到>转到文件夹命令来重新打开它。

当您将主机文件放回其原始位置时,macOS将询问您如何处理已经存在的未修改主机文件。选择“替换”,然后输入您的管理用户密码以验证传输。

修改后的主机文件现在就位,启动您的Web浏览器以测试更改。

3.刷新您的DNS缓存

在大多数情况下,新映射应立即起作用,但是如果您没有看到正确的行为,则可能需要刷新DNS缓存,从而迫使浏览器从主机文件中读取以确定映射。

要刷新Mac上的DNS缓存,请打开“终端”并使用以下命令(使用sudo可以以计算机的管理员身份运行此命令):

sudo killall -HUP mDNSResponder
注意:您需要输入管理员密码才能执行此命令。

要使您的Mac清除DNS缓存,然后通过回显确认来确认它已清除缓存,请输入以下两个命令,并用分号隔开,如下所示:

sudo killall -HUP mDNSResponder;say DNS cache has been flushed

然后,您的Mac会通过扬声器说“ DNS缓存已刷新”。

二、如何在Nano终端中编辑Mac Hosts文件

上一节中的步骤很容易,但是如果要避免复制hosts文件,则可以使用macOS内置的UNIX Nano Text Editor在Terminal中直接对其进行编辑。

首先,启动Terminal,键入以下命令,然后按Return键。与所有sudo命令一样,您还需要输入管理员密码才能执行该命令:
$ sudo nano /private/etc/hosts

现在,您将看到在Nano编辑器或vim或您选择的其他编辑器中打开的hosts文件。要在Nano中导航和编辑文件,请使用键盘上的箭头键。

就像我们上面的TextEdit方法一样,我们可以随意添加,编辑或删除主机名映射。因为我们使用sudo启动了Nano,所以所有更改都将通过身份验证并直接保存到原始hosts文件,而无需将其复制到其主目录之外。

完成更改后,请按Control-X退出编辑器,按Y进行保存,然后按Return覆盖现有的主机文件。

如前所述,如果您发现新映射无法正常工作,请确保刷新DNS缓存。

我们的示例提到了在工作环境中阻止和重定向分散注意力的站点,但是您也可以使用以下步骤来手动阻止对恶意网站的访问,当然也可以阻止其他用途。

如果您犯了一个错误并且不确定如何解决它,则可以始终使用上述方法之一输入以下默认信息来恢复默认的主机文件内容:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 localhost

三、最后的想法

了解如何在macOS上编辑主机文件提供了一种便捷的方法来覆盖DNS服务器,并手动将网站地址指向新的IP地址或阻止访问,并且通过执行上述步骤,您可以非常快地完成此任务。

如果您是Mac用户,并且觉得本文有用,则可能需要查看其他TechJunkie教程,包括如何查找Mac的确切CPU模型和 如何在Mac Mojave中刷新DNS。