Hosts 文件是什么?Windows/Mac 修改完整步骤
一、Hosts 文件是什么
Hosts 是一个没有扩展名的系统文件,本质上是一个纯文本格式的文件,可以用记事本等文本编辑器打开查看和编辑。它的核心作用是将域名(主机名)与其对应的 IP 地址建立映射关系,形成一个本地的“域名解析数据库”。
在计算机网络中,人类更容易记住像 www.fuwa.org 这样的域名,而计算机实际通信时使用的是 IP 地址(如 192.168.1.1)。Hosts 文件正是连接域名与 IP 地址的桥梁——当用户在浏览器中输入一个网址时,操作系统会首先自动从 Hosts 文件中寻找对应的 IP 地址,一旦找到就直接使用该 IP 访问目标服务器;如果没有找到,系统才会将域名提交给 DNS(域名系统)服务器进行解析。
从优先级来看,Hosts 文件的解析优先级高于 DNS 服务器。这意味着 Hosts 文件中的映射规则会“覆盖”公共 DNS 的解析结果,这也是 Hosts 文件能够实现诸多网络自定义功能的核心原理。
Hosts 文件的历史可以追溯到 DNS 出现之前的早期互联网时代。在那个时候,整个网络中的主机名与 IP 地址的对应关系都记录在一个共享的静态 Hosts 文件中,由中心化管理并定期发布更新。随着互联网规模的爆炸式增长,这种集中管理的方式已无法满足需求,DNS 系统应运而生并成为主流。尽管如此,Hosts 文件并未被淘汰,它在本地域名解析、网站开发测试、广告屏蔽等场景中依然发挥着不可替代的作用。
需要特别注意的是,Hosts 文件配置的映射是静态的。一旦某个域名与 IP 地址在 Hosts 文件中建立了映射关系,如果该服务器在网络上实际的 IP 地址发生了变更,用户必须手动更新 Hosts 文件中的对应记录,否则将无法正常访问该网站。
二、Hosts 文件的存储位置
不同操作系统中,Hosts 文件的存放路径有所不同:
Windows 系统:
C:\Windows\System32\drivers\etc\hostsmacOS 系统:
/etc/hosts或/private/etc/hostsLinux 系统:
/etc/hosts
在 Windows 系统中,Hosts 文件位于系统目录深处的 etc 文件夹内,默认情况下该文件是可见的。在 macOS 和 Linux 系统中,Hosts 文件位于 /etc/ 目录下,属于系统级别的配置文件。

