Tor(The Onion Router)是第二代洋葱路由(onion routing)的一种实现,用户通过Tor可以在因特网上进行匿名交流。最初该项目由美国海军研究实验室(US Naval Research Laboratory)赞助。2004年晚些时候,Tor成为电子前哨基金会(Electronic Frontier Foundation,EFF)的一个项目。2005年后期,EFF不再赞助Tor项目,但他们继续维持Tor的官方网站。
Tor专门防范流量过滤、嗅探分析,使用户免受其害。Tor在由onion routers(洋葱路由器)组成的表层网(overlay network)上进行通讯,可以实现匿名对外连接、匿名隐藏服务。
Tor用户在本机运行一个洋葱代理服务器(onion proxy),这个代理周期性地与其他Tor交流,从而在Tor网络中构成虚拟环路(virtual circuit)。 Tor是在7层协议栈中的应用层进行加密(也就是按照'onion'的模式)而它之所以被称为onion是因为它的结构就跟洋葱相同,你只能看出它的外表而想要看到核心就必须把它层层的剥开。即每个router间的传输都经过symmetric key来加密,形成有层次的结构。它中间所经过的各节点,都好像洋葱的一层皮,把客户端包在里面,算是保护信息来源的一种方式,这样在洋葱路由器之间可以保持通讯安全。同时对于客户端,洋葱代理服务器又作为SOCKS接口。一些应用程序就可以将Tor作为代理服务器,网络通讯就可以通过Tor的虚拟环路来进行。
进入Tor网络后,加密信息在路由器间传递,最后到达“退出节点”(exit node),明文数据从这个节点直接发往原来的目的地。对于目的主机而言,是从“退出节点”发来信息。
由于在TCP数据流的级别通讯,Tor显得卓然独立于其他匿名网络。通过使用Tor,一般的应用程序都可以实现匿名,比如IRC、即时通讯,以及浏览网页。浏览网页时,Tor常常与Privoxy联合使用,Privoxy是一个代理服务器,可以在应用层增加保护隐私。
由于Tor可以匿名进行TCP传输,这就导致了被滥用的可能。路由器存放有一个“退出政策”(exit policy),内有各种地址、端口的组合规定,通过这个来区别哪些传输可以通过这个节点而离开Tor网络,这样就可能防范许多滥用的可能。潜在的滥用包括:
Tor不仅可以提供客户端的匿名访问,这点受到了用户的广泛欢迎,Tor还可以提供服务器的匿名。通过使用Tor网络,用户可以维护位置不可知的服务器。当然如果要访问这个隐蔽的服务,客户端也得安装Tor。
通过Tor指定的顶级域名(Top Level Domain,TLD).onion,可以访问其隐藏的服务。Tor网络可以识别自己的TLD,并自动路由到隐藏的服务。然后,隐藏的服务将请求交由标准的服务器软件进行处理,这个服务器软件应该预先进行配置,从而只侦听非公开的接口。如果这个服务还可以通过公共的因特网来访问,那也会受到相关连的攻击,这样就没有真正的隐藏起来。
Tor隐藏服务有个另外的好处,由于不需要公开的IP地址,服务就可以躲在防火墙和NAT背后。
Privoxy是一款带过滤功能的代理服务器,针对HTTP、HTTPS协议,经常跟Tor组合使用。通过Privoxy的超级过滤功能,用户从而可以保护隐私、对网页内容进行过滤、管理cookies,以及拦阻各种广告等。Privoxy可以用作单机,也可以应用到多用户的网络。
Privoxy基于Internet Junkbuster,按照GNU General Public License进行发布。可以在Linux、Windows、Mac OS X、AmigaOS、BeOS,以及各种Unix上运行。
最新的稳定版3.0.6于2006年11月19日发布。
Vidalia是Tor的一个跨平台的GUI控制工具,它是使用Qt框架构建的。 Vidalia 可以在任何支持Qt4.1及更高版本的平台上运行,包括Windows,Mac OS X, Linux 或者其它使用X11 window system 的类Unix系统。
Vidalia 允许你启动,停止Tor,查看Tor的状态信息,监视Tor的带宽使用情况。 Vidalia 也可以使你更方便的构建自己的Tor服务器,为其他人提供方便。
Vidalia 由 Matt Edman 和 Justin Hipple 编写。
波波坡原创文章 链接:http://www.bobopo.com/article/code/tor.htm
关键词: 互联网, 浏览器, Tor, the Onion Router, 网络封锁, Privoxy, Vidalia
创建日期: 2007-06-01