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.1192.168.1.123),方便调试网站;

    127.0.0.1            myapp
    192.168.1.11         api.service
    192.168.1.12         mysql.service
    
    修改hosts文件用于本地开发测试
    修改hosts文件用于本地开发测试
  • 屏蔽特定网站

    可以将域名指向0.0.0.0127.0.0.1,使其无法访问,以达到屏蔽广告、网站的目的。

    0.0.0.0  需要屏蔽的域名.com  #屏蔽网站
    
  • 绕过 DNS 解析

    将域名强制指向特定的 IP,以达到避免 DNS 污染或加速访问的目的。

修改 hosts 文件

在 Windows 下,修改hosts文件需要管理员权限:

  1. 使用管理员权限打开记事本或其他文本编辑器;
  2. 点击 文件 - 打开,找到C:\Windows\System32\drivers\etc\hosts
  3. 修改后保存。

在 Linux/macOS 下,则需要root权限:

sudo vim /etc/hosts

常见问题

  • 拒绝访问

    修改hosts文件失败
    修改hosts文件失败

    权限不足导致,应使用管理员权限运行文本编辑器:

    以管理员身份运行
    以管理员身份运行
  • 修改后不生效

    修改后不生效,可能需要刷新 DNS 缓存;

    Windows 系统打开 CMD(命令提示符)或终端运行ipconfig /flushdns

    Linux/macOS 系统运行命令sudo systemd-resolve --flush-cachessudo dscacheutil -flushcache

  • 可疑的配置

    恶意软件可能篡改 hosts 文件,导致钓鱼攻击或网络劫持。