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 文件,导致钓鱼攻击或网络劫持。