如何编辑hosts文件(Windows、Mac、Linux通用)

按顺序完成以下步骤,安全地编辑你的hosts文件。

  1. 了解hosts文件的作用

    hosts文件是一个将域名直接映射到IP地址的纯文本文件,操作系统在查询DNS服务器之前,会最先检查这个文件。在其中添加一条记录后,访问对应域名时就会跳过DNS查询,直接连接到指定的IP地址,这在搭建本地开发环境或屏蔽特定网站时非常有用。

  2. 找到各操作系统上hosts文件的位置

    Windows系统中位于"C:\Windows\System32\drivers\etc\hosts",Mac和Linux系统中位于"/etc/hosts"。它没有文件扩展名,是纯文本文件,可以直接用记事本或终端编辑器打开修改。

  3. 以管理员权限打开编辑器

    hosts文件是受系统保护的文件,普通权限无法保存修改。在Windows上需要先"以管理员身份运行"记事本再打开文件;在Mac和Linux上,需要在终端中使用类似"sudo nano /etc/hosts"这样的提权命令打开,保存才能真正生效。

  4. 按照正确格式添加条目

    每一行的格式为"IP地址 [空格] 域名"。例如输入"127.0.0.1 myproject.local",访问myproject.local时就会连接到你自己的电脑(127.0.0.1)。以"#"开头的行会被当作注释而不生效,请注意不要不小心删除了文件中原有的默认条目。

  5. 保存后验证是否生效

    保存文件后,在浏览器中访问该域名,确认是否连接到了你指定的IP地址。由于浏览器或操作系统有时会缓存旧的DNS结果,如果没有立即生效,可以尝试重启浏览器或清除DNS缓存后再试一次。

  6. 应用场景一:本地开发域名映射

    如果你想用一个接近真实域名的地址在本地测试正在开发的网站,可以注册类似"127.0.0.1 myapp.test"这样的条目,这样就能在浏览器地址栏中输入接近真实服务的名称,同时实际连接到本地服务器。

  7. 应用场景二:屏蔽特定网站

    将想要屏蔽的域名注册为"0.0.0.0 域名"或"127.0.0.1 域名",可以让访问该网站的请求失败。这种方法也常用于批量注册广告域名以减少广告展示,但条目一多管理就会变得繁琐,因此很多人会同时搭配专门的广告屏蔽工具使用。

  8. 注意事项:恶意软件可能篡改hosts文件

    部分恶意软件会偷偷篡改hosts文件,把银行或门户网站的域名指向伪造的IP地址,用于钓鱼攻击。如果发现某个网站访问异常,或浏览器频繁弹出安全警告,首先应该检查一下hosts文件中是否被添加了陌生的条目。

编辑hosts文件时常见的错误

最常见的问题是没有以管理员(或root)权限打开编辑器就尝试保存,有些编辑器会静默保存失败,有些则会直接报权限错误——所以第一步一定要确认编辑器是以提权方式启动的。另一个常见错误是在已有的行中不小心留下了错字或多余的域名,这可能会意外屏蔽或重定向你原本无意影响的网站,因此建议检查整个文件而不只是新增的那一行。

如何撤销修改

如果新增的条目引发了意外问题,可以直接删除你添加的那一行,或者在大多数系统上恢复为默认的hosts文件内容(通常只有寥寥几行关于loopback和localhost的记录)并保存。在第一次编辑前先备份一份原始文件,遇到问题时就能很方便地恢复。

常见问题

为什么编辑hosts文件后好像没有生效?

最常见的原因是没有以管理员(或root)权限打开编辑器,导致保存静默失败。另外也要检查浏览器或操作系统是否仍在使用修改前缓存的DNS结果,重启浏览器或清除DNS缓存通常可以解决这个问题。

用hosts文件屏蔽广告安全吗?

这是一种被广泛使用的常见方法,但手动维护大量广告域名条目会随着时间推移变得繁琐,偶尔还可能连带影响到与该域名共享服务器的其他无关服务。如果需要更彻底的广告屏蔽,专门的广告屏蔽扩展或基于DNS的屏蔽工具通常更容易维护。