很多人听过 Hosts 文件,但一直搞不懂它到底有什么用、怎么改、改完不生效怎么办。
其实 Hosts 是 Windows 本地最高优先级的域名解析文件,比公共 DNS 服务器优先级更高。简单说:电脑解析域名,先看 Hosts,再看网络 DNS。
今天这篇博文一次性讲透 Windows Hosts 所有核心用法、修改步骤、生效命令、常见报错和避坑技巧,日常开发、网站屏蔽、网络调试都能用得上。
一、Hosts 文件是什么?有什么用?
Hosts 是系统自带的纯文本解析文件,核心功能:手动绑定 IP 与域名。
它的解析优先级:本地 Hosts > 系统 DNS 缓存 > 公共 DNS 服务器。
日常常用场景:
- 本地网站调试:把线上域名指向本地服务器,不用改域名配置
- 屏蔽广告/恶意网站:将目标域名指向本机,实现访问拦截
- 域名解析加速:手动绑定高质量 IP,避免 DNS 污染、解析延迟
- 解决网站访问异常:修复 DNS 解析错误导致的打不开、跳转异常问题
二、Windows Hosts 文件准确路径
Windows 全系统通用路径,无任何版本区别(Win10/Win11 均适用):
C:\Windows\System32\drivers\etc\hosts
注意:该文件没有后缀名,不是 txt 文件,不要手动添加后缀。
三、正确修改 Hosts 文件(关键:必须管理员权限)
很多人修改失败、保存报错,核心原因就是 没有管理员权限。分享最稳定的官方修改方法:
步骤1:打开管理员记事本
Windows 搜索「记事本」→ 右键点击「以管理员身份运行」→ 确认 UAC 权限弹窗。
步骤2:打开 Hosts 文件
记事本按下 Ctrl+O 打开浏览窗口:
- 粘贴上方完整 Hosts 路径
- 右下角文件类型选择:所有文件(*.*)
- 选中 hosts 文件,点击打开
步骤3:编写规则(标准格式)
语法规则:IP地址 + 空格/Tab + 域名
# 开头为注释内容,系统不会生效,可用于备注说明。
通用示例模板:
# 本地默认解析(系统自带)
127.0.0.1 localhost
::1 localhost
# 示例1:本地调试,将测试域名指向本机
127.0.0.1 test.com www.test.com
# 示例2:屏蔽指定网站(指向本机实现拦截)
127.0.0.1 ad.com
步骤4:保存文件
直接 Ctrl+S 保存即可,管理员权限下不会出现权限拒绝报错。
四、修改后立即生效(必做命令)
修改 Hosts 后,系统会保留旧的 DNS 缓存,导致修改不即时生效。需要手动刷新缓存。
按下 Win+R 输入 cmd 打开命令提示符,执行命令:
ipconfig /flushdns
出现「成功刷新 DNS 解析缓存」即生效。
补充:如果浏览器依旧访问旧地址,需要 清空浏览器缓存 或强制刷新页面(Ctrl+F5),浏览器会单独缓存域名解析。
五、Windows 默认原生 Hosts 内容(可直接重置恢复)
如果你的 Hosts 文件被篡改、乱改出错,可以直接替换为系统默认原始内容,恢复出厂状态:
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
六、高频问题与避坑指南(90%人都会遇到)
1. 保存提示「拒绝访问」
原因:未使用管理员权限打开记事本。
解决:关闭当前窗口,重新管理员身份运行记事本再编辑保存。
2. 保存后变成 hosts.txt
原因:打开文件时未选择「所有文件」,系统自动补全后缀。
解决:浏览窗口文件类型改为所有文件,直接选中无后缀的 hosts 文件。
3. 修改完成完全不生效
排查顺序:
- 检查语法:IP 和域名之间必须有空格/Tab
- 执行 ipconfig /flushdns 刷新系统缓存
- 清空浏览器缓存、强制刷新页面
- 检查是否被安全软件、防火墙拦截篡改
4. Hosts 文件被莫名篡改
大概率是恶意软件、广告插件、病毒导致,会劫持域名跳转钓鱼/广告网站。
解决:恢复默认 Hosts 内容,全盘查杀病毒,锁定 Hosts 文件权限。
七、高效进阶:可视化管理 Hosts
频繁修改 Hosts 不建议手动记事本操作,推荐微软官方工具 PowerToys 中的 Hosts File Editor。
优势:
- 可视化界面,一键开启/关闭解析规则
- 自动备份历史版本,不怕改错丢失
- 无需频繁管理员权限,操作极简
总结
1. Hosts 是本地最高优先级域名解析文件,优先级高于公共 DNS;
2. 修改核心:必须管理员权限,严格遵循 IP+域名 格式;
3. 修改后务必执行 flushdns 命令刷新缓存,配合浏览器刷新生效;
4. 出错可直接替换为系统默认内容,快速重置修复。