4. Requests (Richieste)
Una volta completata la sotto-negoziazione dipendente dal metodo, il client invia i dettagli della richiesta (Request). Se il metodo negoziato include l'incapsulamento (Encapsulation) per scopi di controllo dell'integrità (Integrity Checking) e/o riservatezza (Confidentiality), queste richieste devono essere incapsulate nell'incapsulamento dipendente dal metodo.
La richiesta SOCKS (SOCKS Request) è formata come segue:
+----+-----+-------+------+----------+----------+
|VER | CMD | RSV | ATYP | DST.ADDR | DST.PORT |
+----+-----+-------+------+----------+----------+
| 1 | 1 | X'00' | 1 | Variable | 2 |
+----+-----+-------+------+----------+----------+
Dove:
- VER versione del protocollo (Protocol Version): X'05'
- CMD comando (Command)
- CONNECT X'01'
- BIND X'02'
- UDP ASSOCIATE X'03'
- RSV RISERVATO (RESERVED)
- ATYP tipo di indirizzo dell'indirizzo seguente (Address Type)
- IP V4 address: X'01'
- DOMAINNAME: X'03'
- IP V6 address: X'04'
- DST.ADDR indirizzo di destinazione desiderato (Desired Destination Address)
- DST.PORT porta di destinazione desiderata nell'ordine degli ottetti di rete (Desired Destination Port in Network Octet Order)
Il server SOCKS valuterà tipicamente la richiesta in base agli indirizzi di origine e destinazione e restituirà uno o più messaggi di risposta (Reply Message), come appropriato per il tipo di richiesta.