你的位置:首页 > 操作系统

[操作系统]用修改hosts的方式来屏蔽某些网站


首先呢,来自知乎的一些问答:修改 hosts 文件可以上一些墙内屏蔽的网站,其原理是什么?

(然而通过增/改hosts的方法来FQ已经失效很久了)

然后呢,也可以通过修改hosts来达到屏蔽某些网站的效果:(以度娘测试)

1.用文本编辑器打开hosts文件(可能需要管理员权限)

  (mac)

  $ vi /etc/hosts

2.

  在最后加上一行

  127.0.0.1  www.baidu.com

  保存退出,OK

现在在浏览器敲入度娘地址就会显示无法访问了。

 

 

hosts相当于一个字典,如果查到输入的域名在hosts中,则会先调用其对应的IP,而不通过DNS,因此可以通过手动添加修改(错误的) <ip-网址 >以达到(屏蔽某网站的)目的。

 

至于为什么要把ip指向本机地址127.0.0.1,部分原因可能是 http://my.oschina.net/flashsword/blog/99068

比如我在safari中把 ping www.weibo.com得到的 180.149.134.141

作为hosts 中www.baidu.com 的ip 映射,总是不能得到很好的结果。 

 

最后,如果能做到像chrome 的插件 Block Site一样的效果就更好了,不过Block Site 免费版总是会有新的弹窗要你买付费版有点不爽

 

 

 

 

ref1: 为了方便用户记忆,我们将IP变成一个个的域名来输入到浏览器进行访问。而这使得访问网站时要先将其域名解析

   成 IP 。DNS (Domain Name Server) 的作用就是进行 IP 解析,把域名对应到 IP。

ref2: Hosts 文件本来是用来提高解析效率。在进行 DNS 请求以前,系统会先检查自己的 Hosts 文件中是否有这个地址

   映射关系,如果有则调用这个 IP 地址映射,如果没有再向已知的 DNS 服务器提出域名解析。也就是说 Hosts 的

   请求级别比 DNS 高。当你的 Hosts 文件里面有对应的 IP 时,它就会直接访问那个 IP,而不用通过 DNS。

ref3: 127.0.0.1是回送地址,指本地机,一般用来测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback 

   Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论么程序,一旦使

   用回送地址发送数据,协议软件立即返回,不进行任何网络传输。