Как изменить IP-адрес, который дает Tor с помощью терминала?

19

Есть ли способ изменить IP-адрес, который дает Tor с терминала?

У меня есть служба Tor, и я хочу изменить IP-адрес, который Tor дает мне из терминала. Или другими словами: как запросить новый IP-адрес у Tor в командной строке?

Остин
источник
4
еще лучше сказать, как «сменить личность» с терминала
mchid
Я добавил еще одну команду, которую нашел при запуске демона tor в Ubuntu в фоновом режиме.
mchid
stackoverflow.com/questions/1969958/…
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件

Ответы:

19

Для демона tor, работающего в Ubuntu, сначала попробуйте это:

killall -HUP tor

Если это не работает, включите порт управления в вашем файле torrc.

Затем установите пароль для порта управления с помощью пароля tor --hash-password.

Откройте соединение telnet с портом управления и введите команду NEWNYM:

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

источники:

mchid
источник
1
Для новичков, вы должны сначала установить хешированный пароль на свой torrc, как это: askubuntu.com/a/989108/52975
Сиро Сантилли 17 at 中心 法轮功 六四 事件
16

Вы можете просто напечатать или вставить в ваш скрипт bash:

service tor reload
Джузеппе Пеллигра
источник
Мне нужно sudo, но это сработало.
Брайан Z
Для меня это на самом деле лучший ответ, чем тот, который дал @mchid. Команда reload активирует исполняемый файл tor для перезагрузки его конфигурации и установки новой схемы (и, таким образом, получения нового IP-адреса). Другой ответ уничтожит исполняемый файл и перезапустит его. Это может занять больше времени и привести к сбою других служб, зависящих от прокси-сервера tor.
Алекс
Я не знаю, почему другие предложили такое сложное решение, в то время как эта простая линия может решить проблему
Мостафа Ахангарха
1
@MostafaAhangarha Потому что это не работает для нескольких экземпляров
Tor
4

Метод 1: HUP

Упоминается в пункте «Смена IP-адреса», который Tor дает с помощью терминала, но здесь приводятся некоторые подробности:

sudo killall -HUP tor

Затем проверьте, что ваш IP изменился с:

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

Протестировано в Ubuntu 17.10 с sudo apt-get install torверсией 1.6.0-5.

sudo необходим, так как процесс запускается root по умолчанию.

То, что сигнал HUP делает именно с демоном Tor, задокументировано по адресу: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt?id=03aaace9bd9459b0d4bf22a75012acf39d07bcec#n394 и эквивалентно отправке некоторых команд через командный порт.

На Browser Bundle 5.0.5 это не влияет, только порты демона, такие как 9050 по умолчанию, который не используется TBB. Для этого варианта использования см .: /tor/1071/how-can-a-new-circuit-happen-without-closing-all-tabs

Если вы развертываете армию IP-адресов Tor, как указано здесь, вы можете выборочно отправить:

kill -HUP $PID

Способ 2: порт управления

Упоминается Кат :

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

но чтобы это работало на Ubuntu 17.10, вы должны сначала :

  • включить порт управления, раскомментировав:

    ControlPort 9051
    

    из /etc/tor/torrc

  • Установите пустой пароль, иначе он даст 515 Authentication failed: Wrong length on authentication cookie.. Первый забег:

    tor --hash-password ''
    

    Это выводит что-то вроде:

    16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    

    Теперь по /etc/tor/torrcобновлению строки:

    HashedControlPassword 16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    
  • Перезапустите Tor:

    sudo service tor restart
    

Бонус: как проверить, что ваш IP изменился

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

Смотрите также:

Связанные темы

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
источник
Такие сложные решения для такой простой функции ( get new circuit). Я больше не доверяю Тору. Я думаю, что он полон ошибок и глюков, чтобы заставить нас разоблачить себя
adrianTNT
3

Вы можете настроить порт управления и использовать скрипт Python

from stem import Signal
from stem.control import Controller

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

источник
Вы знаете, как ждать, пока не установится новый ip?
Silgon