如何在终端中请求新的 TOR 身份
Posted
技术标签:
【中文标题】如何在终端中请求新的 TOR 身份【英文标题】:How to request new TOR identity in terminal 【发布时间】:2013-06-03 23:05:50 【问题描述】:我试图在我的 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
我正在使用这个 telnet 命令进行连接:
telnet 127.0.0.1 9051
知道为什么这不起作用?
谢谢
【问题讨论】:
How to change tor exit node programmatically的可能重复 【参考方案1】:获得“新身份”的最快和最简单的方法是发送HUP 信号。
Tor 守护程序重新读取配置文件并生成“新身份”。
我为此保留了特殊的 bash 脚本:
# cat /usr/local/bin/nym
#!/bin/bash
pidof tor | xargs sudo kill -HUP
我的 sudoers 文件中满是 NOPASSWD:
# cat /etc/sudoers
....
anonymous ALL=(ALL) NOPASSWD: ALL
...
试试这个。
【讨论】:
为什么不使用pidof tor | xargs sudo kill -HUP
而不是killall -HUP tor
?
@MathiasBynens 我不是 OP,但在某些 docker 容器中没有安装 killall
【参考方案2】:
你是否在你的 torrc 中设置了控制端口?要通过 telnet 使用它,您需要“ControlPort 9051”。之后你会想要给 tor 一个 NEWNYM 信号...
$ telnet localhost 9051
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
AUTHENTICATE
250 OK
SIGNAL NEWNYM
250 OK
您可以通过使用stem 的脚本来执行此操作...
from stem import Signal
from stem.control import Controller
with Controller.from_port(port = 9051) as controller:
controller.authenticate()
controller.signal(Signal.NEWNYM)
感谢您的提问!我已将其添加到stem's faq。
【讨论】:
如果你使用 Tor Browser Bundle 你不需要设置控制端口,它已经设置为 9151。【参考方案3】:对于被谷歌搜索引擎xD踢到这里的ubuntu用户:
$ test your current IP
$ curl -sx socks5://127.0.0.1:9050 ifconfig.co | grep -oP '(?<=Your IP</span>: ).*(?=</span>)'
185.220.100.255
$ to get new NYM just restart TOR service
$ sudo service tor restart
$ but remember a new NYM is not always is a new IP, so check your IP again and redo step 2 if it is the same one
$ curl -sx socks5://127.0.0.1:9050 ifconfig.co | grep -oP '(?<=Your IP</span>: ).*(?=</span>)'
185.220.101.214
【讨论】:
以上是关于如何在终端中请求新的 TOR 身份的主要内容,如果未能解决你的问题,请参考以下文章