什么是SOCKS
SOCKS即防火墙安全会话转换协议,是一个客户/服务器环境的代理协议。SOCKS包括两个主要的组件,SOCKS服务器和SOCKS客户库。SOCKS服务器实现在应用层,SOCKS客户库实现在客户的应用层与传输层之间。
目前,有两个版本的SOCKS协议,SOCKSV4和SOCKSV5。SOCKSV4协议执行三个功能:连接请求、代理链路的建立和应用数据中转。它为基于TCP的客户/服务器应用提供不安全的防火墙穿越,包括TELENT、FTP、HTTP、WAIS和GO2PHER。SOCKSV5协议增加鉴别功能,扩展SOCKS版本4的模型以支持UDP的应用,也扩展框架以提供通用的强有力的鉴别机制的支持,另外还扩展地址机制以包含对域名和IPV6地址的支持。
这个SOCKS协议的实现解决了基于TCP的客户应用为了使用SOCKS库中适当的加密方法而必须预编译或预连接的问题。
SOCKS的工作流程
SOCKS协议的大致工作流程如下:当应用客户在需请求外部网络的应用服务器服务时,首先与SOCKS服务器建立连接。它向SOCKS服务器发出连接请求及相关的信息,如所支持的鉴别方法列表。SOCKS服务器接到消息后,检查安全配置策略,返回服务器选择的安全鉴别方法。SOCKS客户再对服务器所作选择进行验证,SOCKS客户及服务器分别根据选择的鉴别方法进行处理。SOCKS客户向SOCKS服务器发送代理请求,SOCKS服务器处理客户的请求,设置代理链路,建立与应用服务器的连接,并向SOCKS客户发送设置状态。而后SOCKS服务器在S
OCKS客户与应用服务器之间中转数据。
图1显示了SOCKSV5控制流模型,虚线框中的部分代表SOCKSV4的功能。
SOCKS代理
采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为InternetRFC标准的开放标准。Socks不要求应用程序遵循特定的操作系统平台,Socks代理与应用层代理、HTTP层代理不同,Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。如果您在企业网或校园网上,需要透过防火墙或通过代理服务器访问Internet就可能需要使用SOCKS。一般情况下,对于拨号上网用户都不需要使用它。注意,浏览网页时常用的代理服务器通常是专门的http代理,它和SOCKS是不同的。因此,您能浏览网页不等于您一定可以通过SOCKS访问Internet。常用的防火墙,或代理软件都支持SOCKS,但需要其管理员打开这一功能。如果您不确信您是否需要SOCKS或是否有SOCKS可用,请与您的网络管理员联系。为了使用socks,您需要了解一下内容:
①SOCKS服务器的IP地址
②SOCKS服务所在的端口
③这个SOCKS服务是否需要用户认证?如果需要,您要向您的网络管理员申请一个用户和口令
知道了上述信息,您就可以把这些信息填入“网络配置”中,或者在第一次登记时填入,您就可以使用socks代理了。
在实际应用中SOCKS代理可以用作为:电子邮件、新闻组软件、网络传呼ICQ、网络聊天MIRC和使用代理服务器上联众打游戏等等各种游戏应用软件当中。Socks默认端口1080,Socks5是socks协议目前最新的一个版本。