首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >理解SOCKS5协议RFC

理解SOCKS5协议RFC
EN

Stack Overflow用户
提问于 2016-04-23 10:08:29
回答 2查看 1.9K关注 0票数 1

我正在读“SOCKS5 RFC”,它有:

连接 在对连接的答复中,BND.PORT包含服务器分配到目标主机的端口号,而BND.ADDR包含关联的IP地址。所提供的BND.ADDR通常与客户端用于访问SOCKS服务器的IP地址不同,因为这些服务器通常是多宿主的。预计SOCKS服务器将使用DST.ADDR和DST.PORT以及客户端源地址和端口来计算连接请求。

关于这一段的最后一部分,我有两个问题:

  1. 文档指出,SOCKS服务器通常是多宿主的,并且会回复客户端与客户端最初连接的不同的绑定地址和端口。这是否意味着客户端连接的SOCKS服务器将连接重定向到另一个SOCKS服务器?如果是的话,让客户端感觉到重定向SOCKS服务器的存在有什么意义?通常,客户端将如何处理绑定地址和SOCKS服务器回复的端口?
  2. 文档指出,在计算连接请求时,SOCKS服务器将使用DST.ADDR和DST.PORT,客户端源地址和端口,这到底是什么意思?计算连接请求意味着什么?如果我正在实现SOCKS服务器,那么在这个评估进程中,我应该做什么呢?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-23 10:44:45

  1. 不是的。这意味着服务器有两个(或更多)网卡/连接--您可以在cardA上与服务器通信,但是当服务器连接到下游设备时,它使用cardB。
  2. 这取决于您,really...perhaps,您想要黑名单/白名单某些客户端/服务器/端口(例如。只允许来自您国家的客户,或只允许与特定国家的连接)。好的例子是不让客户端连接到自身(?)。只是猜一下。通常,RFCs很擅长说“必须、可能、必须等等”,它说“预期”,对我来说,这听起来像是‘可能’,意思是‘可以,但不必这样做。’
票数 2
EN

Stack Overflow用户

发布于 2016-04-23 10:46:06

  1. SOCKS代理是多宿主的,因为它们通常安装在网络边界上,比如防火墙。客户端连接到防火墙的内部接口,但传出地址是外部接口。由于有些协议如FTP需要包括外部可见IP地址和带内端口(参见FTP数据传输,即端口和PASV),它们需要知道这个外部可见的IP和端口。
  2. 普通的socks代理将连接到客户想要的地方,即DST。但是,当配置了上游代理时,或者当防火墙ACL表示不同时,代理的行为可能有所不同。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36809380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档