English Site
 高级搜索

网络大典博客 网络大典维基 网络大典问答 网络大典群组 佳文科技产品 网络大典首页

SOCKS:防火墙安全会话转换协议(Protocol for sessions traversal across firewall securely)

SOCKS 协议提供一个框架,为在 TCP 和 UDP 域中的客户机/服务器应用程序能更方便安全地使用网络防火墙所提供的服务。这个协议从概念上来讲是介于应用层和传输层之间的中介层(shim-layer),因而不提供如传递 ICMP 信息之类的网络层网关服务。

利用网络防火墙将组织内部的网络结构与外部网络如 INTERNET 中有效地隔离开来,这种方法正变得逐渐流行起来。这些防火墙系统通常以应用层网关的形式工作在网络之间,提供受控的 TELNET、FTP、SMTP 等的接入。SOCKS 提供一个通用框架来使这些协议安全透明地穿过防火墙。

SOCKSv5 为这些协议穿越提供了有力的认证方案,而 SOCKSv4 为 TELNET、FTP、HTTP、WAIS 和 GOPHER 等基于 TCP 协议的客户/服务器程序仅仅提供了一个不安全防火墙穿越。新的协议 SOCKS v5 在 SOCKSV4 基础上作了进一步扩展,从而可以支持 UDP,并对其框架规定作了扩展,以支持安全认证方案。同时它还采用地址解析方案(addressing scheme)以支持域名和 IPV6 地址。

为了实现这个 SOCKS 协议,通常需要重新编译或者重新链接基于 TCP 的客户端应用程序以使用 SOCKS 库中相应的封装程序。

协议结构

OCKS v5 具有以下一些不同格式的信息:

版本标识符/信息选择方法:

1 byte 1 byte 1-255 byte
Version NMethods Methods

SOCKS 请求信息:

1 byte 1 byte Value of 0 1 byte Variable 2 bytes
Version CMD Rsv ATYP DST Addr DST Port

信息选择方法:

1 byte 1 byte
Version Method

答复信息:

1 byte 1 byte Value of 0 1 byte Variable 2 bytes
Version REP RSV ATYP BND Addr BND Port

UDP 请求头:

2byte 1 byte 1 byte Variable 2 Variable
RSV FRAG ATYP DST Addr DST Port Data

相关协议:TCPUDPICMPHTTP、Gopher、TelnetFTP

组织来源:SOCKS 由 IETF (www.ietf.org) 定义在 RFC 1928中。

相关链接:http://www.javvin.com/protocol/rfc1928.pdf:SOCKS Protocol Version 5.