【发布时间】:2012-11-15 20:21:16
【问题描述】:
我已经查看了 stackoverflow 上关于如何以编程方式更改 Tor 的出口节点 IP 的所有问题/回复,但均无济于事。每个答案都说您所要做的就是连接到 Tor 控制端口并发出“signal newnym”命令,您将获得一个新的退出 IP。我正在使用Minimalistic Telnet Library 发布以下内容:
TelnetConnection tc = new TelnetConnection("127.0.0.1", 9051);
tc.WriteLine("AUTHENTICATE \"pwd\"");
tc.WriteLine("SIGNAL NEWNYM");
tc.WriteLine("QUIT");
我添加了行尾,尝试了不同的 Telnet 库和直接 TCP 连接,但都不起作用。我正在我们的开发服务器上抓取一个显示请求 IP 的页面,当我循环调用此页面时,有时会停下来发出“newnym”命令,IP 地址永远不会改变。有人知道我做错了什么吗?很抱歉提交看似重复的内容,但由于没有一个答案有效,我并不认为这是一个骗局。谢谢。
【问题讨论】:
-
控制器程序的日志中显示了什么?这些命令在您的系统上返回什么响应?我在我的 Debian 系统上的 Telnet 中使用了这些命令,它运行良好。
-
我从系统中得到“250 OK”,所以不是这样。我必须查看日志并查看,但我没有收到任何类型的错误。
-
检查了日志,我看到“速率限制 NEWNYM 请求:延迟 x 秒”。然而,即使我每 10 秒只调用一次 NEWNYM(Tor 记录的限制是 5 秒),也没有任何反应。
-
您如何检查 Vidalia(或您正在使用的任何东西)是否为您获得了新 IP?
-
@Maxwell -- 我在我们的一个开发服务器上放置了一个 .aspx 页面,并将“REMOTE_ADDR”服务器变量粘贴在我抓取的 div 中。