musicman 2012-01-19
SOCKS5 是一个代理协议,这种协议对本身所代理的内容并不关心,可用于穿越防火墙。
例如我有一台web服务器,用户可以登陆上去查询公司的关键数据,这样的服务器我肯定是不想放到公网上让别人能随便访问,但是有时候我在外地又想登录上去。所以我就把这台服务器放置在内网,所有的对外接口由另外一台安装了防火墙的服务器提供。
我在这台有防火墙的服务器上安装SOCKS5代理服务器,并监听相应的端口,只有验证通过的数据才可以通过代理服务器然后转发到内网中的web服务器。
通过SOCK5代理服务器通信包括以下几个步骤:
1.客户连接代理服务器,提供自身支持的验证方法列表
2.代理服务器通知自己选择的验证方法(可以选择无验证)
3.有验证的情况下按协定的验证方式完成验证过程
4.客户端发送操作请求,这里的请求分三种:CONNECT,BIND,UDP
5.代理服务器端按自身情况处理请求然后返回响应
6.客户端和应用服务器在代理服务器的协助下交流数据