如何检查 Socks5 代理是否有效

ton*_*sid 41 linux proxy socks5

有没有一种简单的方法(最好是使用 Linux 终端)来检查 Socks5 代理是否有效?

bin*_*lse 42

如果你自己创建了代理,你应该首先检查是否有一个开放的端口(该p参数仅在相关进程是你的或者你是 root 时才有效):

netstat -tlnp
Run Code Online (Sandbox Code Playgroud)

这应该给你一行:(我有一个代理localhost:8888

tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN
Run Code Online (Sandbox Code Playgroud)

如果您发现这样的线路或代理不是您的,请尝试通过它发送数据包。例如请求一个网页curl

curl --socks5 localhost:8888 binfalse.de
Run Code Online (Sandbox Code Playgroud)

应该输出一些 HTML 的东西。希望这有助于寻找错误;-)


Aux:对于我的示例,我通过以下方式创建了代理:

ssh -o ServerAliveInterval=60 -D8888 someone@somewhere
Run Code Online (Sandbox Code Playgroud)

替换someone为您的用户名和somewhere目标服务器。当然,使用 OpenSSH 只是一堆可能的 socks5 代理中的一种方法。

  • 当然,你必须用你的用户名和服务器替换 `someone@somewhere`,例如 `ssh -D8888 YOURUSER@YOURHOST` ;-) (6认同)

小智 8

要让 curl 解析另一端的 DNS,请更改--socks5--socks5-hostname.

有关更多信息,请参阅手册页


ken*_*orb 8

以下命令将测试 Socks 5 代理是否适用于localhost:8080

timeout 5 curl -x socks5://localhost:8080 http://example.com/
Run Code Online (Sandbox Code Playgroud)

否则它会在 5 秒后超时。如果您没有timeout命令,请删除它。