袜子4绑定请求说明

时间:2011-10-11 20:07:44

标签: proxy connect socks

我正在读这个话题 http://ftp.icm.edu.pl/packages/socks/socks4/SOCKS4.protocol

我想做的是: 我有一个客户端/服务器应用程序,我试图做的是使用socks 4 BIND请求将我的服务器绑定到远程socks服务器,并使客户端连接到该socks服务器,socks服务器将使它们连接到我的服务器(至少那就是我如何理解袜子BIND请求)

但我不完全理解它(我的英语有点不好),我问的是,当我不知道客户的任何远程IP时,是否可以这样做?因为服务器的BIND请求包必须包含远程客户端的地址,并且我真的没有,因为客户端来自未知用户从我的服务器检索状态信息(或者我可以使用0作为INANY_ADDR)?

1 个答案:

答案 0 :(得分:5)

SOCKS无法满足您的要求,也不是出于此目的。再仔细阅读规范。 BIND命令用于多连接协议(如FTP),其中主连接用于在客户端和服务器之间进行通信,BIND有助于服务器在需要之后将辅助连接连接到客户端的情况。客户端告诉服务器连接的位置。在这种情况下,客户端会向SOCKS发出BIND命令,告诉它服务器的IP /端口,以便它只接受该连接,然后将生成的SOCKS监听IP /端口发送到服务器进行连接。

使用已定义端口转发规则的路由器可以更好地满足您的要求。然后,您可以在接受任何入站连接的路由器上打开侦听端口,并将其转发到应用程序的侦听IP /端口。大多数现代路由器都支持uPNP(通用即插即用),因此您可以可编程地配置转发规则,而无需管理员访问路由器的配置软件。