0%

Host 直连教程

2017年元旦
根据相关法律政策,这篇文章只是简单的介绍一下如何访问一家不存在的网站。要想获得完美的体验,还是肉身该字符不予显示

什么是hosts文件

Wikipedia 上面对hosts 的描述是这样的:

hosts文件是一个用于储存计算机网络中各节点信息的计算机文件。这个文件负责将主机名称映射到相应的IP地址。hosts文件通常用于补充或替换网络中DNS的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。
初在Internet的前身ARPANET中,其成员SRI International(英语:SRI International)手动维护并分享了一个名为HOSTS.TXT的文件,其中就包括主机名称和对应地址。1983年DNS系统开始开发,1984年得到了发展。在网络快速的发展过程中,DNS可以自动提供动态的主机名解析。不过在现代操作系统,hosts文件仍然是一个可以作为备用手段的名称解析机制。

可见,hosts文件历史是比较长的。而使用简体中文Google搜索关键词:hosts , 得到的结果首页是:
Google
用简单的话解释hosts文件的如此流行就是:

为了方便用户记忆,我们将IP变成一个个的域名来输入到浏览器进行访问。而这使得访问网站时要先将其域名解析成 IP 。DNS (Domain Name Server) 的作用就是进行 IP 解析,把域名对应到 IP。
在 Great FireWall 的 5 种封锁方法中,有一种简单而效果很好的方法是 DNS 污染。GFW 会对 DNS 的解析过程进行干扰,这会使对某些被干扰的域名返回一个错误的 IP 地址给你的主机,使你无法正确连接到你要的服务器上读取正确的信息。
Hosts 文件本来是用来提高解析效率。在进行 DNS 请求以前,系统会先检查自己的 Hosts 文件中是否有这个地址映射关系,如果有则调用这个 IP 地址映射,如果没有再向已知的 DNS 服务器提出域名解析。也就是说 Hosts 的请求级别比 DNS 高。当你的 Hosts 文件里面有对应的 IP 时,它就会直接访问那个 IP,而不用通过 DNS。所以,当我们直接将 Google、Twitter、Facebook 之类的 IP 放入 Hosts 文件后,就可以跳过 DNS 的解析这一步,直接就行 IP 访问,不受 GFW 的 DNS 污染干扰了。

Before reading any further….

引用Google搜索“hosts”排行最高的 github项目 wiki里面的一段话:

网络审查在各个国家都普遍存在着,它并不仅存在于中国。在全球的局势对中国都不利的当下,当局会过滤掉影响、危害到中国长远发展的信息,此时国家安全的意义更加重大。

互联网上存在着大量终究不现实的、不客观的,甚至自相矛盾的抹黑当局政府言论,它们背后一般有西方政府或非政府组织资金支持。这些媒体包括但不限于一些港媒、境外网站。

我们希望您能在遇到此类言论和见解时,不要不加思考地、情绪一度被煽动而不能克制地、盲目地相信这些片面或者歪曲事实的东西,而是要事实求是地思考,要摆脱情绪绑架的怪诞思维去理解。

我们需要了解到,中国的发展总基调是“稳中求进”,中国社会的最核心问题就是稳定。失去稳定的中国将会是一盘散沙,面临分裂和肢解的危险。我们希望您了解当今中国发展的根本保证是什么,发展的过程中哪部分是主旋律,哪些是噪音;哪些是进取的,哪些是会开历史倒车的。

我们应该清醒和全面地认识问题,偏信西方媒体的言论、缺乏对国家的信任是不可取的。您的数据安全和隐私对您尤为重要。若这些信息不应当被西方掌握时,它对国家和民族的命运更为重要。出于此原因,当局可能会限制您的行为,我们不会也无法干预当局的任何政策和决定。

所以,我们希望您在使用此服务时,不要盲目地攻击当局的做法。

修改hosts文件访问互联网的安全性

直接使用他人维护的hosts文件访问互联网是存在一定风险的,而且并不具备匿名性,对于ISP都是可见的。例如联通网上营业厅的手机上网记录
详细的技术分析可以参看知乎上的问答:修改hosts访问一些难以访问的网络,安全么?

怎样获得有效的hosts文件

善用搜索

在github上以“hosts”为关键词搜索

对于特殊网络环境用户,可以使用Google 镜像网站检索

使用工具自己扫描可用IP

可以自己造轮子或者使用别人的工具,这里就不展开了

我已经有耐心看到这了,告诉我该怎么做

windows/Mac/linux 桌面用户

由于hosts文件是一个纯文本文件,所以直接使用Github仓库维护的 hosts 列表编辑替换系统的hosts文件即可。注意:编辑hosts文件后,访问Google可能需要手工加上https:// 前缀,如https://www.google.com/ncr . 更多问题,请参阅 The hosts FAQ

windows 用户(以下步骤参考Github项目hosts

使用管理员权限运行文本编辑器(如系统自带的记事本)打开hosts文件,在Windows下的路径为%SystemRoot%\system32\drivers\etc

断开网络重连以刷新dns,使hosts文件生效。
搬运youtube上一段演示视频:

Linux用户

Linux下的hosts文件位置为 /etc/hosts ,需要有管理员权限才能编辑。以使用vim编辑为例

1
sudo vim /etc/hosts

刷新DNS缓存生效

1
sudo systemctl restart NetworkManager.service

Mac 用户

hosts 文件位置也是在 /etc/hosts 下,编辑hosts文件,断开网络重连刷新dns缓存生效。

android 移动设备用户

对于已经 root 了的用户,推荐使用 一键 Go Hosts
Google Play 无法访问的可以使用这个 apkpure 的镜像链接

参考链接

  1. 修改 hosts 文件的原理是什么?–知乎问答
  2. 2016 Google hosts 持续更新【更新于:2017-01-02】