SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。sock5协议没有规定加密,所以是明文传输,当然也可以搭配ssl加密。
由于网上的信息传输都是运用tcp或udp进行的,所以使用socks5代理可以办到网上所能办到的一切,因为sock5既支持TCP协议又支持UDP协议。当然,socks5对这两种协议的使用是有区别的,以下分类说明。
如何用代理TCP协议:
1、向服务器的1080端口建立tcp连接;
2、向服务器发送 05 01 00 (此为16进制码,以下同);
3、如果接到 05 00 则是可以代理;
4、发送 05 01 00 01 + 目的地址(4字节) + 目的端口(2字节),目的地址和端口都是16进制码(不是字符串!!)。 例202.103.190.27 -7201 则发送的信息为:05 01 00 01 CA 67 BE 1B 1C 21 (CA=202 67=103 BE=190 1B=27 1C21=7201);
5、接受服务器返回的自身地址和端口,连接完成;
6、以后操作和直接与目的方进行TCP连接相同。
如何用代理UDP协议:
1、向服务器的1080端口建立udp连接;
2、向服务器发送 05 01 00;
3、如果接到 05 00 则是可以代理;
4、发送 05 03 00 01 00 00 00 00 + 本地UDP端口(2字节);
5、服务器返回 05 00 00 01 +服务器地址+端口;
6、需要申请方发送 00 00 00 01 +目的地址IP(4字节)+目的端口 +所要发送的信息;
7、当有数据报返回时 向需要代理方发出00 00 00 01 +来源地址IP(4字节)+来源端口 +接受的信息。