SOCKS5 es un protocolo de proxy que retransmite tráfico TCP y UDP entre un cliente y un servidor sin leer los datos de la aplicación, por lo que funciona con cualquier aplicación que soporte SOCKS, no solo con navegadores web. Está definido en el RFC 1928, soporta autenticación de nombre de usuario/contraseña y no cifra el tráfico por sí mismo.

Debido a que SOCKS5 opera entre las capas de aplicación y transporte en lugar de analizar HTTP, no está limitado al tráfico web. Si su caso de uso necesita SOCKS5, vale la pena confirmar que un proveedor lo soporte antes de comprometerse.

Cómo Funciona una Conexión SOCKS5

  1. El cliente se conecta al proxy y lista los métodos de autenticación que soporta.
  2. El proxy elige uno, como sin autenticación o nombre de usuario/contraseña, y el cliente se autentica.
  3. El cliente envía el destino como una dirección IPv4, dirección IPv6 o nombre de dominio. Utiliza CONNECT para TCP o UDP ASSOCIATE para UDP.
  4. El proxy abre la conexión y retransmite datos en ambas direcciones.

SOCKS5 vs. SOCKS4

SOCKS5 extiende el antiguo protocolo SOCKS4:

  • Autenticación: SOCKS4 tiene solo un campo de ID de usuario. SOCKS5 añade métodos como nombre de usuario/contraseña y GSSAPI.
  • UDP: SOCKS4 maneja solo TCP. SOCKS5 también puede retransmitir UDP.
  • IPv6: SOCKS4 acepta solo destinos IPv4. SOCKS5 añade IPv6.
  • Nombres de host: SOCKS5 permite al cliente enviar un nombre de dominio para que el proxy lo resuelva. SOCKS4 necesita la extensión SOCKS4a para hacer esto.

Términos Relacionados