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