Hosts 文件是操作系统中用于将域名映射到 IP 地址的本地配置文件,解析优先级高于 DNS。通过编辑 Hosts 文件可以屏蔽广告网站、加速访问特定站点或在本地测试网站,是网络调试和运维中常用的基础工具。

| 类型 | 操作系统网络配置文件 |
| 作用 | 域名到 IP 的本地静态映射 |
| Windows 路径 | C:\Windows\System32\drivers\etc\hosts |
| Linux/macOS 路径 | /etc/hosts |
| 解析优先级 | 高于 DNS 查询 |
| 文件格式 | 纯文本(IP + 域名,# 为注释) |
Hosts 文件是操作系统内置的一个纯文本配置文件,用于把域名(主机名)直接映射到指定的 IP 地址,其解析优先级通常高于 DNS 查询。
在互联网早期,DNS 系统尚未出现,联网计算机就是靠一份人工维护的主机列表来完成域名到 IP 的对应,Hosts 文件正是这一机制的延续。虽然如今域名解析主要由 DNS 完成,但几乎所有主流操作系统仍保留了 Hosts 文件,并让它在解析流程中先于 DNS 生效。
Hosts 文件的位置因系统而异:Windows 下位于 C:\Windows\System32\drivers\etc\hosts,Linux 和 macOS 下位于 /etc/hosts。文件内容为纯文本,每行一条记录,格式是「IP 地址 + 空格 + 域名」,以井号开头的行为注释。修改它通常需要管理员(root)权限。
编辑 Hosts 文件需以管理员身份打开记事本或使用 sudo 命令,保存时不能带 .txt 等扩展名。修改后如未立即生效,可刷新系统 DNS 缓存(如 Windows 下执行 ipconfig /flushdns)或重启浏览器。
由于 Hosts 文件优先级高,它也常被恶意软件篡改,用来把银行、官网等域名劫持到钓鱼站点。若发现网站跳转异常,检查 Hosts 文件是否被添加了可疑记录是常见的排查步骤;许多安全软件也会监控并保护该文件。
问:修改了 Hosts 文件为什么不生效?答:常见原因包括保存时被加上了 .txt 后缀、没有管理员权限导致保存失败、DNS 缓存未刷新,以及浏览器自身缓存或使用了代理(走代理时域名解析可能在远端完成,不经过本地 Hosts)。
问:Hosts 文件和 DNS 有什么区别?答:两者都负责域名到 IP 的映射,但 Hosts 是存放在本机、需手动维护的静态文件,只对本机生效;DNS 是全球分布式的自动解析系统。系统一般先查 Hosts,查不到再向 DNS 服务器发起查询。
问:把域名指向 127.0.0.1 和 0.0.0.0 有区别吗?答:两者都能起到屏蔽效果。127.0.0.1 会把请求发往本机回环地址,若本机开有 Web 服务可能仍返回内容;0.0.0.0 是无效目标地址,连接会更快失败,因此大型屏蔽列表多采用 0.0.0.0。

| 类型 | 操作系统网络配置文件 |
| 作用 | 域名到 IP 的本地静态映射 |
| Windows 路径 | C:\Windows\System32\drivers\etc\hosts |
| Linux/macOS 路径 | /etc/hosts |
| 解析优先级 | 高于 DNS 查询 |
| 文件格式 | 纯文本(IP + 域名,# 为注释) |
登录 后参与讨论
暂无讨论,来发表第一条评论吧