¿Cómo cambiar la dirección IP que Tor proporciona con el terminal?

19

¿Hay alguna forma de cambiar la dirección IP que Tor proporciona desde el terminal?

Tengo el servicio Tor, y quiero cambiar la dirección IP que Tor me da desde la terminal. O en otras palabras: ¿cómo solicito una nueva dirección IP de Tor en la línea de comando?

Austin
fuente
44
Una forma aún mejor de decir que es cómo "cambiar la identidad" desde una terminal
mchid 19/0714
Agregué otro comando que encontré cuando ejecuté el demonio tor en Ubuntu en segundo plano.
mchid
stackoverflow.com/questions/1969958/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

19

Para tor daemon que se ejecuta en Ubuntu, primero intente esto:

killall -HUP tor

Si eso no funciona, habilite el puerto de control en su archivo torrc.

Luego, configure una contraseña para el puerto de control con tor --hash-password password.

Abra una conexión telnet al puerto de control y emita el comando NEWNYM:

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

fuentes:

mchid
fuente
1
Para los novatos, primero debe configurar la contraseña cifrada en su torrc de esta manera: askubuntu.com/a/989108/52975
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
16

Simplemente puede escribir o insertar en su script bash:

service tor reload
Giuseppe Pelligra
fuente
Necesitaba sudo, pero esto funcionó.
Brian Z
Para mí, esta es una respuesta mejor que la que @mchid dio. El comando reload activará el ejecutable tor ejecutable para recargar su configuración y configurar un nuevo circuito (y así obtener una nueva IP). La otra respuesta matará el ejecutable en ejecución y lo reiniciará. Esto puede llevar más tiempo y provocar que otros servicios que dependen del proxy de tor estén allí para fallar.
Alex
No sé por qué otros sugirieron una solución tan complicada, mientras que esta línea simple puede resolver el problema
Mostafa Ahangarha
1
@MostafaAhangarha Debido a que esto no funciona para varias instancias de tor
MewX
4

Método 1: HUP

Mencionado en Cambiar la dirección IP que Tor proporciona mediante el terminal, pero aquí hay algunos detalles más:

sudo killall -HUP tor

Luego verifique que su IP haya cambiado con:

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

Probado en Ubuntu 17.10 con la sudo apt-get install torversión 1.6.0-5.

sudo es necesario ya que el proceso se inicia de forma predeterminada por la raíz.

Lo que una señal HUP le hace exactamente al demonio Tor está documentado en: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt?id=03aaace9bd9459b0d4bf22a75012acf39d07bcec#n394 y es equivalente a enviar algún comando a través del puerto de comando.

Browser Bundle 5.0.5 no se ve afectado por esto, solo los puertos daemon como el 9050 predeterminado, que no es utilizado por el TBB. Para ese caso de uso, consulte: /tor/1071/how-can-a-new-circuit-happen-without-closing-all-tabs

Si está desplegando un ejército de IP Tor como se menciona aquí , puede enviar selectivamente:

kill -HUP $PID

Método 2: puerto de control

Mencionado por kat :

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

pero para que eso funcione en Ubuntu 17.10 primero debes :

  • habilite el puerto de control descomentando:

    ControlPort 9051
    

    desde /etc/tor/torrc

  • Establezca la contraseña vacía, de lo contrario da 515 Authentication failed: Wrong length on authentication cookie.. Primer intento:

    tor --hash-password ''
    

    Esto genera algo como:

    16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    

    Ahora en /etc/tor/torrcactualizar la línea:

    HashedControlPassword 16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    
  • Reiniciar Tor:

    sudo service tor restart
    

Bonificación: cómo verificar que su IP haya cambiado

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

Ver también:

Hilos relacionados

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
fuente
Tales soluciones complicadas para una función tan simple ( get new circuit). Ya no confío en tor en absoluto. Creo que está lleno de errores y fallas
técnicas
3

Puede configurar un puerto de control y usar el 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)

fuente
¿Sabes cómo esperar hasta que se configure la nueva ip?
silgon