核心原理
hosts 文件是一个没有扩展名的文本文件,它可以将域名(www.blocked-site.com)映射到一个 IP 地址(0.0.1),当你尝试访问 www.blocked-site.com 时,你的电脑会首先查看 hosts 文件,发现它已经被指向了 0.0.1(也就是你自己的电脑),于是它会尝试从你自己的电脑上获取网站数据,由于你的电脑上并没有运行相应的服务器,所以访问请求就会失败,从而达到屏蔽的目的。
关键点:
0.0.1: 本机回环地址,指向自己。0.0.0: 一个“无”地址,表示“ nowhere”,使用它来屏蔽网站也是一个非常好的选择,因为它明确表示“不连接到任何地方”,比0.0.1更为严谨。推荐使用0.0.0。
详细步骤
第一步:找到并打开 hosts 文件
不同操作系统的 hosts 文件位置不同:
-
Windows 系统:
C:\Windows\System32\drivers\etc\hosts- 提示: 由于这个文件在
System32目录下,直接编辑可能会遇到权限问题,建议使用以下方法打开:- 打开记事本(Notepad)。
- 点击“文件” -> “打开”。
- 在文件地址栏中输入
C:\Windows\System32\drivers\etc\hosts然后按回车。 - 在“文件类型”中选择“所有文件 ()”,这样就能看到
hosts文件了。
- 提示: 由于这个文件在
-
macOS / Linux 系统:
/etc/hosts- 提示: 这个文件需要管理员权限才能编辑,请使用终端打开:
sudo nano /etc/hosts
(你也可以使用
vim或其他你熟悉的文本编辑器,如sudo code /etc/hosts如果你安装了 VS Code)
- 提示: 这个文件需要管理员权限才能编辑,请使用终端打开:
第二步:编辑 hosts 文件
- 定位文件末尾:打开文件后,滚动到最底部,你会看到一些以 开头的注释行,这些是说明文字,不要修改它们。
- 添加屏蔽规则:在文件末尾的空行处,添加你想要屏蔽的网站。
- 规则格式:
0.0.0 www.example.com 0.0.0.0 example.com 0.0.0.0 subdomain.example.com- 格式说明:
IP地址+空格+域名 - 建议:为了屏蔽彻底,最好同时屏蔽主域名(如
example.com)和www子域名(如www.example.com),有些网站还有其他子域名(如store.example.com),如果需要,也可以一并添加。 - 使用
0.0.0:如前所述,这是更推荐的做法。
- 格式说明:
示例:屏蔽百度和淘宝
# 添加以下内容以屏蔽指定网站
0.0.0.0 www.baidu.com
0.0.0.0 .baidu.com
0.0.0.0 www.taobao.com
0.0.0.0 taobao.com
第三步:保存文件
-
Windows (记事本):
- 按
Ctrl + S保存。 - 如果系统提示“无法保存,因为文件被另一个人或程序使用”,请确保没有其他程序(如浏览器、杀毒软件)在访问该文件,然后重试。
- 关闭记事本。
- 按
-
macOS / Linux (nano):
- 按
Ctrl + O(字母 O) 保存文件。 - 按
Enter确认文件名。 - 按
Ctrl + X退出 nano。
- 按
第四步:刷新 DNS 缓存
修改 hosts 文件后,系统可能仍然记得旧的 DNS 解析结果,你需要刷新 DNS 缓存,让修改立即生效。
-
Windows: 打开命令提示符(CMD)或 PowerShell(以管理员身份运行),然后输入:
ipconfig /flushdns
你会看到“已成功刷新 DNS 解析缓存”的提示。
-
macOS / Linux: 打开终端,然后输入:
sudo dscacheutil -flushcache
或者(在较新的 macOS 上):
sudo killall -HUP mDNSResponder
高级技巧与注意事项
-
如何取消屏蔽? 只需再次编辑
hosts文件,找到你之前添加的行,然后在这些行的最前面加上 将其注释掉即可。# 0.0.0.0 www.example.com # 0.0.0.0 example.com然后保存文件并刷新 DNS 缓存。
-
屏蔽整个域名 如果你只想屏蔽
example.com下的所有子域名,可以这样写:0.0.0 *.example.com这样
www.example.com,api.example.com,blog.example.com等都会被屏蔽。 -
注意事项
- 格式错误:
hosts文件对格式非常敏感,每行一条规则,IP 地址和域名之间用一个或多个空格或制表符隔开,不要使用其他符号。 - 不要修改其他内容:除非你明确知道自己在做什么,否则不要修改文件中已有的、以 开头的注释行。
- 影响所有浏览器:
hosts文件的修改对所有浏览器(Chrome, Firefox, Edge 等)和系统级别的网络应用都有效。 - 无法屏蔽 HTTPS 网站?:如果修改后网站仍然可以访问,请确保你屏蔽的是域名本身(如
www.example.com),而不是某个特定的路径(如www.example.com/some/page),确保 DNS 缓存已刷新。
- 格式错误:
通过以上步骤,你就可以轻松地使用 hosts 文件来管理你不想访问的网站了。
