2013-06-07 9 views
17

próbuję połączyć się z Torem poprzez telnet w moim terminalu na moim Mac OSX i zażądać nowej tożsamości, ale to nie działa, zawsze się ten komunikat o błędzie:Jak zażądać nową tożsamość TOR w terminalu

Trying 127.0.0.1... 
telnet: connect to address 127.0.0.1: Connection refused 
telnet: Unable to connect to remote host 

Używam tego polecenia telnet do połączenia:

telnet 127.0.0.1 9051 

A pomysł dlaczego to nie działa?

thx

+1

Możliwy duplikat [Jak zmienić tor węzła wyjściowego programowo] (http://stackoverflow.com/questions/1969958/how-to-change-tor-exit-node-programmically) –

Odpowiedz

18

Najszybszym i najłatwiejszym sposobem uzyskania "nowej tożsamości" jest wysłanie sygnału HUP.

Demon Tora ponownie odczytuje pliki konfiguracyjne i tworzy "nową tożsamość".

Trzymam specjalny skrypt bash do tego:

# cat /usr/local/bin/nym 
#!/bin/bash 
pidof tor | xargs sudo kill -HUP 

Moi sudoers file pełne NOPASSWD:

# cat /etc/sudoers 
.... 
anonymous  ALL=(ALL) NOPASSWD: ALL 
... 

Spróbuj tego.

+7

Zamiast 'pidof tor | xargs sudo kill -HUP "dlaczego nie po prostu zrobić' killall -HUP tor'? –

+0

Dla mnie to nie działa. Adres IP wcale się nie zmieni. –

12

Czy ustawiłeś port kontrolny w swoim torrc? Aby udostępnić go przez telnet, potrzebujesz "ControlPort 9051". Po tym będziemy chcieli dać tor sygnału NEWNYM ...

$ telnet localhost 9051 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 
AUTHENTICATE 
250 OK 
SIGNAL NEWNYM 
250 OK 

Można to zrobić za pomocą skryptu z użyciem stem ...

from stem import Signal 
from stem.control import Controller 

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

Dzięki za pytanie! Dodałem go do stem's faq.

+2

Jeśli używasz Tora Pakiet przeglądarki Nie trzeba ustawiać portu kontrolnego, jest już ustawiony na 9151. – deweydb

Powiązane problemy