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 服务器通常将根据源地址和目的地址评估请求, 并根据请求类型返回一个或多个回复消息。