跳到主要内容

4. 请求 (Requests)

一旦特定于方法的子协商完成, 客户端发送请求详情。如果协商的方法包含用于完整性检查和/或机密性目的的封装, 这些请求必须 (MUST) 封装在特定于方法的封装中。

SOCKS 请求的格式如下:

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

其中:

  • VER 协议版本: X'05'
  • CMD
    • CONNECT X'01'
    • BIND X'02'
    • UDP ASSOCIATE X'03'
  • RSV 保留 (RESERVED)
  • ATYP 后续地址的地址类型
    • IP V4 地址: X'01'
    • 域名 (DOMAINNAME): X'03'
    • IP V6 地址: X'04'
  • DST.ADDR 期望的目的地址
  • DST.PORT 期望的目的端口 (网络八位字节顺序)

SOCKS 服务器通常将根据源地址和目的地址评估请求, 并根据请求类型返回一个或多个回复消息。