2009-12-28 176 views
36

我在我的電腦上運行了Tor,我需要每五分鐘更改一次Tor出口節點。 例如,如果我通過某個出口節點開始使用Tor,那麼在5分鐘內,我希望Tor切換到具有不同IP地址的出口節​​點。我怎樣才能做到這一點?如何以編程方式更改Tor出口節點以獲取新IP?

據我所知,Tor在本地主機上偵聽端口8051。

我可以發送什麼命令到這個端口使Tor建立一個新的鏈,這樣我可以得到另一個IP地址?

回答

3

您無法控制tor網絡中的路由(如果有的話,有人可能會濫用此功能)。但tor已經大致每10分鐘切換一次路線(至少根據German Wikipedia article)。

+4

這不完全是這樣,對於那些誰發現這個線程。您可以使用控制端口並修改一些內部設置來基本創建您自己的電路。 http://www.thesprawl.org/memdump/?entry=8可以讓你開始。 – chrispr 2011-03-26 00:14:26

8

是的,那是1(我的意思是= true =)))tor確實每10分鐘更換一次ip​​ 但是!如果我重新啓動tor - 即使在這10分鐘的時間間隔內,我也會得到一個新的ip。 所以我在考慮讓tor手動發送這個「change_ip」請求。 看到這個代碼(根據http://en.linuxreviews.org/HOWTO_use_the_Internet_anonymously_using_Tor_and_Privoxy書面)

procedure ChangeIp; 
var 
    sck:TIdTCPClient; 
begin 
    sck:=TIdTCPClient.Create(nil); 
    try 
    sck.Host:='127.0.0.1'; 
    sck.Port:=10051; 
    sck.Connect; 
    sck.SendCmd('authenticate',''); 
    if sck.LastCmdResult.Code='250' then 
    begin 
     sck.SendCmd('signal newnym',''); 
    end; 
    finally 
    sck.Free; 
    end; 
end; 

和accornig爲[https://tor-svn.freehaven.net/svn/torctl/trunk/doc/howto.txt]我可以寫一個控制器上的,這將改變對飛TOR的conf。默認情況下,它不是enebled(我的意思是這個能力),但是我可以讓tor客戶端聽一些端口來接受使用torrc的命令...如果我沒有弄錯......再次=)

! !地獄torrc在我的電腦上?

在C:\用戶\ geekman \應用程序數據\漫遊\ Tor我可以,ñ它 我得到了Vista。

+2

感謝您的「信號newnym」提示 – hoju 2010-06-28 09:35:04

+0

默認情況下,沒有torrc,你必須手動創建一個(我建議閱讀整個手冊第一次)...不幸的是控制檯被禁止在窗口沒有相應的通過python代碼或使用將其輸出管道輸送到控制檯的其他方法。 – 2015-02-03 23:12:59

0

我在這裏做了一些不同的事情......我寫了一個可以與linux shell進行通信的PHP程序。程序會定期重啓。

因此,當tor重新啓動它會得到一個新的IP ....是啊..... !!

exec("/etc/init.d/tor restart",$ioOut); 
print_r($ioOut); //output from shell after executing the command 
sleep(25); 

你也可以編寫一個shell腳本來做到這一點。

我現在正在尋找一個windows選項來做到這一點。問題是..在Windows中Tor是一項無法重新啓動的服務。

+1

發送命令到Tor比重啓整個守護進程快得多,安全 – Alexander 2013-07-29 11:18:03

+0

Clain Dsilva,你能給我們一個例子嗎?我正在尋找該命令,仍然沒有得到它...... – HoNgOuRu 2014-03-24 17:24:04

+0

@HoNgOuRu Linux命令將是「/etc/init.d/tor restart」 – 2014-03-28 12:46:28

34
(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051 
+2

非常感謝,非常快速的方式來有一個新的IP – Dorian 2012-08-16 11:35:44

+4

爲了這個工作,你必須首先啓用控制端口,像這樣:http://stackoverflow.com/a/33726166/895245 – 2015-11-15 23:07:58

+2

很棒的技巧,但請注意,這並沒有_guarantee_一個新的IP - 只是出口節點的變化 - 這當然可能導致同一個再次;) – MatzFan 2016-05-11 08:49:00

8

這個問題似乎要拿出相當頻繁(12),所以我只是增加了一個FAQ entry它。如前所述,您可以通過NEWNYM信號完成此操作。這裏有一個例子爲通過stem做...

from stem import Signal 
from stem.control import Controller 

with Controller.from_port(port = 9051) as controller: 
    controller.authenticate() 
    controller.signal(Signal.NEWNYM) 
1

Advtor,您可以訪問該作品在Tor網絡上幾乎所有的高級設置。

1

您可以簡單地輸入或在您的bash腳本插入:

service tor reload 
相關問題