我在计算机上运行Tor,我需要每隔五分钟更改一次Tor退出节点.例如,如果我通过某个出口节点开始使用Tor,那么在5分钟内我希望Tor更改为具有不同IP地址的退出节点.我怎样才能做到这一点?
据我所知,Tor正在侦听localhost上的端口8051.
我可以将哪些命令发送到此端口以使Tor构建新链,以便我可以获得另一个IP地址?
kat*_*kat 42
(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051
Run Code Online (Sandbox Code Playgroud)
Cir*_*四事件 32
方法1:HUP
sudo killall -HUP tor
Run Code Online (Sandbox Code Playgroud)
然后检查您的IP是否已更改:
curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/
Run Code Online (Sandbox Code Playgroud)
在Ubuntu 17.10中使用sudo apt-get install tor1.6.0-5版进行了测试.
sudo 因为默认情况下root是由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
Run Code Online (Sandbox Code Playgroud)
方法2:控制端口
提到的kat:
(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051
Run Code Online (Sandbox Code Playgroud)
但为了在Ubuntu 17.10上工作,你必须先:
通过取消注释来启用控制端口:
ControlPort 9051
Run Code Online (Sandbox Code Playgroud)
从 /etc/tor/torrc
设置空密码,否则给出515 Authentication failed: Wrong length on authentication cookie..第一次运行:
tor --hash-password ''
Run Code Online (Sandbox Code Playgroud)
这输出如下:
16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
Run Code Online (Sandbox Code Playgroud)
现在/etc/tor/torrc更新线:
HashedControlPassword 16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
Run Code Online (Sandbox Code Playgroud)重启Tor:
sudo service tor restart
Run Code Online (Sandbox Code Playgroud)额外奖励:如何检查您的IP是否已更改
curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/
Run Code Online (Sandbox Code Playgroud)
也可以看看:
相关主题
这个问题似乎要拿出相当频繁(1,2),所以我只是增加了一个FAQ条目它.如前所述,您可以通过NEWNYM信号执行此操作.这是一个通过词干来做的例子......
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)
是的,那是1(我的意思是=真=)))tor确实每10分钟更换一次ip,但是!如果我重新启动tor - 即使在这10分钟的时间间隔内我也会得到一个新的ip.所以我正在考虑让tor手动发送这个"change_ip"请求.看到这段代码(根据http://en.linuxreviews.org/HOWTO_use_the_Internet_anonymously_using_Tor_and_Privoxy撰写)
procedure ChangeIp;
var
sck:TIdTCPClient;
begin
sck:=TIdTCPClient.Create(nil);
try
sck.Host:='127.0.0.1';
sck.Port:=10051;
sck.Connect;
sck.SendCmd('authenticate','');
if sck.LastCmdResult.Code='250' then
begin
sck.SendCmd('signal newnym','');
end;
finally
sck.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
并且[accps://tor-svn.freehaven.net/svn/torctl/trunk/doc/howto.txt ]我可以编写一个控制器来动态改变tor的conf.默认情况下它没有被使用(我的意思是这个能力),但我可以让客户端听一些端口接受使用torrc的命令...如果我没有弄错...再次=)
!地狱torrc在我的电脑上?
在C:\ Users\geekman\AppData\Roaming\Tor中我可以,我得到了vista.