我正在尝试使用python' s website上的指示使用python的词库来控制ubuntu linux上的tor。但是,当我运行建议的python代码时
from stem.control import Controller
with Controller.from_port(port = 9051) as controller:
controller.authenticate() # provide the password here if you set one
bytes_read = controller.get_info("traffic/read")
bytes_written = controller.get_info("traffic/written")
print "My Tor relay has read %s bytes and written %s." % (bytes_read, bytes_written)
我收到错误:
追踪(最近一次呼叫最后一次):
文件" littleRelay.py",第5行,在模块
中bytes_read = controller.get_info(" traffic / read")
文件" /usr/local/lib/python2.7/dist-packages/stem/control.py",第852行,在get_info中
提高exc
stem.InvalidArguments:GETINFO请求包含无法识别的关键字:traffic / read
那么如何在linux上通过python + stem获取Tor中继信息? 我认为Tor运行正常,因为我从终端开始,它说
[注意] Tor已成功开通电路。看起来客户端功能正常。
[notice] 100%自举:完成。
此外,当我运行上面的python代码时,终端说
[通知]新的控制连接已打开。
P.S。我也试过Windows PC上的代码,它的工作原理。我现在真的很困惑。
答案 0 :(得分:3)
该错误表明Tor不支持'GETINFO流量/读取'查询。这很奇怪 - 这是我在2011年加入Tor的一项功能。也许你的Tor副本非常非常过时了?
答案 1 :(得分:0)
问题解决了!谢谢达米安!
我在Ubuntu上卸载了Tor,并按照详细指南here再次安装Tor。现在Tor使用python代码。
我不确定问题究竟是怎么产生的,但我认为问题与通过天真地使用
在Ubuntu上安装Tor有关sudo apt-get install tor