hosts文件详解:文件位置、修改方法与使用技巧大全
hosts文件在 Windows 系统上位于:
C:\Windows\System32\drivers\etc\hosts
在 Linux/macOS 系统上位于:
/etc/hosts
该文件是一个无扩展名的文本文件。
hosts 文件
hosts文件是一个操作系统用来将主机名(域名)映射到 IP 地址的系统文件,它优先于 DNS 查询;常用于本地网络测试、屏蔽网站、开发调试。
hosts 文件中,每一行代表一个映射,格式如下:
IP地址 主机名(域名) #注释(可选)
例如:
# 可以为一个域名指定一个 IPv4 和 IPv6 地址;
127.0.0.1 localhost
::1 localhost
hosts 文件通常只有127.0.0.1 localhost这一有效行,如果误改导致问题,可恢复默认内容。
常见用途
本地开发测试
将域名指向本地服务器(如127.0.0.1或192.168.1.123),方便调试网站;
127.0.0.1 myapp
192.168.1.11 api.service
192.168.1.12 mysql.service
修改hosts文件用于本地开发测试
屏蔽特定网站
可以将域名指向0.0.0.0或127.0.0.1,使其无法访问,以达到屏蔽广告、网站的目的。
0.0.0.0 需要屏蔽的域名.com #屏蔽网站
绕过 DNS 解析
将域名强制指向特定的 IP,以达到避免 DNS 污染或加速访问的目的。
修改 hosts 文件
在 Windows 下,修改hosts文件需要管理员权限:
使用管理员权限打开记事本或其他文本编辑器;
点击 文件 - 打开,找到C:\Windows\System32\drivers\etc\hosts;
修改后保存。
在 Linux/macOS 下,则需要root权限:
sudo vim /etc/hosts
常见问题
拒绝访问
修改hosts文件失败
权限不足导致,应使用管理员权限运行文本编辑器:
以管理员身份运行
修改后不生效
修改后不生效,可能需要刷新 DNS 缓存;
Windows 系统打开 CMD(命令提示符)或终端运行ipconfig /flushdns;
Linux/macOS 系统运行命令sudo systemd-resolve --flush-caches或sudo dscacheutil -flushcache
可疑的配置
恶意软件可能篡改 hosts 文件,导致钓鱼攻击或网络劫持。