【发布时间】:2016-01-20 07:26:11
【问题描述】:
我正在运行一个 perl 脚本来通过 TOR network 读取许多不同网站的数据。但是其中一些站点已将某些 TOR 出口节点列入黑名单,并发送 http-status 403 而不是预期的响应。在这种情况下,我想向本地 TOR 进程发送命令以更改其电路/身份。
这引出了我的第一个(次要重要)问题:
在谈到 TOR 时,»circuit« 和 »identity« 是否相同?
但我更重要的问题是:
如何从 perl 脚本向本地运行的 TOR 进程发送 »change identity« 命令?
(据我所知,这个命令是signal newnym,但是我要怎么发送呢?)
I asked this question already on TOR-StackExchange,并被告知执行系统调用
pkill -SIGHUP tor
这应该强制 TOR 重新加载其配置文件,然后建立一个新电路,但这不起作用。我想这是因为我的 socks-connection 仍然是打开的,并且即使在 -SIGHUP 继续使用相同的身份进行仍然打开的连接之后。 (只是猜测)
而且我认为强制 TOR 重新加载其配置文件只是为了创建新电路是某种过载。我认为必须有一个更优雅的解决方案,比如
- 创建到 TOR 控制端口的连接
- 发送»更改身份« (
signal newnym) - 关闭连接
这三个步骤用perl怎么写?
在阅读我确实阅读的一些文档时,您必须在某些配置文件中启用控制端口的使用,并且您必须使用密码。请告诉我如何做到这一切! - 谢谢
【问题讨论】:
-
第一个问题可能更适合 TOR 社区。我相信它会在那里很受欢迎。下面描述的算法的实际 Perl 问题可能非常特定于领域,甚至有点宽泛。我不打算投票,因为我认为这是主题,但我对这里的很多帮助也不是很有信心。祝你好运。 :)