最近在搜索翻墙软件时经常会发现Tor Network的字眼。回想起近年来的很多著名的黑客攻击事件的描述中很多也出现了Tor Network。那么,Tor Network究竟是个什么东西呢?黑客是如何利用Tor Network进行黑客攻击的?我们程序员是否也可以在自己的软件中使用Tor Network呢?
首先来看看 维基百科 是如何介绍Tor Network的:
Tor(The Onion Router,洋葱路由器)是实现匿名通信的自由软件。Tor是第二代洋葱路由的一种实现,用户通过Tor可以在因特网上进行匿名交流。最初该项目由美国海军研究实验室赞助。2004年后期,Tor成为电子前哨基金会(EFF)的一个项目。2005年后期,EFF不再赞助Tor项目,但他们继续维持Tor的官方网站。
由于Tor可以匿名进行TCP传输,这就导致了被滥用的可能。路由器存放有一个“出口政策”(exit policy),内有各种地址、端口的组合规定,通过这个来区别哪些传输可以通过这个节点而离开Tor网络,这样就可能防范许多滥用的可能。潜在的滥用包括:
听起来Tor是一款很强悍的黑客工具,但这只是人们对其使用的一个方面。一款软件的好坏和意义并不是它自身决定的,而在于使用它的人。就像是一把斧头,既可以帮助人砍木头,也能用来伤害人。
Tor Network是一个开放的网络,它有各种API可以使用。程序员可以利用这些接口在自己的程序中调用这些接口。现成的api接口有这样几种:
当然,如果你想获得更多的编程自由和更大的权限,你可以直接研究 Tor Network控制协议 。
Tor Network的官方网站是 https://www.torproject.org 。目前国内用户需要翻墙才能访问。
[原创,CC Licensed]