Come modificare l'indirizzo IP fornito da Tor utilizzando il terminale?


19

C'è un modo per cambiare l'indirizzo IP che è dato da Tor dal terminale?

Ho il servizio Tor e voglio cambiare l'indirizzo IP che Tor mi fornisce dal terminale. O in altre parole: come posso richiedere un nuovo indirizzo IP da Tor sulla riga di comando?


4
un modo ancora migliore per dire che è come "cambiare identità" da un terminale
— mchid

Ho aggiunto un altro comando che ho trovato durante l'esecuzione del daemon tor su Ubuntu in background.
— mchid

Risposte:


19

Per il demone Tor in esecuzione su Ubuntu, prova prima questo:

killall -HUP tor

Se ciò non funziona, abilitare la porta di controllo nel file torrc.

Quindi, impostare una password per la porta di controllo con tor --hash-password password.

Aprire una connessione Telnet alla porta di controllo ed emettere il comando NEWNYM:

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

fonti:


1
Per i neofiti là fuori, devi prima impostare la password con hash sul tuo torrc in questo modo: askubuntu.com/a/989108/52975
— Ciro Santilli 24 改造 中心 法轮功 六四

16

Puoi semplicemente digitare o inserire nel tuo script bash:

service tor reload

Ne avevo bisogno sudo, ma ha funzionato.
— Brian Z,

Per me questa è in realtà una risposta migliore di quella fornita da @mchid. Il comando reload attiverà l'eseguibile del running run per ricaricare la sua configurazione e impostare un nuovo circuito (e quindi ottenere un nuovo IP). L'altra risposta ucciderà l'eseguibile in esecuzione e lo riavvierà. Ciò potrebbe richiedere più tempo e causare il fallimento di altri servizi che dipendono dal proxy di Tor.
— Alex,

Non so perché altri abbiano suggerito una soluzione così complicata mentre questa semplice linea può risolvere il problema
— Mostafa Ahangarha,

1
@MostafaAhangarha Perché questo non funziona per più istanze di
— Tor

4

Metodo 1: HUP

Menzionato a Cambia indirizzo IP che è dato da Tor usando il terminale, ma qui andiamo alcuni altri dettagli:

sudo killall -HUP tor

Quindi controlla che il tuo IP sia cambiato con:

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

Testato in Ubuntu 17.10 con la sudo apt-get install torversione 1.6.0-5.

sudo è necessario poiché il processo è avviato da root per impostazione predefinita.

Ciò che un segnale HUP fa esattamente al demone Tor è documentato su: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt?id=03aaace9bd9459b0d4bf22a75012acf39d07bcec#n394 ed è equivalente all'invio di alcuni comandi tramite il porta di comando.

Browser Bundle 5.0.5 non è interessato da questo, solo porte daemon come il predefinito 9050, che non è utilizzato da TBB. Per tale caso d'uso consultare: /tor/1071/how-can-a-new-circuit-happen-without-closing-all-tabs

Se stai schierando un esercito di IP Tor come menzionato qui puoi inviare selettivamente:

kill -HUP $PID

Metodo 2: porta di controllo

Menzionato da Kat :

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

ma per farlo funzionare su Ubuntu 17.10 devi prima :

  • abilitare la porta di controllo decommentando:

    ControlPort 9051
    

    a partire dal /etc/tor/torrc

  • Impostare la password vuota, altrimenti fornisce 515 Authentication failed: Wrong length on authentication cookie.. Prima corsa:

    tor --hash-password ''
    

    Questo produce qualcosa come:

    16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    

    Ora su /etc/tor/torrcaggiorna la riga:

    HashedControlPassword 16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    
  • Riavvia Tor:

    sudo service tor restart
    

Bonus: come verificare che il tuo IP sia cambiato

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

Guarda anche:

Discussioni correlate


Soluzioni così complicate per una funzione così semplice ( get new circuit). Non mi fido più di tutti. Penso che sia pieno di bug e difetti per farci esporre
— adrianTNT

3

È possibile impostare una porta di controllo e utilizzare lo script Python

from stem import Signal
from stem.control import Controller

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

Sai come aspettare fino a quando il nuovo ip è impostato?
— silgon
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.