Skip to main content

4. 请求 (Requests)

一旦方法相关的子协商完成,客户端发送请求详情.如果协商的方法包含用于完整性检查和/或机密性的封装,这些请求必须 (MUST)使用方法相关的封装进行封装.

SOCKS请求的格式如下:

     +----+-----+-------+------+----------+----------+
|VER | CMD | RSV | ATYP | DST.ADDR | DST.PORT |
+----+-----+-------+------+----------+----------+
| 1 | 1 | X'00' | 1 | Variable | 2 |
+----+-----+-------+------+----------+----------+

其中:

  • VER 协议版本: X'05'
  • CMD 命令 (Command)
    • CONNECT (连接) X'01'
    • BIND (绑定) X'02'
    • UDP ASSOCIATE (UDP关联) X'03'
  • RSV 保留字段 (RESERVED)
  • ATYP 后续地址的地址类型
    • IPv4地址: X'01'
    • 域名 (DOMAINNAME): X'03'
    • IPv6地址: X'04'
  • DST.ADDR 期望的目标地址
  • DST.PORT 期望的目标端口,以网络字节序 (network octet order)表示

SOCKS服务器通常会基于源地址和目标地址评估请求,并根据请求类型返回一个或多个应答消息.