SOCKS5 绑定是持久的还是一次性的?
Posted
技术标签:
【中文标题】SOCKS5 绑定是持久的还是一次性的?【英文标题】:Is SOCKS5 bind persistent, or one-time only? 【发布时间】:2011-08-25 07:31:45 【问题描述】:我一直在研究RFC 1928,但我并不清楚 BIND 操作的描述。据我了解,设置顺序如下:
-
客户端与 SOCKS5 服务器建立连接
客户端执行 CONNECT 请求
客户端与 SOCKS5 服务器建立新的 TCP 连接并请求 BIND
服务器立即回复 BIND 操作的结果
在收到传入连接后,SOCKS5 服务器向客户端发送通知
第 5 步对我来说不是很清楚。之后我是否必须重新请求 BIND 以允许更多传入连接?
据我了解,相同的 TCP 连接(在步骤 3 中建立)用于与接受的对等方进行通信。如果我需要继续接受同一地址:端口上的连接怎么办?到底有没有可能?
【问题讨论】:
【参考方案1】:对于要接受的每个连接,您都需要一个单独的 BIND 请求,因为当客户端连接到绑定端口时,SOCKS 代理只会发回 1 个通知。 SOCKS5 代理是否允许同一 IP/端口上的多个 BIND 请求取决于代理的实现。
【讨论】:
以上是关于SOCKS5 绑定是持久的还是一次性的?的主要内容,如果未能解决你的问题,请参考以下文章
KnockoutJs - 为啥初始化绑定处理程序只被调用一次?