我想监控正在运行的 Tor 实例的状态。
我已经能够通过控制端口的 TCP 连接获取信息。
例如。 “GETINFO 流状态”返回数据,但我无法确定当前选择的导出节点的 IP 地址。
可以简单地请求诸如 whatismyip.org 之类的东西,但这太慢并且不能很好地扩展。
那么获取 Tor 连接的导出节点 IP 地址的最佳方法是什么?
最佳答案
这是一个很好的问题!这是使用 stem 执行此操作的简短脚本...
from stem import CircStatus
from stem.control import Controller
with Controller.from_port(port = 9051) 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
print
谢谢你的提问。我已将此添加到 our FAQ .
关于ip - 如何通过控制端口获取 Tor 导出节点 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9777192/