仕様 (MacOSx - 最終バージョン、Python 3.5、Mac 用 Stem および Tor ブラウザ)
Tor についてさらに学び始めたばかりで、Tor ルートを Python Script から変更したいと考えていました。
from stem import Signal
from stem.control import Controller
from stem import CircStatus
def getIP():
with Controller.from_port(port = 9151) as controller:
controller.authenticate()
for circ in controller.get_circuits():
if circ.status != CircStatus.BUILT:
continue
exit_fp, exit_nickname = circ.path[-1]
exit_desc = controller.get_network_status(exit_fp, None)
exit_address = exit_desc.address if exit_desc else 'unknown'
print ("Exit relay")
print (" fingerprint: %s" % exit_fp)
print (" nickname: %s" % exit_nickname)
print (" address: %s" % exit_address)
def newIP():
with Controller.from_port(port = 9151) as controller:
controller.authenticate()
controller.signal(Signal.NEWNYM)
print("\n\nNEW IP, NEW IP\n\n")
getIP()
newIP()
getIP()
しかし、上記のコードは、2 つの getIP() の間で新しい IP をネゴシエートしません。接続が正しいことを確認しました:
telnet localhost 9151
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
できない理由を理解するのを手伝ってくれませんか?
よろしく、
ジェレミー。