三、Hosts 文件的格式与语法规则
正确理解 Hosts 文件的格式是成功修改它的前提。Hosts 文件的每一条记录占据一行,**基本格式为:IP地址 域名 [别名1] [别名2]...**。各字段之间用一个或多个空格或制表符(Tab)分隔。
具体来说,每行记录包含以下组成部分:
第一部份:网络 IP 地址——这是必填项,表示目标服务器的 IP 地址。
第二部份:主机名或域名——这是必填项,表示需要解析的域名。
第三部份及以后:主机名别名——这是可选项,可以为同一个 IP 地址指定多个域名别名。
Hosts 文件还支持注释功能,以 # 符号开头的行或行中 # 之后的内容均为注释,系统在解析时会自动忽略。利用注释功能,用户可以在文件中添加说明文字,方便日后查阅和管理。
域名命名有严格的字符限制:主机名只能包含字母数字字符、连字符(-)和句点(.),必须以字母字符开头,以字母数字字符结尾。
以下是一个标准的 Hosts 文件内容示例:
# 这是一个注释行 127.0.0.1 localhost 127.0.0.1 mylocal.dev 192.168.1.100 www.fuwa.org # 测试环境 # 下面这行用于屏蔽广告 0.0.0.0 ad.doubleclick.net
四、Windows 系统修改 Hosts 文件的完整步骤
在 Windows 系统中修改 Hosts 文件,最关键的一点是必须以管理员身份运行文本编辑器,否则会因为权限不足而无法保存修改。以下是详细的操作步骤:
步骤一:备份原始 Hosts 文件
在修改任何系统文件之前,备份是最基本的安全措施。导航到 C:\Windows\System32\drivers\etc\ 目录,将 hosts 文件复制到一个安全的位置(如桌面或文档文件夹),并可以重命名为 hosts.bak 作为备份。这样如果修改出现错误,可以随时恢复。
步骤二:以管理员身份打开记事本
在 Windows 的搜索栏中输入“记事本”或“Notepad”,在搜索结果中右键点击记事本图标,选择“以管理员身份运行”。这一操作会触发用户账户控制(UAC)提示,点击“是”确认。
为什么必须以管理员身份运行? Windows 系统默认对系统目录下的文件设置了严格的访问权限,普通用户模式下的应用程序无法修改 Hosts 文件。以管理员身份运行编辑器是获取写入权限的最直接方式。
步骤三:打开 Hosts 文件
在记事本中,依次点击“文件”→“打开”。导航到 C:\Windows\System32\drivers\etc\ 目录。重要提示:在文件类型下拉框中,需要将默认的“文本文档(*.txt)”改为“所有文件(*.*)”,这样才能看到没有扩展名的 hosts 文件。选中 hosts 文件并点击“打开”。
步骤四:编辑 Hosts 文件
在文件末尾添加或修改映射规则。每行只能包含一条映射规则,格式为“IP地址 域名”。IP 地址与域名之间用空格或制表符分隔。可以在规则后面添加 # 注释以便说明。
例如,要将 www.fuwa.org 指向本地服务器(127.0.0.1),可以添加:
127.0.0.1 www.fuwa.org
步骤五:保存文件
点击“文件”→“保存”(或按 Ctrl+S)即可保存修改。如果保存时提示“拒绝访问”,说明没有以管理员身份运行记事本,需要关闭后重新以管理员身份打开并重试。
步骤六:刷新 DNS 缓存使修改生效
Windows 系统会缓存 DNS 解析结果,修改 Hosts 文件后需要刷新 DNS 缓存才能立即生效。操作方法如下:
在搜索栏中输入
cmd,右键点击“命令提示符”,选择“以管理员身份运行”。在命令提示符窗口中输入以下命令并回车:
ipconfig /flushdns
看到“已成功刷新 DNS 解析缓存”的提示后,修改即生效。
如果刷新 DNS 缓存后仍不生效,可以尝试重启计算机或重启 DNS Client 服务。
五、macOS 系统修改 Hosts 文件的完整步骤
在 macOS 系统中修改 Hosts 文件,主要通过终端(Terminal)命令行完成,因为系统对 /etc/hosts 文件同样设置了严格的权限保护。以下是详细的操作步骤:
步骤一:备份原始 Hosts 文件
打开终端(在“启动台”→“其他”中找到“终端”,或通过 Spotlight 搜索“Terminal”),执行以下命令备份 Hosts 文件:
sudo cp /etc/hosts /etc/hosts.backup
系统会提示输入管理员密码(输入时屏幕不会显示任何字符),输入后按回车确认。
步骤二:使用终端打开并编辑 Hosts 文件
在终端中输入以下命令,使用 Nano 文本编辑器打开 Hosts 文件:
sudo nano /etc/hosts
输入管理员密码后,Nano 编辑器界面会打开,显示 Hosts 文件的当前内容。
关于编辑器的选择:除了 Nano,也可以使用其他命令行编辑器如 Vim(sudo vim /etc/hosts)。对于不熟悉命令行的用户,Nano 是更友好的选择,因为界面底部会显示常用的快捷键提示。
步骤三:编辑 Hosts 文件
在 Nano 编辑器中,使用键盘方向键移动光标到文件末尾,直接输入新的映射规则。格式与 Windows 系统完全相同:IP地址 域名,每行一条规则。
例如,要屏蔽某个广告域名:
0.0.0.0 ads.example.com
步骤四:保存并退出编辑器
在 Nano 编辑器中,按 Ctrl+O(字母 O)保存文件,然后按回车键确认文件名。按 Ctrl+X 退出编辑器。
如果使用 Vim 编辑器,保存退出的方式是按 Esc 键退出插入模式,然后输入 :wq 并按回车。
步骤五:刷新 DNS 缓存使修改生效
macOS 系统中刷新 DNS 缓存的命令因系统版本而异:
macOS 10.10.4 及更新版本(大多数现代 Mac):
sudo killall -HUP mDNSResponder
macOS 10.10 至 10.10.3:
sudo discoveryutil mdnsflushcache
macOS 10.6 至 10.9:
sudo dscacheutil -flushcache
执行上述命令后,修改的 Hosts 规则即可生效。
补充方法:通过 Finder 直接修改(仅限高级用户)
除了终端方式,macOS 用户还可以通过 Finder 直接操作 Hosts 文件:
在 Finder 中按快捷键 Shift+Command+G,输入
/etc/hosts并前往。将
hosts文件复制到桌面,用文本编辑修改后保存。将修改后的文件拖回
/etc/目录替换原文件(需要输入管理员密码确认)。
六、Hosts 文件的常见用途
(一)本地网站开发与测试
这是 Hosts 文件最广泛的应用场景之一。在开发新网站或 Web 应用时,开发者可以将尚未上线的域名通过 Hosts 文件指向本地开发服务器(如 127.0.0.1 或局域网内的测试服务器 IP),从而在真实域名下进行调试,而无需购买域名或配置公共 DNS。例如:
127.0.0.1 myproject.test
这样在浏览器中访问 myproject.test 时,请求会被直接发送到本地的开发服务器。
(二)屏蔽广告与恶意网站
通过将广告服务器或恶意网站的域名映射到本地回环地址(127.0.0.1)或 0.0.0.0,可以有效阻止这些网站的内容加载。当浏览器尝试访问这些域名时,系统会将请求指向本地计算机,从而从根本上阻止广告内容的下载和展示。
127.0.0.1 ad.doubleclick.net 0.0.0.0 track.ads.com
127.0.0.1 与 0.0.0.0 的区别:两者都可以用于屏蔽域名,但 127.0.0.1 是本地回环地址,系统会尝试建立本地连接(可能产生极小的延迟);0.0.0.0 是一个无效的不可路由地址,系统会更快地放弃连接尝试。在实际使用中,两者效果相近,0.0.0.0 通常被认为更高效。
(三)加速网站访问
通过将常用网站的域名与稳定的 IP 地址绑定,可以减少 DNS 查询的时间开销,从而略微提升访问速度。这在 DNS 服务器响应较慢的网络环境中尤为有用。
(四)绕过 DNS 解析问题
当 DNS 服务器出现故障或 DNS 缓存导致解析错误时,可以通过 Hosts 文件临时绕过 DNS 系统,直接指定正确的 IP 地址进行访问。
七、修改 Hosts 文件的注意事项与安全风险
(一)权限管理是首要问题
修改 Hosts 文件必须拥有管理员权限。在 Windows 中,如果直接双击打开记事本再打开 Hosts 文件,保存时会因为权限不足而失败。正确的方式是右键以管理员身份运行编辑器再打开文件。在 macOS 和 Linux 中,必须使用 sudo 命令获取超级用户权限。
(二)格式错误会导致解析失败
每行只能包含一条映射规则,IP 地址必须放在行首,域名紧随其后。避免添加多余的空格、特殊符号或非标准字符。错误的格式会导致整条规则失效,甚至可能影响系统正常的域名解析。
(三)修改前务必备份
备份是防止操作失误的最后一道防线。无论多么有经验的用户,都可能因疏忽而输入错误的 IP 地址或格式。拥有备份文件可以快速恢复到修改前的状态。
(四)安全风险不可忽视
Hosts 文件是域名解析的第一道关卡,如果被恶意篡改,攻击者可以将用户访问的合法域名指向钓鱼网站或恶意服务器。安全研究显示,相当数量的终端设备曾出现过 Hosts 文件被篡改的情况。恶意软件常常通过修改 Hosts 文件来实现流量劫持——当用户以为自己访问的是银行官网时,实际上可能被导向了攻击者伪造的钓鱼页面。
防范建议:
定期检查 Hosts 文件内容,确认没有未经授权的映射规则。
保持操作系统和安全软件的更新。
如果发现 Hosts 文件被无故修改,应立即运行安全扫描。
(五)修改后不生效的排查方法
如果修改 Hosts 文件后没有生效,可以按以下顺序排查:
确认是否刷新了 DNS 缓存(Windows:
ipconfig /flushdns;macOS:sudo killall -HUP mDNSResponder)。检查 IP 地址是否正确且有效。
检查格式是否正确(IP 与域名之间是否有空格,是否有多余字符)。
重启计算机或重启网络服务。
检查是否有安全软件锁定了 Hosts 文件。
八、总结
Hosts 文件是一个历史悠久但至今仍在发挥重要作用的系统配置文件。它通过在本地建立域名与 IP 地址的映射关系,实现了优先于 DNS 服务器的域名解析。无论是网站开发测试、广告屏蔽,还是临时解决 DNS 解析问题,Hosts 文件都提供了一种简单、直接、无需依赖外部服务的解决方案。
修改 Hosts 文件的操作本身并不复杂——Windows 用户只需以管理员身份运行记事本并编辑保存,macOS 用户通过终端使用 sudo nano /etc/hosts 即可完成。但权限管理、格式规范、备份习惯和安全意识这四个方面始终需要牢记。正确使用 Hosts 文件可以显著提升工作效率和网络体验,而忽视这些注意事项则可能带来安全风险或网络访问异常。
通过本文的详细介绍,相信读者已经能够独立、安全地完成 Windows 和 macOS 系统下 Hosts 文件的修改操作,并在实际工作和生活中灵活运用这一强大的系统工具。
版权及免责申明:本文由@fuwa原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.fuwa.org/tutorials/what-is-hosts-file-windows-mac-edit-guide.html

