让Tor ControlPort工作

时间:2017-08-31 03:14:43

标签: python tor stem

我已经安装了Tor作为服务在我的Windows机器上运行,我试图通过Stem包在python中发出请求。在我的torrc文件中,我将ControlPort指定为9051并设置了HashedControlPassword。当我运行netstat时,我看到Tor在localhost:9050上运行,但是没有任何东西正在侦听端口9051.因此,当我尝试连接到python中的ControlPort时:

Controller.from_port(port=9051)

导致

[Errno 10061] No connection could be made because the target machine actively refused it

我尝试重新启动服务,我甚至重新安装了Tor浏览器,但似乎没有任何东西能让ControlPort正常工作。

2 个答案:

答案 0 :(得分:6)

您遇到的问题是因为您正在运行Tor作为Windows服务。 问题是当tor作为服务安装时,无论出于何种原因,控制端口都未启用。 要解决您的问题,请打开终端,导航到tor目录并键入以下命令:

tor --service remove
tor --service install -options ControlPort 9051

现在,tor作为服务安装,并且在端口9051上启用了ControlPort。 如果输入“netstat -an”,您将看到端口9051已打开。

然后,您就可以使用Stem连接到ControlPort。

我希望这会有所帮助。

和平。 Sat Cit Ananda。

答案 1 :(得分:2)

对我有用的解决方案(Windows 10),从Sat Cit Ananda的回答中进行了一些调整:

[at your terminal]
cd ...\Tor Browser\Browser\TorBrowser\Tor
tor --service remove
tor --service install -options ControlPort 9151
netstat -an

Tor服务在默认端口91509151上的ControlPort上运行。 当您运行127.0.0.1:9150时,您应该可以看到本地地址127.0.0.1:9151netstat -an