hosts文件是什么:本地域名解析工具
hosts文件是什么,它是操作系统内置的纯文本域名映射文件,优先级高于系统配置的DNS服务器,你可以手动写入域名与IP地址的对应关系,电脑访问域名时会优先读取hosts记录,不再向公共DNS发起查询;适合用来临时屏蔽网站、绑定本地测试站点、绕过部分DNS污染,不适合普通用户长期修改,频繁改动会造成网页打不开、域名解析异常,适用人群限定为网站开发调试人员、需要临时拦截特定站点的使用者,日常上网用户无需编辑hosts文件。
hosts文件基础原理
域名本身不能直接被网络设备识别,网络通信依靠IP地址定位服务器,DNS服务的作用就是把域名翻译成对应的IP。hosts文件相当于本机自带的小型域名对照表,操作系统发起网络请求时,会先检索hosts内部条目,找到匹配域名就直接使用对应的IP地址,没有匹配记录才会继续访问DNS服务器获取解析结果。这份文件没有复杂编码,全部由明文文本构成,任何文本编辑器都可以打开查看内容,系统默认自带基础注释内容,不带自定义域名映射规则。
优先级高,是它最核心的特点。
hosts文件系统路径
不同操作系统下hosts文件存放路径不一样,Windows系统路径为C:\Windows\System32\drivers\etc\hosts,文件不带后缀名,记事本可以打开编辑,修改前必须使用管理员权限打开编辑器,否则无法保存修改后的内容;macOS和Linux系统路径统一为/etc/hosts,编辑需要终端sudo权限,权限不足会出现保存失败。你不要直接双击hosts文件修改,直接双击会默认用记事本打开,但保存操作大概率被系统拦截,正确操作是先右键记事本选择以管理员身份运行,再通过记事本菜单打开hosts文件。
hosts文件编辑语法与写法
hosts文件的单行标准格式为IP地址域名,开头的整行内容属于注释,系统会直接忽略,不会参与解析。示例写法:127.0.0.1localhost,代表localhost这个域名指向本机地址;127.0.0.1example.com,代表访问example.com时会访问本地机器。同一行内,IP和域名之间用空格或者制表符分隔,一行只能写一组IP域名映射,不要在同一行填写多个无关IP,多余空格不会破坏规则,但会降低可读性。
hosts文件实用场景对比
| 使用场景 | 操作方式 | 风险等级 |
|---|---|---|
| 本地网站调试 | 绑定测试域名指向本地服务器IP | 低 |
| 屏蔽广告站点 | 填写127.0.0.1加广告域名 | 中 |
| 切换域名指向服务器 | 修改域名对应的公网IP,临时切换访问目标 | 中 |
| 破解软件、绕过官方校验 | 修改官方域名指向本地,不推荐,会造成软件联网失效 | 高 |
广告屏蔽场景下,一次性导入上万条hosts规则会增加系统解析耗时,浏览器打开网页速度可能变慢,条目数量越多,解析耗时提升越明显。
hosts文件修改后的生效操作
保存hosts文件之后,修改不会立刻全部生效,Windows系统需要在cmd中执行ipconfig/flushdns命令刷新本地DNS缓存,macOS系统执行sudodscacheutil-flushcache;sudokillall-HUPmDNSResponder,Linux系统根据发行版重启nscd或者systemd-resolved服务。部分浏览器自带内置DNS缓存,就算系统缓存刷新完成,浏览器依旧会沿用旧解析记录,你需要关闭浏览器全部进程再重新打开,才能读取新hosts规则。
hosts文件安全边界
hosts文件只作用在当前这一台本机,不会影响局域网其他设备,也不能加密网络传输数据,无法突破防火墙限制。恶意程序经常篡改hosts文件,把银行、支付类域名指向虚假IP,实现域名劫持,一旦hosts被恶意修改,你访问正规网站会跳转到钓鱼页面,杀毒软件一般会监控hosts文件变动,发现异常修改会发出告警。
hosts不能替代VPN或者代理工具。
hosts文件常见错误
编辑hosts时,把域名写在IP前面,会直接导致整条规则失效,系统无法识别映射关系。保存文件时,误添加.txt后缀,生成hosts.txt文件,操作系统只会读取不带后缀的hosts,hosts.txt不会生效,很多新手修改无效就是这个原因。删除hosts全部原有注释行不会造成系统崩溃,但丢失localhost默认条目,部分本地软件会出现连接异常。
hosts文件恢复默认
Windows系统默认hosts文件仅包含localhost相关注释与映射记录,清空自定义条目后,写入默认内容,保存并刷新DNS缓存即可恢复初始状态。你修改hosts前,建议复制一份原文件备份到桌面,解析故障时直接替换原文件,快速恢复网络,避免逐条删除自定义域名记录。
