Comment changer l'adresse IP donnée par Tor en utilisant le terminal?

19

Existe-t-il un moyen de modifier l'adresse IP fournie par Tor à partir du terminal?

J'ai le service Tor et je veux changer l'adresse IP que Tor me donne depuis le terminal. Ou en d'autres termes: comment demander une nouvelle adresse IP à Tor sur la ligne de commande?

Austin
la source
4
une façon encore meilleure de dire comment «changer d'identité» à partir d'un terminal
mchid
J'ai ajouté une autre commande que j'ai trouvée lors de l'exécution du démon tor sur Ubuntu en arrière-plan.
mchid
stackoverflow.com/questions/1969958/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Réponses:

19

Pour le démon tor fonctionnant sur Ubuntu, essayez d'abord ceci:

killall -HUP tor

Si cela ne fonctionne pas, activez le port de contrôle dans votre fichier torrc.

Ensuite, définissez un mot de passe pour le port de contrôle avec tor --hash-password password.

Ouvrez une connexion telnet au port de contrôle et exécutez la commande NEWNYM:

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

sources:

mchid
la source
1
Pour les nouvelles là-bas, vous devez d'abord définir le mot de passe haché sur votre torrc comme ceci: askubuntu.com/a/989108/52975
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
16

Vous pouvez simplement taper ou insérer dans votre script bash:

service tor reload
Giuseppe Pelligra
la source
J'avais besoin sudo, mais cela a fonctionné.
Brian Z
Pour moi, c'est en fait une meilleure réponse que celle donnée par @mchid. La commande reload déclenchera l'exécutable tor en cours d'exécution pour recharger sa configuration et installer un nouveau circuit (et ainsi obtenir une nouvelle IP). L'autre réponse va tuer l'exécutable en cours d'exécution et le redémarrer. Cela peut prendre plus de temps et entraîner l'échec d'autres services dépendant du proxy de tor.
Alex
Je ne sais pas pourquoi d'autres ont suggéré une solution aussi compliquée alors que cette simple ligne peut résoudre le problème
Mostafa Ahangarha
1
@MostafaAhangarha Parce que cela ne fonctionne pas pour plusieurs instances tor
MewX
4

Méthode 1: HUP

Mentionné à Changer l'adresse IP qui est donnée par Tor en utilisant le terminal mais voici quelques détails supplémentaires:

sudo killall -HUP tor

Vérifiez ensuite que votre IP a changé avec:

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

Testé dans Ubuntu 17.10 avec la sudo apt-get install torversion 1.6.0-5.

sudo est nécessaire car le processus est démarré par root par défaut.

Ce qu'un signal HUP fait exactement pour le démon Tor est documenté à: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt?id=03aaace9bd9459b0d4bf22a75012acf39d07bcec#n394 et équivaut à envoyer une commande via le port de commande.

Browser Bundle 5.0.5 n'est pas affecté par cela, seuls les ports de démon comme le 9050 par défaut, qui n'est pas utilisé par le TBB. Pour ce cas d'utilisation, voir: /tor/1071/how-can-a-new-circuit-happen-without-closing-all-tabs

Si vous déployez une armée d'IP Tor comme mentionné ici, vous pouvez envoyer de manière sélective:

kill -HUP $PID

Méthode 2: contrôle du port

Mentionné par kat :

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

mais pour que cela fonctionne sur Ubuntu 17.10, vous devez d'abord :

  • activer le port de contrôle en supprimant les commentaires:

    ControlPort 9051
    

    de /etc/tor/torrc

  • Définissez le mot de passe vide, sinon il donne 515 Authentication failed: Wrong length on authentication cookie.. Première exécution:

    tor --hash-password ''
    

    Cela génère quelque chose comme:

    16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    

    Maintenant, /etc/tor/torrcmettez à jour la ligne:

    HashedControlPassword 16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    
  • Redémarrez Tor:

    sudo service tor restart
    

Bonus: comment vérifier que votre IP a changé

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

Voir également:

Sujets associés

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
la source
Des solutions aussi compliquées pour une fonction aussi simple ( get new circuit). Je n'ai plus confiance en tor. Je pense que c'est plein de bugs et de pépins pour nous faire nous exposer
adrianTNT
3

Vous pouvez configurer un port de contrôle et utiliser le 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)

la source
Savez-vous comment attendre que la nouvelle adresse IP soit définie?
silgon