Wie kann ich die von Tor über das Terminal angegebene IP-Adresse ändern?

18

Gibt es eine Möglichkeit, die von Tor über das Terminal angegebene IP-Adresse zu ändern ?

Ich habe den Tor-Dienst und möchte die IP-Adresse ändern, die Tor mir vom Terminal gibt. Oder mit anderen Worten: Wie fordere ich eine neue IP-Adresse von Tor in der Befehlszeile an?

Austin
quelle
4
Ein noch besserer Weg zu sagen ist, wie man die Identität von einem Terminal aus "ändert"
mchid
Ich habe einen weiteren Befehl hinzugefügt, den ich beim Ausführen des tor-Daemons unter Ubuntu im Hintergrund gefunden habe.
19.

Antworten:

18

Versuchen Sie für einen unter Ubuntu laufenden tor-Daemon Folgendes:

killall -HUP tor

Wenn dies nicht funktioniert, aktivieren Sie den Steuerport in Ihrer Torrc-Datei.

Legen Sie dann ein Kennwort für den Steuerungsanschluss mit tor --hash-password password fest.

Öffnen Sie eine Telnet-Verbindung zum Steuerport und geben Sie den Befehl NEWNYM ein:

printf 'AUTHENTICATE "password"\r\nSIGNAL NEWNYM\r\n' | nc 127.0.0.1 9051

Quellen:

mchid
quelle
1
Für die Newbs da draußen müssen Sie zuerst das Hash-Passwort auf Ihrem Torrc wie folgt
Ciro Santilli Am
16

Sie können einfach Folgendes in Ihr Bash-Skript eingeben oder einfügen:

service tor reload
Giuseppe Pelligra
quelle
Ich brauchte sudo, aber das hat funktioniert.
Brian Z
Für mich ist dies eine bessere Antwort als die von @mchid. Der Befehl reload löst aus, dass die ausführbare Datei des laufenden Tor ihre Konfiguration neu lädt und eine neue Schaltung einrichtet (und somit eine neue IP erhält). Die andere Antwort beendet die laufende ausführbare Datei und startet sie neu. Dies kann länger dauern und dazu führen, dass andere Dienste, die vom Proxy von tor abhängen, fehlschlagen.
Alex
Ich weiß nicht, warum andere eine so komplizierte Lösung vorgeschlagen haben, während diese einfache Linie das Problem lösen kann
Mostafa Ahangarha
1
@MostafaAhangarha Da dies nicht für mehrere Tor-Instanzen
funktioniert
4

Methode 1: HUP

Erwähnt bei Änderung der IP-Adresse, die von Tor über das Terminal vergeben wird, aber hier noch ein paar Details:

sudo killall -HUP tor

Überprüfen Sie dann, ob sich Ihre IP geändert hat mit:

curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/

Getestet in Ubuntu 17.10 mit sudo apt-get install torVersion 1.6.0-5.

sudo wird benötigt, da der Prozess standardmäßig von root gestartet wird.

Was ein HUP-Signal genau für den Tor-Daemon tut, ist unter https://gitweb.torproject.org/torspec.git/tree/control-spec.txt?id=03aaace9bd9459b0d4bf22a75012acf39d07bcec#n394 dokumentiert und entspricht dem Senden von Befehlen über Befehlsport.

Browser Bundle 5.0.5 ist davon nicht betroffen, nur Daemon-Ports wie der Standard 9050, der vom TBB nicht verwendet wird. Für diesen Anwendungsfall siehe: /tor/1071/how-can-a-new-circuit-happen-with-closing-all-tabs

Wenn Sie eine Armee von Tor-IPs bereitstellen, wie hier erwähnt, können Sie selektiv senden:

kill -HUP $PID

Methode 2: Steuerport

Erwähnt von kat :

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

Damit dies jedoch auf Ubuntu 17.10 funktioniert, müssen Sie zuerst :

  • Aktivieren Sie den Steuerungsanschluss, indem Sie Folgendes entfernen:

    ControlPort 9051
    

    von /etc/tor/torrc

  • Setzen Sie das leere Passwort, sonst gibt es 515 Authentication failed: Wrong length on authentication cookie.. Erster Lauf:

    tor --hash-password ''
    

    Dies gibt etwa Folgendes aus:

    16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    

    Jetzt auf /etc/tor/torrcaktualisieren Sie die Zeile:

    HashedControlPassword 16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    
  • Starten Sie Tor neu:

    sudo service tor restart
    

Bonus: So überprüfen Sie, ob sich Ihre IP geändert hat

curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/

Siehe auch:

Verwandte Themen

Ciro Santilli ist ein Schauspieler
quelle
3

Sie können einen Steuerungsport einrichten und das Python-Skript verwenden

from stem import Signal
from stem.control import Controller

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

quelle
Weißt du, wie man wartet, bis die neue IP eingestellt ist?
Silgon