One Alternative Method to Surf
不知是我心理敏感,还是事实如此。突然觉得最近我所处的网络世界老是出现道路故障,而且这一旦出了故障还没人来维修。这着实让我不能忍。
现实生活中,遇到交通故障,我们所做的要么就是不去目的地,或者就是绕道而行,费时费力费财。网络世界同样如此。而且从故障的缘由而言,也不指望有关部门会修复这个交通故障了。
我真是无奈和无语,为了能顺利到达我的目的地,我不能不考虑利用“Tunnel”绕道而行了。
通俗地说,网络隧道(Tunneling)就是:利用一种网络协议来传输另一种网络协议。
假设,我的PC因为一些原因无法通过http访问站点A;主机B可以无障碍的顺利通过http访问站点A;但是我拥有主机B的SSH权限。这样子SSH tunneling的使用就变得非常必要了。
Wiki提到:
An SSH tunnel consists of an encrypted tunnel created through an SSH protocol connection. Users may set up SSH tunnels to tunnel unencrypted traffic over a network through an encrypted channel.
SSH Tunneling就是将我的PC的http请求利用SSH借由主机B传输到站点A,然后站点A返回的信息在利用SSH借由主机B返回到我的PC。
我利用的是Hostmonster的SSH帐号来实现。有Hostmonster空间的朋友并不能马上使用其提供的SSH帐号,需要激活一下。
激活过程如下:
- 进入hostmonster的Cpanel后台,进入“SSH/Shell Access”,点击那个“Ticket”,内容写上“Please enable SSH for my account.”
- 你会在你填写的邮箱中收到一封邮件,大体内容就是希望你上传身份证的照片。你只要直接Reply这封邮件,附件中附上身份证照片就OK了。
这里需要注意的是,很多朋友会因为hostmonster是英文网站而用自己的英文名填入注册信息,而这个名字和你的身份证名字是不匹配。因此您需要将您注册信息的姓名先修改为拼音的名字,再回复那个邮件并附上身份证照片。
然后静待审核通过,会有个回复邮件,里面包含了域名、用户名和密码。这时,您可以再将您的注册信息改回您的英文名。
此时,您再进入“SSH/Shell Access”,那个“Ticket”的按钮消失了,取而代之的是您的SSH帐号。
接下来就是如何使用SSH隧道了。其实很简单
假设Hostmonster给你的帐户如下:
Hostname: abc.com
Username: abcabcab
Password: Your Account Password
您可以通过该命令实现
ssh -N -v -D 8080 -l abcabcab abc.com
此时,您可以将您的浏览器Socket代理设置为 127.0.0.1:8080 。您就可以通过SSH隧道来浏览一下因为故障而不能访问的页面了。
经过我的实验,基本上很多站点都可以访问了,唯独Facebook非常诡异,依然不行。此站非常奇怪,好像对于一些IP段进行屏蔽或者是别的原因,我曾经尝试过用GAE也无法访问。但是现在大多数访问我也就满足了。
由于上面的命令是Shell命令,因此在Windows下的朋友需要借助于一些其他工具。我比较推荐Cygwin。虽然Cygwin经常不是很稳定,但是很幸运的Cygwin在SSH的表现上却极其的稳定!
如今网络因为一些原因频频故障了,不知道接下来是什么会故障呢?也许为了让我以后不会屡屡因为故障而受到打击,我应该天天在脑中想象一下以后所有电子产品都故障的场景。也许那个时候,我们可以回到小时候穿着开裆裤和一群孩子打打弹珠、玩玩洋画、拿瓦片打打水漂的日子了!但是同样是打打弹珠、玩玩洋画、拿拿瓦片打打水漂,真的是同样吗?我们还会像孩提时那么开心吗?或者说我们的孩子会像我们小时候玩这些东西时候那么快乐吗?
我突然发现我还是不去想象了,因为想象这些比我因为故障受到的打击要更大更大……
PS: 本文提到仅仅是另外一种访问网站的方法,并不是翻墙方法的介绍!
写该PS的原因有2:1、由于环境原因,周围的翻墙高手太多了,翻墙方法层出不穷,我不敢号称我这个是翻墙术。2、本站站长是合法公民,只介绍和交流技术,不介绍翻墙方法,嚯嚯~
以下更新于 2010年1月19日20点43分
受到Solrex的启发,尝试了一下 Remote DNS Resolve。
很悲剧的是IE代理不支持Remote DNS Resolve,直接导致只要使用IE代理的浏览器都无法支持,我最爱用的Chrome也无法幸免。Opera没试过。Firefox倒是可以启动该功能,具体方法如下:
- 在地址栏输入“about:config”,回车
- 找到“network. proxy. socks_remote_dns”该项,将其修改为true即可。
以下更新于 2010年1月23日13点38分
前几天抱着试试看的心情,用了 Chrome 的 Proxy Switchy 插件。发现通过该插件,设置 Socket 5.0 的代理,可以支持 Remote DNS Resolve。太爽了!








Recent Comments