首先呢,來自知乎的一些問答:修改 hosts 文件可以上一些牆內屏蔽的網站,其原理是什么?
(然而通過增/改hosts的方法來翻牆已經失效很久了)
然后呢,也可以通過修改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地址,主要用於網絡軟件測試以及本地機進程間
通信,無論什么程序,一旦使用回送地址發送數據,協議軟件立即返回,不進行任何網絡傳輸。