2006/09/14

Tor代理技术,轻松突破各种访问限制

此篇文章完全引用猪哥大哥原文http://superding.spaces.live.com/ nono觉得自己没必要再写介绍了,因为猪哥的这篇文章已经够详细了.

无意间下载了一个叫做Torpark的浏览器。这是基于Firefox Portable的浏览器,可以访问任何的网站(俺偷偷试了试轮子的网站,居然能顺利打开!!个人认为只要能访问轮子就没什么网站不能访问了),Google Cache之类的自然不在话下。这个功能通过Tor技术实现。

Torpark是个绿色软件,解压就能运行。Tor服务的打开和关闭都是由torpark自动管理的。可以放在U盘上方便携带。但是比较遗憾的是我希望使
用Tor为我自己的Firefox提供服务而不是使用那个陌生的没有配置过的Firefox,所以找到了Tor的网站下载了tor软件包。

先来介绍一下tor的技术。这个技术和通常的web代理破网的技术有很大的不同。看了原理以后,可以说有些和BT之类的P2P思想类似。tor的全称是“The Onion Router”(洋葱路由器~~昏)。
Onion可以从它的图标:一个洋葱头上面看出来。至于Router(后详),这个正是它非常新颖NB的特点。Tor在中间过程才用SSL加密,完全彻底解决网络
审查的问题。国内网络普遍使用了基于关键字的过滤。经常你搜索Google,一不小心就不知怎么的被ban了连接。就是这个该死的弱智的无能的白痴的关键
字过滤在起作用。但是如果让tor将明文的http流用ssl进行加密,就能够成功绕过这些过滤。(个人觉得用关键字来做过滤条件是个极其SB的做法,曾
经被一个blog过滤掉“极大便利”这个词,后来在中间加上“的”变成“极大的便利”才了事-_-!!)

tor的一个特色就是,只要你运行了tor
server,你的PC就成为一个tor节点,别人可以通过你这个节点访问其它节点,你也可以通过别人的节点访问。有点人人为我,我为人人的味道(和
BT,eDonkey有点像,但是这个server是自愿运行的,又和前两个的强制共享有区别)。在节点和节点之间的通信是完全加密的(SSL),所以不
用担心你的通信会泄密,也自然省去了该死的网络审查的麻烦。

通过Tor访问一个地址时,所经过的节点在Tor节点群中随机挑选,动态变化,由于兼顾速度与安全性,节点数目通常为2-5个,难以追踪。而且Tor 的分布式服务器可以自动获取,因此省却了搜寻代理服务器的精力。

Tor的工作原理:







整个过程和IP路由非常相似(所以这玩意自称为Router)。Tor就是利用一种路由算法在众多tor节点中找到一条可达路径。所以你的数据经过几“跳”以后,最终能够到
达一个可以访问对应资源的tor节点。因此所以就是一个节点死了,最多当时出现一下无法连接的错误,再次刷新的时候tor又会找到一条新的可达路由正确投递数
据。这样避免了代理服务器失效的问题。但是tor的选路过程并不是按照最优的原则,而是随机的。这和它的目的:防止数据追踪有关。使用随机的路由就使得数
据追踪几乎不可能。这也造成网络可能一下很快,一下却很慢的问题。不过随机路由倒是也有点好处。我是不知道它对失效节点的更新有多快,但是肯定要有个时
间。tor节点多是个人电脑经常开开关关的很不稳定,如果按照某种非随机的方法选路的话可能一直要等到
这个节点的失效信息被扩散之后才能发现此路不通。而每次随机选路就能使这种几率降低,多刷几下就能正常。

Tor的安装(Windows)

Tor有对应多个平台的版本,BSD/Linux/Mac也能找到适用的Tor版本。从:http:
//tor.eff.org/download.html.en 下载tor for
windows安装包,安装好tor以后,能找到三个组件:tor、torcp、privoxy。Tor基于BSD协议发布,开源。

tor是tor的原始命令行版本,运行后你就能看到一个cmd窗口出来,显示tor的运行情况。你可以看到它工作的过程。只是这个tor一般是不用管它
的,也不用开。cmd的命令行界面和windows格格不入。所以安装包内提供了torcp(Tor Control
Panel)这个比较易用的GUI。运行torcp之后,它会自动在后台启动tor,用户通过托盘图标的菜单来操作配置tor。tor提供一个socks
代理服务,端口默认为9050,只要在各种软件中设置socks代理为127.0.0.1:9050即可。在设置中的Server选项是设置你是否愿意成
为tor的服务器。注意,如果你要成为一个tor服务器,你必须有一个公网IP。对于那些位于局域网的人来说,就算你好心开启Tor
Server也是毫无用处的。检验自己有没有这个条件,看看eMule的状态就知道了。如果是HighID就可以,LowID的就算了。如果你满足了作为
Tor Server的条件而且网络也不是按照流量或者时间计费,强烈建议你打开Server功能。

打开了TorCP以后还需要打开Privoxy才能好用。Privoxy是个安全的代理转换工具,可以将Tor提供的socks代理转换为http代理供
各种浏览器等软件使用。运行Privoxy之后系统托盘出现一个小图标。如果你没有改过Tor
socks代理的端口(默认值9050),这个Privoxy也就完全无须配置直接可以使用。否则得修改配置文件。Privoxy提供了一个
HTTP/HTTPS代理,端口为8118。

浏览器的设置(Firefox):

以Firefox这个最强的浏览器为例(:D
俺素来B4垃圾的IE,也不用功能奇弱的Opera~~)。只要在HTTP、HTTPS代理中填入127.0.0.1:8118、socks代理填入
127.0.0.1:9050即可。建议在Switch
Proxy中为Tor建立一个专门的Proxy配置项方便切换。因为用Tor访问网络速度比较慢,一般在出现问题或者被白痴电信ban掉以后才用。Tor
访问网站还是比较稳定的,偶尔出现连不上的问题刷新一下让Tor再选择一条随机路由即可。Google的各种服务通过Tor也都能正常使用。

没有评论: