如果您的机器具有一个合法的InternetIP地址,或者您利用自己机器上的调制解调器拨号上网,可以自由和Internet上任何主机沟通,那么您通常不必关心SOCKS5协议。兔子IP提供全国各类IP代理业务。
SOCKS5协议对于处在内部网络中的机器,需要透过网络中某些可以联通外部Internet的机器访问外部时有用。
SOCKS5是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。
SOCKS5服务器通过将前端发来的请求转发给真正的目标服务器,模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。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代理上QQ,可隐藏真实IP地址,方法如下:
1.启动QQ,登陆后右击下方开始菜单处的QQ小图标,选择“系统参数”→“网络设置”
2.在服务器地址与端口处填QQ服务器地址,最好数字的。
3.在“使用SOCKS5代理服务器”前打上勾,在“代理服务器地址”与“端口号”处,(QQ代理的端口号一般为1080)分别填上最新SOCKS代理(SOCKS4也可用)。
4.在“校验用户名”与“校验用户密码”处全部删空,然后点“测试”,如能通过,则说明代理服务器工作正常,否则换一个。
5.按“确定”,点击任务栏的QQ小图标,先离线再上线即可。
在FTP软件中我们可以使用SOCKS4/SOCKS5代理服务器,常见的FTP工具中的代理设置方法如下:
1.FlashFXP3.0以前版本中设置代理:菜单栏“选项”→参数设置→代理和防火墙,然后在“代理服务器”项中选择代理类型,填写代理。
2.FlashFXP3.0以后版本中设置代理:菜单栏“选项”→参数设置→连接,然后在“代理服务器”项中选择代理类型,填写代理。
3.CuteFTPXP5.0.2中文版中设置代理:菜单栏“编辑”→设置→连接→SOCKS→选择代理类型,如SOCKS4或者SOCKS5,并填写代理。
4.LeapFtp中设置代理:菜单栏“选项”→参数设置→常规→代理,将“使用代理”前面的方框钩上,然后填写代理,并将下面的SOCKS防火墙钩上。