程序員如何在自己的軟件中使用Tor Network(Tor network API)?
最近在搜索KX上網軟件時經常會發現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網絡,這樣就可能防范許多濫用的可能。潛在的濫用包括:
- P2P:拋開合法性不談,如果通過Tor網絡來進行大量數據的傳輸,這就有些不禮貌了,畢竟洋蔥路由器是由志愿者,花費自己的帶寬創建起來的。
- E-mail:匿名的SMTP很容易導致垃圾郵件的產生,一般Tor節點的“出口政策”,都拒絕對外連接到端口25(SMTP的端口)。
- 蓄意破壞:由于不會被識破,用戶有時會利用Tor來對協作網站進行破壞,這導致許多的網站,包括維基百科[13],決定部分限制對Tor的通訊。
聽起來Tor是一款很強悍的黑客工具,但這只是人們對其使用的一個方面。一款軟件的好壞和意義并不是它自身決定的,而在于使用它的人。就像是一把斧頭,既可以幫助人砍木頭,也能用來傷害人。
Tor Network是一個開放的網絡,它有各種API可以使用。程序員可以利用這些接口在自己的程序中調用這些接口。現成的api接口有這樣幾種:
當然,如果你想獲得更多的編程自由和更大的權限,你可以直接研究 Tor Network控制協議 。
Tor Network的官方網站是 https://www.torproject.org 。目前國內用戶需要KX上網才能訪問。
[原創,CC Licensed]