hosts 文件是操作系统自带的本地域名解析配置文件,能把域名直接映射到指定 IP 地址,且优先级高于 DNS 查询。它常用于本地开发调试、屏蔽广告网站、修正域名解析错误等场景,是网络管理和程序员绕不开的基础工具。

| 类型 | 操作系统网络配置文件 |
| 文件格式 | 纯文本 |
| 常见路径 | Linux/macOS 为 /etc/hosts,Windows 位于 System32\drivers\etc |
| 主要作用 | 域名到 IP 地址的本地静态映射 |
| 相关技术 | DNS 域名解析 |
hosts 文件是操作系统中一个用于将域名(主机名)映射到 IP 地址的本地纯文本配置文件,系统在进行域名解析时会优先读取它,再去查询 DNS 服务器。
在 DNS 系统诞生之前,早期互联网就是依靠一份集中维护的主机名列表来完成名称与地址的对应,hosts 文件正是这一机制在各操作系统中的延续。随着网络规模扩大,分布式的 DNS 取代了它承担全网解析的角色,但 hosts 文件作为本地覆盖手段一直保留至今。
它的格式非常简单:每行一条记录,前面是 IP 地址,后面是一个或多个域名,以空格或制表符分隔,井号开头的行为注释。Windows 系统中它位于 System32\drivers\etc 目录下,Linux 和 macOS 则位于 /etc/hosts。修改该文件通常需要管理员或 root 权限。
由于 hosts 的解析优先级高于 DNS,一条记录就能改变某个域名在本机的指向,这既带来了灵活性,也意味着它可能被恶意软件篡改用于劫持网站,因此不少安全软件会对其进行保护和监控。
问:修改 hosts 后为什么不生效?答:常见原因包括没有以管理员权限保存、文件被误加扩展名,或系统仍在使用旧的 DNS 缓存。Windows 下可执行 ipconfig /flushdns 刷新缓存,浏览器自身的缓存和 DoH(浏览器内加密 DNS)也可能绕过 hosts,可重启浏览器或关闭相关设置。
问:hosts 文件和 DNS 有什么区别?答:hosts 是只对本机生效的静态映射表,需要手动维护;DNS 是全网通用的分布式解析系统,自动查询、动态更新。本机解析时 hosts 通常优先于 DNS。
问:hosts 文件有安全风险吗?答:有。恶意程序可能篡改 hosts,把银行、官网等域名指向钓鱼服务器。如果发现某网站异常跳转,建议检查 hosts 中是否存在陌生记录,并保持杀毒软件对该文件的防护。

| 类型 | 操作系统网络配置文件 |
| 文件格式 | 纯文本 |
| 常见路径 | Linux/macOS 为 /etc/hosts,Windows 位于 System32\drivers\etc |
| 主要作用 | 域名到 IP 地址的本地静态映射 |
| 相关技术 | DNS 域名解析 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