Torify 和 Torsocks 无法正常工作

Torify 和 Torsocks 无法正常工作

我想在终端中使用 Tor。这是我以前做过的事情,而且没有任何问题:

  • 运行 Tor 浏览器
  • 在终端中运行torifytorsocks执行命令之前

但有一段时间它不起作用。我不记得这是否是在我的系统进行某些特定更改后发生的。我还没有发现任何重大且明显的变化。

也许下面的几行可以帮助了解这个问题:

$ curl ifconfig.me
111.222.333.444       <<< My real IP

$ torify curl ifconfig.me 2> /dev/null 

$ torify curl ifconfig.me
[Jan 21 20:55:05] PERROR torsocks[16007]: socks5 libc connect: Connection refused (in socks5_connect() at socks5.c:185)

$ torsocks curl ifconfig.me
[Jan 21 20:59:50] ERROR torsocks[16100]: Unable to resolve. Status reply: 4 (in socks5_recv_resolve_reply() at socks5.c:666)
curl: (6) Could not resolve host: ifconfig.me

当我遇到这个问题时,我可以轻松使用 Tor 浏览器,没有任何问题。

知道如何解决这个问题吗?
谢谢

答案1

花费了大量的时间和精力后,我终于能够自己解决这个问题。

默认情况下,Tor 应该设置为使用端口 9050 进行 socks5 通信。此设置可以在/etc/tor/torsocks.conf文件中找到。查看此文件中的以下几行:

# Default Tor address and port. By default, Tor will listen on localhost for
# any SOCKS connection and relay the traffic on the Tor network.
TorAddress 127.0.0.1
TorPort 9050

根据我的 TorBrowser 设置,浏览器使用端口 9150 而不是 9050。因此,我更改了相关行并将 9150 设置为端口。

现在,torsocks一切torify按预期运行。
(只是 ifconfig.me 网站似乎存在一些技术问题,因为我甚至无法在浏览器中打开它。但其他网站运行良好。)

答案2

我也遇到过这种情况,也弄清楚了原因:在运行带有 torify 的脚本后,tor 端口处于某种close_wait状态,这意味着该端口在短时间内无法打开,因此 torify 将无法工作,直到该端口从close_wait

相关内容