SwitchHosts - 快速一键切换修改 hosts 的免费开源工具 (跨平台支持 Win/Mac/Linux)
- 爱奇艺限时半价 | 30+正版软件打折 | PD 虚拟机 7 折 | RackNerd 黑五 | 京东 Plus ¥69
我们常常在网上听到看到很多人说修改 hosts。那么 hosts 到底是什么东西?怎样修改 hosts?hosts 的路径在哪?改 hosts 又有什么作用?
这是一篇关于 hosts 的简单小科普,可以让小白们了解它。如果你是老手,这里也给你推荐了一款非常实用的,可以快速修改和切换 Hosts 方案的免费开源跨平台工具——SwitchHosts!。你会发现,借助 SwitchHosts 快速切换 hosts、管理比起每次要手动修改简直方便太多了……
hosts 是什么?
一般来说,当用户在电脑浏览器里输入网址(域名)后,系统需要通过查询网络上的 DNS 服务器,才能将域名 (比如 iPlaySoft.com) 解析成对应的 IP 地址,浏览器通过 IP 地址才能找到该网站所在的服务器并进行访问。
而操作系统的 hosts 文件则是有着“类似本地 DNS 服务器”的作用,而且比网络上的 DNS 具有更高的优先级。如果你在 hosts 里面配置了某个域名和IP的对应关系 (比如 127.0.0.1 iplaysoft.com),那么当你在「本机」访问 iplaysoft.com 时,系统首先会从 hosts 里面解析出 127.0.0.1 这个 IP,而不会再去查询网络上的 DNS 服务器。
注意:hosts 文件仅对本机生效,对其他电脑和网站本身不造成任何影响。
修改 hosts 有什么作用?
根据上述这样的特点,hosts 文件可以应用在很多场景,比如下面一些例子:
- 强制指定域名的 IP,加快域名解析 (省略了联网查询 DNS 的步骤),也能绕过 DNS 污染与劫持。
- 为局域网某些 IP 的机器配置一个“网址别名”,方便自己记忆和访问。比如配置一个 nas.com 访问局域网里的 NAS;gongsi 访问公司网站等等。
- 将域名指向到不可访问的IP地址,达到屏蔽不健康网站、屏蔽垃圾广告网址的效果;同理也能禁止系统、软件、网站访问某些指定的网址;
- 开发或测试应用时,利用 hosts 将域名临时指向到测试服务器IP,可以方便自己测试,同时又不影响他人和线上的应用。
其实 hosts 还有很多不同的用途,但比较常见的主要是用来屏蔽指定网址,以及程序员在开发、测试阶段用于配置服务器IP。
怎样修改 hosts?
不同的操作系统修改 hosts 文件的方法不一样,它所在的路径也不一样。常见操作系统的 hosts 文件的位置路径为:
- Windows 系统 Hosts 文件路径:C:\Windows\System32\drivers\etc\hosts
- Mac 系统 hosts 文件路径:/etc/hosts
- Linux 系统的 hosts 文件一般也是在:/etc/hosts
- Android 系统的 hosts 文件路径:/system/etc/hosts (需要Root权限修改)
由于 hosts 属于系统文件,因此需要管理员权限才能对内容进行修改。一般使用任意文本编辑器都能打开它进行修改内容,一行一个IP地址和域名的对应关系,格式是「IP地址+空格+域名」,这里的“域名”不一定要求xx.com,也可以是一个单词比如系统预设的“localhost”或者自定义一个“nas”也行。你可以根据自己的需要增加或修改 hosts 的内容。hosts 文件内容的例子如下:
127.0.0.1 example.com
14.215.177.38 www.baidu.com
192.168.1.100 nas
# 井号开头的则是注释
你可以根据自己的需求进行修改,偶尔只改一两次的同学,手动修改即可。但对于经常需要修改 hosts 的朋友 (比如开发者),每次都要手动不停地来回修改,实在是很累,而且也很容易出错。那么你就要一键快速切换 hosts 的工具了!
怎样快速修改、应用/切换 Hosts?
Hosts 相关的小工具着实不少,大家需求最多的肯定是 hosts 切换工具了。SwitchHosts! 是一款可以方便你管理和一键切换多个 hosts 方案的免费开源工具,跨平台支持 Windows、macOS 和 Linux 系统。
SwitchHosts Mac 版截图
SwitchHosts 除了可以帮助你快速切换不同的 hosts 设置、编辑 hosts 文件外,它还有着一些很不错的特性,比如:
- 免费、开源、支持三大操作系统
- 系统托盘快速「一键切换」不同的 hosts 方案
- 支持 hosts 文件语法高亮,可以方便用户更直观地阅读和修改 Hosts 内容;
- 编辑 hosts 时,可以点击行号可以对行进行快速注释或取消注释
- 支持远程 hosts,直接从指定网址读取 hosts 内容,方便多台机器同步 hosts 设置,这是一个很赞的特性!
- 支持 hosts 配置的导入、导出备份
- macOS 系统下可以支持 Alfred workflow 快速切换
基本上,有了 SwitchHosts,你就可以对 hosts 为所欲为了,轻松一键切换毫无鸭梨。而且,远程 hsots 方案也可以非常方便经常换电脑使用的人,配置一次到处使用!这一点也是它的亮点。
不过值得注意的是,由于 SwitchHosts 修改 hosts 文件是属于修改系统文件的行为,某些安全软件可能会提示“有风险”,有问题的话试试将 SwitchHosts 加入排除列表或者信任列表里即可。
修改 hosts 后不生效怎么解决?
无论是手工修改 hosts 还是使用软件来修改,很多人都会遇到修改 hosts 后不生效的情况。其实,这一般是由于 DNS 缓存的原因导致的。
因为系统为了加快用户打开网站的速度,在首次访问网站成功之后,会把 DNS 解析的结果暂时性地保存在本地缓存 (称为 DNS 缓存) 里一小段时间,如果浏览器在“这段时间里”再次打开同一个网址,则会自动从 DNS 缓存里取出结果,而不会请求远程的 DNS 服务器,也不会查询 hosts 文件,从而节省时间提高打开速度。因此用户会遇到有时修改了 hosts 文件但并不生效的情况,一般这时候我们想办法清空 (刷新) 一下系统的 DNS 缓存即可。
怎样清空 DNS 缓存?
- 在 Windows 下命令行执行:ipconfig /flushdns
- 在 macOS 下执行命令:sudo killall -HUP mDNSResponder
- 如果你使用 Chrome 浏览器,那么可以访问:chrome://net-internals/#dns,然后点击「Clear host cache」按钮来清空浏览器里的 DNS 缓存。
如果这样还不生效,那么只能再试试重启电脑了,一般都OK了。要这样还是不行,可能就是你的 hosts 写错了。
总结:
说了那么多,其实 hosts 并不神秘,简单理解它就是个电脑本机的「IP地址<=>域名」的对应表,系统或任何软件都会优先先检查 hosts 里面有没对应的配置,之后才会去查询网上的 DNS 服务器。因此你可以利用 hosts 做很多有趣、有用的事情。而借助 SwitchHosts! 工具,你可以方便地备份hosts,也能快速切换不同的 hosts 配置,甚至使用远程的 hosts 文件等,甚是方便!
另外,如果你对 DNS 有兴趣,不妨看看以前小小科普过的「DNS 是什么?」的文章,里面也是有快速切换 DNS 服务器的小工具 DNSJumper 推荐哦。
/ 关注 “异次元软件世界” 微信公众号,获取最新软件推送 /
如本文“对您有用”,欢迎随意打赏异次元,让我们坚持创作!
赞赏一杯咖啡