使用tor实现匿名代理上网
Mar 30th, 2008 by foelin
由于国外很多优秀的服务被GFW封杀,因此我经常需要通过代理来上网。一般而言,实现代理上网的方法有很多种,比如在浏览器属性中配置代理服务器地址和端口,比如使用提供代理服务的网站等。但这是非常麻烦的事情,并且由于代理服务的不稳定性,经常需要更新代理服务器的地址,大量的时间会花费在寻找代理上面。虽然目前有些自动代理软件,可以自动的搜索代理服务器,但是往往实际效果不佳,速度不够理想。这里,我要说的是如何通过tor来实现代理的一种方案。
嘿嘿,tor,就是the onion routers的缩写,即洋葱路由器(很诡异的名字)。简单点说,tor就是一个由虚拟通道组成的网络,这个网络里面存在很多节点,它们将作为你访问目的服务器的中继。至于这些节点呢,就是一些网络上的志愿者贡献出他们自己的带宽来组建的(当然,你也可以贡献自己的一份力量,呵呵)。由此可见,你从本地访问目的服务器并不是直接访问,而是先拐弯抹角的经过tor网络内的许多节点,然后由最后一个tor网络内的节点(称为退出节点)代替你向目的服务器发出原始的访问请求,这样就很好的实现了代理匿名访问。出于有效性上的考虑,Tor 为大约在相同的十分钟内发生的连接分配同一条线路。以后的请求被分配不同的线路,这样他人就不能把你早先的行为和新的行为联系起来,这样就很好的抵御了流量分析。嘿嘿,怎么样,看起来是不是很简单?
配几个tor官方网站的说明图



简要说明一下,Alice就是你的PC,Dave是tor的目录服务器,Bob和Jane是你想访问的网站的服务器。当你使用tor的时候,tor会向tor目录服务器发出一个请求,获得tor网络内的节点的一个列表,然后tor将在此节点中随机选取几个节点作为中继,由最后一个中继代替你发出访问请求,图1和图2说的就是这个事情。图3则说明了tor的线路选择是随机的,当经过一段时间后,tor将重新为你的访问建立一条线路,而不是一直沿用最初的线路。
写了这么多,有点计算机网络背景的朋友应该大概明白tor的原理和作用了吧。下面就说说如何配置使用tor。
建议大家在tor官方网站下载打包好的tor pack,里面包含了tor,Privoxy,Vidalia。 其中Privoxy是一个http代理服务器,可以将tor提供的socks代理转换为http代理,以便浏览器使用;Vidalia是tor的外壳,也就是图形界面,嘿嘿,方便用户配置。
ok,软件下载好了,直接安装到你的系统中就行了,过程就是一路“next”到底。安装好后,运行之,你会看到如下图标:
![]()
现在,你就需要配置浏览器了。假设你用的是firefox,那相当容易,下载一个名为Torbutton的扩展,激活后会在firefox状态栏右下方,看到如下图标出现:
![]()
那么恭喜你,你已经可以通过tor匿名上网了。假设你使用的是IE,那么就得手动配置。由于IE使用的是HTTP协议,而Privoxy在本地监听8118端口,因此你需要在IE下设定代理服务器IP为127.0.0.1,并将端口号设定为8118,这样在IE下也能通过tor匿名代理上网了。HOHO,看,已经可以顺利访问wikipedia了。你也再也不用为了寻找代理服务器或担心被网络监视而烦恼了。

最后说明一下,如果你想让其他支持 HTTP 代理的应用程序使用tor,那么将它们的指向 Provixy 即可(也就是ip:127.0.0.1, 端口:8118)。或者直接使用 SOCKS(IM软件、Jabber、IRC 等),将你的应用程序指向Tor(ip:127.0.0.1,端口:9050)。对于那些既不支持 SOCKS 也不支持 HTTP 的应用程序或者是不支持设置使用代理的应用程序,那么可以使用SocksCap 或者 FreeCap。这两款软件能捕捉你的应用程序的网络连接,并将它们指向代理服务器,嘿嘿,也就是说你只需要在SocksCap 或者 FreeCap里配置好tor就能让那些应用程序也使用tor匿名在线服务了。
呼呼,参考官方文档写了半天,也不知道说清楚没有。如果配置有问题的朋友欢迎留言~~
随机日志

本文, 除非有特别的声明, 的授权协议是
Creative Commons Attribution-No Derivative Works 2.5 China Mainland License.
转载时必须以链接形式注明作者和原始出处。





[Reply]
foelin reply on 2008-04-01:
哈哈,很强大~~
我现在的ip每十多分钟就会自动变更一次,并且都是国外的,顺利突破GFW
[Reply]
[Reply]
foelin reply on 2008-04-02:
不卡,他是自动更新tor网络内的链接,不用担心速度,嘿嘿~
[Reply]