如何以编程方式更改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/ 

也可以看看:

相关的线程

是的,这是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/