我有Tor服务,我想使用终端更改 Tor 给我的 IP 地址。换句话说:如何在命令行上向 Tor 请求新的 IP 地址?
答案1
对于在 Ubuntu 上运行的 tor 守护进程,首先尝试以下操作:
killall -HUP tor
如果这不起作用,请在 torrc 文件中启用控制端口。
然后,使用tor --hash-password password
打开与控制端口的 telnet 连接并发出 NEWNYM 命令:
printf 'AUTHENTICATE "password"\r\nSIGNAL NEWNYM\r\n' | nc 127.0.0.1 9051
来源:
答案2
你可以简单地在 bash 脚本中输入或插入:
service tor reload
答案3
方法 1:HUP
提到使用终端更改 Tor 提供的 IP 地址但这里还有一些细节:
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 不会使用该端口。有关该用例,请参阅:https://tor.stackexchange.com/questions/1071/how-can-a-new-circuit-happen-without-closing-all-tabs
如果你正在部署一大批 Tor IP正如这里提到的您可以选择性地发送:
kill -HUP $PID
方法二:控制端口
提及者凯特:
(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/
也可以看看:
- https://tor.stackexchange.com/questions/100/can-tor-be-used-with-applications-other-than-web-browsers
- 用于确定我的公共 IP 的命令?
相关主题
答案4
一行代码就能让 tor 使用不同的 IP 地址:
systemctl show -p MainPID tor | cut -d= -f2 | xargs sudo kill -HUP