如何在终端中请求新的TOR身份

ms2*_*ms2 18 macos terminal telnet tor

我试图通过我的mac osx上的终端上的telnet连接到TOR并请求新的身份,但它不起作用,我总是收到此错误消息:

Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)

我使用此telnet命令进行连接:

telnet 127.0.0.1 9051
Run Code Online (Sandbox Code Playgroud)

并且想法为什么这不起作用?

谢谢

inn*_*rld 19

获得"新身份"的最快和最简单的方法是发送HUP信号.

Tor守护进程重新读取配置文件并制作"新标识".

我为此保留了特殊的bash脚本:

# cat /usr/local/bin/nym 
#!/bin/bash
pidof tor | xargs sudo kill -HUP
Run Code Online (Sandbox Code Playgroud)

我的sudoers文件充满了NOPASSWD:

# cat /etc/sudoers 
....
anonymous       ALL=(ALL) NOPASSWD: ALL
...
Run Code Online (Sandbox Code Playgroud)

试试这个.

  • 而不是`pidof tor | xargs sudo kill -HUP`为什么不做`killall -HUP tor`? (7认同)

Dam*_*ian 12

你在torrc中设置了一个控制端口吗?要通过telnet使其可用,您将需要"ControlPort 9051".在那之后你会想要给出一个NEWNYM信号......

$ telnet localhost 9051
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
AUTHENTICATE
250 OK
SIGNAL NEWNYM
250 OK
Run Code Online (Sandbox Code Playgroud)

您可以通过使用词干的脚本来执行此操作...

from stem import Signal
from stem.control import Controller

with Controller.from_port(port = 9051) as controller:
  controller.authenticate()
  controller.signal(Signal.NEWNYM)
Run Code Online (Sandbox Code Playgroud)

谢谢你的提问!我已将它添加到词干的常见问题中.

  • 如果您使用Tor浏览器套件,则无需设置控制端口,它已设置为9151. (2认同)