2014-03-30 62 views
1

我想在tor的website上使用python的幹函數庫來控制Ubuntu的linux。然而,當我跑了建議Python代碼如何通過Python上的Python +幹得到Tor中繼信息?

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) 

我得到的錯誤:

Traceback (most recent call last):

File "littleRelay.py", line 5, in module

bytes_read = controller.get_info("traffic/read")

File "/usr/local/lib/python2.7/dist-packages/stem/control.py", line 852, in get_info

raise exc

stem.InvalidArguments: GETINFO request contained unrecognized keywords: traffic/read

那麼,如何可以通過Python得到Tor中繼信息+幹在Linux上? 我覺得Tor正在運行,很好,因爲我從終端開始Tor和它說

[notice] Tor has successfully opened a circuit. Looks like client functionality is working.

[notice] Bootstrapped 100%: Done.

而且,當我運行上面的Python代碼,終端說

[notice] New control connection opened.

附:我也試過在Windows PC上的代碼,它的工作。我現在很困惑。

+0

那沒有工作,但由於安德烈在Ubuntu上安裝Tor的做。 – user3478516

回答

3

該錯誤表明Tor不支持'GETINFO流量/讀取'查詢。這很奇怪 - 這是我在2011年添加到Tor的一個功能。也許你的Tor副本非常非常過時?

0

問題解決了!謝謝Damian!

我在Ubuntu上卸載Tor並按照詳細指南here再次安裝Tor。現在Tor可以使用Python代碼。

我不知道問題究竟是如何產生,但我想這個問題必須通過使用天真地

sudo apt-get install tor

+0

Gotcha。這實際上很好,但如果你有一箇舊的發行版,那麼你會得到一箇舊的Tor實例。 Ubuntu在製作新版本時會拍攝Debian存儲庫的快照,比如說,您的Ubuntu副本在2010年發佈,那麼您可能會收到2010年的Tor副本。 – Damian