如何以编程方式更改tor出口节点
我在我的电脑上运行了Tor,我需要每五分钟更换一次Tor出口节点。 例如,如果我通过某个出口节点开始使用Tor,那么在5分钟内,我想让Tor改变为具有不同IP地址的出口节点。 我怎样才能做到这一点?
Tor,据我所知,正在监听本地主机上的端口8051。
我可以发送什么命令到这个端口使Torbuild立一个新的链,这样我可以得到另一个IP地址?
(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051
方法1:HUP
sudo killall -HUP tor
什么HUP信号完全是Tor守护进程logging在: 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的军队,你可以有select地发送:
kill -HUP $PID
方法2:控制端口
kat提到:
(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051
但为了在Ubuntu 15.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
- https://askubuntu.com/questions/95910/command-for-determining-my-public-ip
相关的线程
是的,这是1(我的意思是=真= =)))确实改变IP每隔10分钟,但! 如果我重新启动tor – 我会得到一个新的ip甚至在这10分钟的时间间隔。 所以我在考虑让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;
并accornig [ https://tor-svn.freehaven.net/svn/torctl/trunk/doc/howto.txt%5D我可以写一个控制器,将改变飞行员的configuration。; 默认情况下它不是enebled(我的意思是这个能力),但是我可以让tor客户端听一些端口来接受使用torrc的命令…如果我没有弄错…再次=)
! 地狱torrc在我的电脑上?
在C:\用户\ geekman \应用程序数据\漫游\ Tor我可以,ñ它我得到了Vista。
这个问题似乎很频繁地出现( 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)
我为自己制作了一个shell脚本,也可以让你远程执行(如果Tor服务器在另一台机器上运行)。
它在这里可用: https : //gist.github.com/kirelagin/9667900 。
您无法控制tornetworking中的路由(如果有的话,有人可能会滥用此function)。 但是tor已经大致每隔10分钟(至less根据德国维基百科文章 )切换路线。
Advtor可以让你访问几乎所有在tornetworking上工作的高级设置。
你可以简单地input或插入你的bash脚本:
service tor reload
我在这里做了一些不同的…我写了一个PHP程序,可以与linux shell进行通信。 程序会定期重启。
所以,当tor重新启动,它会得到一个新的IP ….是啊…..!
exec("/etc/init.d/tor restart",$ioOut); print_r($ioOut); //output from shell after executing the command sleep(25);
你也可以编写一个shell脚本来做到这一点。
我现在正在寻找一个窗口选项来做到这一点。 问题是..在Windows中Tor是一个无法重新启动的服务。
我已经写了一个库来控制与PHP的Tor。 它可以与Composer一起安装,并允许更改出口节点。
当然,这是免费的软件: http : //dunglas.fr/2013/02/php-torcontrol-a-library-to-control-tor/