2008年4月15日 星期二

洋蔥路由的應用(Application of TOR)

網路生活愈來愈便利的現在,網路卻變得更加不自由,因為使用網路的風險跟以前相比大出許多,讓網路的自由程度也大打折扣,如果你在家裡關起門來玩,頂多是受到對方網站的限制,例如:整個網段的IP都被對方網站封鎖限定總流量……等。

如果是在公司企業學校機關的網路環境中,上網的限制就更加嚴苛,例如:阻擋P2P下載軟體的連線無法登入Windows Live Messenger(MSN)Skype即時通訊軟體,甚至禁止使用其它的社交平台,如:無名小站、BBS……等。無論來自那一方的限制,對我們來說都是極為掃興的事,就像連去某些網站,所有的圖片都變成叉燒包的模樣,這時候的心情只能用身不由己來形容。


軟體介紹:Tor(The Onion Router)
軟體性質:免費軟體
版本代碼:0.1.2.19(內含Tor & Privoxy & Vidalia & Torbutton)
作業系統:Windows、Mac OS X、Linux/Unix
檔案大小:6.38MB
語言介面:中、英文
官方網站:https://www.torproject.org/
軟體下載點:https://www.torproject.org/download.html.en
Tor的使用方法原本是採取命令模式、或編輯文字檔來完成,這點很難被大眾接受與使用;經過一段時間的演進之後,已經有了圖形化的管理介面「Vidalia」,甚至還包含了Firefox瀏覽器能直接使用的套件「Torbutton」,讓Tor的使用變得超級簡單喔!



安裝的部份其實並不算太困難,原則上套用預設值即可,所以在這邊我也不多詳述,就直接切入重點吧!其實Tor這個軟體(套件)除了上述的程式外,還包含「Privoxy」(類似代理伺服器的功能),這些程式(Vidalia除外)各別其實都能夠單獨運作,這個套件就是一次打包好給大家使用。

Tor的特性:

傳送封包時,它不會經由一般的路由器或固定路徑來傳送,而是被送到一個隨機選取的Tor伺服器;這個Tor伺服器再把封包經過加密(對稱加密法),包裝後傳給下一個隨機的Tor伺服器,再從Tor伺服器連線到你要的目標網站。

整個傳送過程中會經過哪些Tor伺服器都是隨機的,而且每10分鐘會強制改變一次傳送路徑,因此很不容易追蹤。而且對方網站查到的來源位置,會是最後一個Tor伺服器的IP,所以能夠達到隱藏來源的功效。

同時,還能隨機選取代理伺服器,具備強制更換路徑的能力,當然也支援Socks協定(預設採用Socks5),因此,你就可以「身在台灣,縱身於世界各地」。

既然這樣子的話,我們就可以利用它來突破一些地域限制的服務,例:特定地區的線上音樂試聽「例:PANDORA」。不過,在你想透過它來使用特定地區的服務時,隨機選取的功能就成了雙面刃,因為無法固定於特定的地區(國家),所以就得動點手腳來讓它乖乖就範。


如果在台灣連線,就會看見此圖

首先,我們得先找到Tor的設定檔torrc」,在預設的安裝路徑下,它在「C:\Documents and Settings\「使用者名稱」\Application Data\Vidalia\torrc」(或是直接從Vidalid控制面版中的〔設定〕→〔高級〕→〔Tor配置文件〕中找到設定檔路徑。



決定你要將Tor的地區限定在那個國家,此時可以透過「Tor網絡地圖」記下該地區的Tor伺服器名稱,以美國為例,有jalopy、desync、BostomUCompSci、Whistlermother、petspaper、TorLuwakOrg、mori4、redpineapple和slowturtle2等,紀錄的數量就看你想要在幾個Tor伺服器之間變換而定。(如果你只想把Tor伺服器限定在同一地方的話,只需寫入一個Tor伺服器即可,不過它要是無法連線頻寬不足時,你的Tor就隨即失效)



其實設定檔「torrc」只是一個文字檔案,透過文字編輯器(記事本)就可以看見Tor的相關設定,現在要在最下方加入兩行指令後,儲存關閉torrc,這兩行指令代表的意思就是:「無論Tor的傳送過程為何,最後連至目標網站的Tor出口,都是下列這幾個Tor伺服器的位置」。

StrictExitNodes 1
ExitNodes jalopy,desync,BostomUCompDci,Whistlermonther,petspaper,TorLuwakOrg,mori4,redpineapple,slowturtle2
(ExitNodes與jalopy…是在同一行,中間有一個半形空格)


如此一來,就能夠解決十分鐘強制變換身份(Tor的路徑)的預設值,無論它的路徑怎麼變換,最後連出Tor的出口都會留在美國境內,你就能夠正常的使用限定該地區的線上服務!


(破解10分鐘的限制後,就能正常造訪)

是否能夠使用它來突破某些免費空間的下載流量限制呢?

其實,據筆者自己實驗的結果,主要還是看免費空間的流量限制是如何設定的,以Megaupload這個免費空間來說,同一個下載的網址,如果你是從台灣連去,絕大部份都會看見「分配給貴國(Taiwan)的下載通道均已占用」(是以領土面積來算流量的嗎?XD)的字樣。



如果是透過Tor來連線,也不一定會有「空的下載通道」,其它國家的下載通道也可能因為占滿而無法下載,如果能夠正常連線的話,就能輸入「驗證碼」,正常下載。(我也試了好幾個國家)



最後,照慣例還是得說一下使用這類軟體的風險

1.P2P:負載過大,造成其它人無法正常連線,或是散利用它散播病毒。
2.Spam:利用可發送匿名信的特性,大量發送廣告郵件。
3.跳板攻擊:藉由Tor伺服器,對企業或個人電腦發動攻擊。
4.其它:除了上述常見的危害之外,甚至有些人會製作假的「Tor網絡中繼」,透過中間人攻擊(Man-in-the-Middle Attack)的手法設法得到兩端的資料。

如果你想將Tor套用在其它軟體之上,可以考慮使用FreeCap來處理,簡單地說,它就是能夠讓該軟體透過它,連入Privoxy,再將封包轉至Tor來連線。



後記:雖然這個軟體的功能十分強大,但是一物剋一物,有些網路環境或是硬體設備已經針對這類軟體進行封鎖,所以不是所有的網路環境都能使用(例:對岸也是在條件許可下才能使用...)。

※※此文同時刊登在《Download網路密技王》雜誌第No.3期因為全文有點長,所以我僅摘錄應用的部份