2013年3月23日星期六

如何通过 Hosts 文件翻墙


其实,翻墙不一定要使用第三方的工具,我们也可以通过修改电脑系统自带的一个叫 Hosts 的文件直接翻墙,具体方法如下:
1. 寻找 IP 地址

像 Facebook、Twitter、YouTube 等这些大网站,都有多个不同的 IP 地址,那么如何查看它们的所有 IP 地址呢?
你可以访问 OpenDNS 页面,输入网站的域名(例如 facebook.com),再点击 “Check this domain” 按钮,然后就可以看到该网站世界各地的 IP 地址。
2. 挑选没有被墙的 IP 地址

在某个被墙的网站所有 IP 地址里面,有些或许已经被墙了,那么,如何知道哪些被墙,哪些没有被墙呢?
最简单的方法就是在不翻墙的情况下, Ping 一下它们。在 Windows 系统 上,你可以打开命令提示窗(cmd.exe),而在 Mac OS 系统 上,你可以打开终端应用程序(Terminal),然后直接输入以下命令:
ping 66.220.152.16
以上 “66.220.152.16” 是 Facebook 的一个 IP 地址,你可以将它改成你要 Ping 的实际 IP 地址。
如果显示的结果都是“链接超时”(timeout),那么该 IP 地址就被墙了,如果不是,那你就可以把它添加到 Hosts 文件。
3. 修改 Hosts 文件

电脑系统自带的 Hosts 文件就好比一个 DNS 系统,所以,我们可以将某个被墙网站的域名指向它其中一个没有被墙的 IP 地址,并突破 GFW 的封锁。
在 Windows 系统上,你可以通过以下路径找到传说中的 Hosts 文件:
C:\WINDOWS\system32\drivers\etc
而在 Mac OS 上,你则可以在终端应用程序上输入以下命令并直接打开 Hosts 文件:
sudo vi /private/etc/hosts
Hosts 文件打开之后,你就可以把被墙网站的没有被墙的 IP 地址以及对应的域名添加到文件的末尾。拿 Facebook 来讲,你可以添加以下两行:
66.220.152.16 facebook.com

66.220.152.16 www.facebook.com
不同的域名对应一个相同或者不相同的 IP,而且该 IP 只对该域名有效。所以,通过以上两行代码,你只能访问 facebook.com 和 www.facebook.com,而如果要访问 Facebook 的其他子域名(例如 developers.facebook.com),那么就还需要再添加一行含有该域名以及其对应的没有被墙的 IP 地址的代码。
代码添加完之后,保存文件,然后你就可以在不使用任何翻墙工具的情况下访问 Facebook 了,不过需要把网站链接里面的 “http” 改成 “https”,也就是说,你需要通过以下两个链接访问 Facebook 网站:
https://facebook.com
或者
https://www.facebook.com
这种通过修改 Hosts 文件翻墙的方法就好比隔山打牛,不需要借助其他工具。但是,如果某个被墙网站的所有 IP 地址都被墙了,那么这种方法也就无效了,所以,现在要访问 Twitter 网站,就只能使用 VPN、SSH、Proxy 之类的翻墙工具了。

没有评论:

发表评论