Skip to content

如何修改 hosts 文件 - Windows 和 macOS 完整指南 ​

hosts 文件是操作系统中一个重要的系统文件,用于将域名映射到 IP 地址。通过修改 hosts 文件,您可以实现域名解析重定向、屏蔽恶意网站、加速访问等功能。

什么是 hosts 文件? ​

hosts 文件是一个纯文本文件,用于存储主机名和 IP 地址的对应关系。当您在浏览器中输入一个域名时,系统会首先查找 hosts 文件,如果找到对应的条目,就会直接使用该 IP 地址,而不再通过 DNS 服务器查询。

常见用途 ​

  • 开发测试 :将域名指向本地服务器
  • 网站加速 :绕过某些 DNS 解析问题
  • 广告拦截 :将广告域名指向无效 IP
  • 网络调试 :测试不同服务器环境

macOS 系统修改 hosts 文件 ​

方法一:使用终端命令行(推荐) ​

第一步:打开终端 ​

  1. 按下 Command + 空格键 打开 Spotlight 搜索
  2. 输入 Terminal终端
  3. 按回车键打开终端应用

第二步:备份原始 hosts 文件 ​

bash

sudo cp /etc/hosts /etc/hosts.backup

第三步:编辑 hosts 文件 ​

使用 nano 编辑器:

bash

sudo nano /etc/hosts

或使用 vim 编辑器:

bash

sudo vim /etc/hosts

第四步:添加域名映射 ​

在文件末尾添加您的域名映射,格式为:

IP地址    域名

例如:

127.0.0.1    test.local
192.168.1.100    myserver.local
127.0.0.1    ads.example.com

第五步:保存并退出 ​

  • nano 编辑器 :按 Ctrl + X,然后按 Y,最后按回车键
  • vim 编辑器 :按 Esc 键,输入 :wq,按回车键

第六步:刷新 DNS 缓存 ​

bash

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

方法二:使用图形界面 ​

第一步:在 Finder 中打开文件 ​

  1. 打开 Finder
  2. 按下 Command + Shift + G
  3. 输入 /etc/hosts
  4. 点击"前往"

第二步:复制到桌面编辑 ​

  1. 将 hosts 文件复制到桌面
  2. 使用文本编辑器打开桌面上的副本
  3. 进行必要的修改
  4. 保存文件

第三步:替换原文件 ​

  1. 将修改后的文件拖回 /etc/ 目录
  2. 系统会要求输入管理员密码
  3. 选择"替换"

验证修改结果 ​

bash

# 查看 hosts 文件内容
cat /etc/hosts

# 测试域名解析
ping test.local

Windows 系统修改 hosts 文件 ​

文件位置 ​

Windows 系统的 hosts 文件位于:

C:\Windows\System32\drivers\etc\hosts

方法一:使用记事本(管理员权限) ​

第一步:以管理员身份运行记事本 ​

  1. 点击开始菜单
  2. 搜索 notepad记事本
  3. 右键点击记事本
  4. 选择"以管理员身份运行"

第二步:打开 hosts 文件 ​

  1. 在记事本中,点击"文件" > "打开"
  2. 导航到 C:\Windows\System32\drivers\etc\
  3. 在文件类型下拉菜单中选择"所有文件(.)"
  4. 选择 hosts 文件并打开

第三步:编辑文件 ​

在文件末尾添加您的域名映射:

127.0.0.1    test.local
192.168.1.100    myserver.local
127.0.0.1    ads.example.com

第四步:保存文件 ​

Ctrl + S 保存文件

第五步:刷新 DNS 缓存 ​

  1. 以管理员身份打开命令提示符
  2. 执行以下命令:

cmd

ipconfig /flushdns

方法二:使用 PowerShell(管理员权限) ​

第一步:打开 PowerShell ​

  1. 右键点击开始按钮
  2. 选择"Windows PowerShell (管理员)"

第二步:备份原文件 ​

powershell

Copy-Item C:\Windows\System32\drivers\etc\hosts C:\Windows\System32\drivers\etc\hosts.backup

第三步:编辑文件 ​

powershell

notepad C:\Windows\System32\drivers\etc\hosts

第四步:添加映射并保存 ​

在打开的记事本中添加所需的域名映射,然后保存文件。

第五步:刷新 DNS 缓存 ​

powershell

ipconfig /flushdns

验证修改结果 ​

cmd

# 查看 hosts 文件内容
type C:\Windows\System32\drivers\etc\hosts

# 测试域名解析
ping test.local
nslookup test.local

常用配置示例 ​

本地开发环境 ​

127.0.0.1    localhost
127.0.0.1    dev.mysite.com
127.0.0.1    api.mysite.com
127.0.0.1    admin.mysite.com

屏蔽广告域名 ​

0.0.0.0    ads.google.com
0.0.0.0    doubleclick.net
0.0.0.0    googleadservices.com

指向特定服务器 ​

192.168.1.100    staging.mysite.com
192.168.1.101    testing.mysite.com
10.0.0.50       internal.company.com

安全注意事项 ​

重要警告 ​

  • 谨慎修改 :错误的配置可能导致网络访问问题
  • 备份原文件 :修改前务必备份原始 hosts 文件
  • 避免恶意修改 :定期检查 hosts 文件是否被恶意软件篡改

安全最佳实践 ​

  1. 定期检查 :定期查看 hosts 文件内容
  2. 权限控制 :修改完成后检查文件权限
  3. 记录变更 :记录每次修改的目的和内容
  4. 测试验证 :修改后及时测试相关功能

故障排除 ​

常见问题 ​

修改不生效 ​

解决方案:

  1. 确认使用管理员权限保存文件
  2. 刷新 DNS 缓存
  3. 重启浏览器或应用程序
  4. 检查文件格式是否正确

权限不足 ​

Windows 解决方案:

  • 确保以管理员身份运行编辑器
  • 检查文件是否被设置为只读

macOS 解决方案:

  • 使用 sudo 命令
  • 确认输入的管理员密码正确

语法错误 ​

检查要点:

  • IP 地址和域名之间用空格或制表符分隔
  • 每行一个映射关系
  • 注释行以 # 开头
  • 不要有多余的空行或特殊字符

恢复原始设置 ​

macOS:

bash

sudo cp /etc/hosts.backup /etc/hosts

Windows:

cmd

copy C:\Windows\System32\drivers\etc\hosts.backup C:\Windows\System32\drivers\etc\hosts

高级技巧 ​

使用通配符(仅某些系统支持) ​

127.0.0.1    *.dev.local

注释和组织 ​

# 开发环境
127.0.0.1    dev.mysite.com
127.0.0.1    api.dev.mysite.com

# 测试环境  
192.168.1.100    test.mysite.com

# 广告拦截
0.0.0.0    ads.example.com  # 拦截广告服务器

临时禁用条目 ​

在行首添加 # 来注释掉某个条目:

# 127.0.0.1    temp.local  (已禁用)

总结 ​

修改 hosts 文件是网络管理和开发中的常用技巧。通过本指南,您可以:

  • 在 macOS 和 Windows 系统上安全地修改 hosts 文件
  • 了解常见的应用场景和配置方法
  • 掌握故障排除和安全最佳实践
  • 使用高级技巧提高配置效率

记住始终以管理员权限进行修改,并在修改前备份原始文件。如果遇到问题,可以随时恢复备份文件来解决。


相关链接: