
socks5
SOCKS5 是一个代理协定,它在使用TCP/IP协定通讯的前端机器和伺服器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的伺服器,或者使通讯更加安全。SOCKS5 伺服器通过将前端发来的请求转发给真正的目标伺服器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协定进行通讯,前端将原本要传送给真正伺服器的请求传送给SOCKS5伺服器,然后SOCKS5伺服器将请求转发给真正的伺服器。
基本介绍
- 外文名:socks5
- 性质:代理协定
- 实质:中介角色
- 方式:模拟了一个前端的行为
简介
如果您的机器具有一个合法的 Internet IP 地址, 或者您利用自己机器上的数据机拨接, 可以自由和 Internet 上任何主机沟通, 那幺您通常不必关心 SOCKS5 协定。SOCKS5 协定对于处在内部网路中的机器, 需要透过网路中某些可以联通外部 Internet 的机器访问外部时,有用。SOCKS5伺服器在将通讯请求传送给真正伺服器的过程中,对于请求数据包本身不加任何改变。SOCKS5伺服器接收到真正伺服器的回响后,也原样转发给前端。因此,SOCKS5 协定是一种代理协定,对于各种基于 TCP/IP的套用层协定都能够适应,几乎是万能的。它虽然不能理解自己转发的数据的内部结构,但是它能够忠实地转发通讯包,完成协定本来要完成的功能。
与SOCKS5协定不同,HTTP代理是通过HTTP协定进行的,HTTP代理伺服器软体了解通讯包的内部结构,在转发过程中还要对通讯进行某种程度的修改和转换。和HTTP代理协定不同,SOCKS5实际上是一个传输层的代理协定。我们可以想像,如果每个具体的套用层协定都要设计对应的代理协定表达办法,一个特定的代理伺服器无论如何也支持不过来那幺多新出现的协定。因此,可以说SOCKS5的出现缓解了各种具体协定需要专门设计代理协定的困难局面。不过,并不是凡是使用基于TCP/IP协定的套用协定的软体,都可以无条件地透过SOCKS5伺服器进行通讯,还要求前端软体本身具有SOCKS5的接口,才能利用SOCKS5代理伺服器。
运行状态
一个支持SOCKS5协定的前端,通常具有两种运行状态:
1)直接通讯状态,不使用SOCKS5接口。这时的通讯是针对最终伺服器进行
的。
2)SOCKS5 状态。 使用 SOCKS5 接口将本来要传送给最终伺服器的请求发
送给 SOCKS5 伺服器。在前端和 SOCKS5 伺服器进行初始化会话的时候,前端
告诉了 SOCKS5 伺服器关于最终伺服器的 IP 地址和连线埠信息,所以 SOCKS5
伺服器能够忠实按照前端的要求启动和最终伺服器的通讯过程。
区别
SOCKS是一组由Internal工程工作小组(IETF)所开发出来的开放软体开放标準,用来处理网路安全的事宜。SOCKS像一堵墙被夹在 Internal伺服器和客户端之间,对于出入企业网路的资讯提供流量和安全的管理。SOCKS这个名词并不是一组英文字头的缩写,而是一个和 TCP/IP的Socket连线埠有关的安全标準,一般防火墙系统通常是象网关(Gateway)一样是作用在OSI模型的第七层也就是套用层上,对 TCP/IP的高级协定,如Telnet、FTP、HTTP和SMTP加以管制,而SOCKS作用在OSI模型的第五层也就是会话层上,象一个代理一样对客户端到伺服器端或伺服器和伺服器之间的数据联繫提供安全上的服务。由于SOCKS作用在会话层上,因此它是一个提供会话层到会话层间安全服务的方案,不受高层应用程式变更的影响。 Socks代理只是简单地传递数据包,而不必关心是何种套用协定(比如FTP、HTTP和NNTP请求),所以Socks代理伺服器比套用层代理伺服器要快。