0%

《计算机网络》SOCKS5协议

SOCKS5协议

SOCKS5协议是一个代理协议,其不属于TCP/IP协议簇。只是客户端与代理服务器之间的一种协议。

SOCKS5协议即支持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字节)+来源端口 +接受的信息



微信关注我,及时接收最新技术文章