4

我已经查看了关于如何以编程方式更改 Tor 的出口节点 IP 的关于 stackoverflow 的所有问题/回复,但均无济于事。每个答案都说您所要做的就是连接到 Tor 控制端口并发出“signal newnym”命令,您将获得一个新的退出 IP。我正在使用Minimalistic Telnet 库来发布以​​下内容:

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 地址永远不会改变。有人知道我做错了什么吗?很抱歉提交看似重复的内容,但由于没有一个答案有效,我并不认为这是一个骗局。谢谢。

4

2 回答 2

1

NEWNYM不会破坏现有电路,它会将它们标记为脏并构建新的(除其他外)。只需处理现有的 TCP 连接,当您建立新的连接时,您将获得一个新的 IP。

于 2017-12-20T15:23:36.090 回答
0

如果您运行 TOR 继电器,则 NEWNYM 信号无效。它仅适用于浏览互联网的 TOR 客户端。这意味着新的身份,新的电路。

如果 Tor 选择忽略信号(例如 NEWNYM),则不会发送此事件。请注意,某些选项(如 ReloadTorrcOnSIGHUP)可能会影响此处信号的语义。

请注意,HALT (SIGTERM) 和 SHUTDOWN (SIGINT) 信号当前不生成任何事件。

于 2015-09-02T07:52:13.880 回答