Glosario

¿Qué es un proxy SOCKS5?

Un proxy SOCKS5 es un servidor proxy que utiliza el protocolo SOCKS5 para reenviar tráfico TCP y UDP arbitrario entre un cliente y un destino, sin analizar ni modificar el contenido de la capa de aplicación.

Descubre en qué se diferencia SOCKS5 de los proxies HTTP, por qué admite cualquier protocolo TCP/UDP (no solo HTTP) y cuándo los scrapers, clientes de juegos y usuarios de torrents prefieren SOCKS5.

Explicado

SOCKS5 es un protocolo proxy de capa de transporte definido en el RFC 1928. A diferencia de un proxy HTTP, que entiende y analiza las solicitudes y respuestas HTTP, un proxy SOCKS5 opera a un nivel inferior: reenvía paquetes TCP o UDP sin procesar entre usted y el destino sin inspeccionar ni modificar la carga útil. Esto significa que un proxy SOCKS5 puede transportar cualquier protocolo que funcione sobre TCP o UDP, no solo tráfico web.

SOCKS5 es la versión moderna del protocolo proxy SOCKS, añadiendo soporte para IPv6, reenvío UDP y métodos de autenticación (sin autenticación, usuario/contraseña, GSS-API). La mayoría de los proveedores de proxies residenciales e ISP exponen sus endpoints tanto sobre HTTP como sobre SOCKS5 para que los clientes puedan elegir el protocolo que mejor se adapte a su entorno.

Para el web scraping sobre HTTPS, un proxy HTTP CONNECT y un proxy SOCKS5 se comportan de forma casi idéntica: ambos terminan tunelizando tráfico TCP cifrado. Las diferencias se vuelven relevantes cuando su cliente utiliza protocolos no HTTP (FTP, SMTP, IRC, BitTorrent, juegos) o cuando necesita específicamente soporte UDP.

Cómo funciona

Cuando su cliente se conecta a un proxy SOCKS5, envía un pequeño protocolo de enlace especificando el método de autenticación, luego un comando CONNECT con el host y el puerto de destino. El proxy abre una conexión TCP a ese destino y a partir de ese momento simplemente retransmite bytes entre el cliente y el destino. No hay conciencia de la capa HTTP: el proxy no lee la URL, las cabeceras ni el cuerpo de la respuesta.

Esta transparencia en la capa de transporte es la razón por la que SOCKS5 funciona con cualquier protocolo basado en TCP. El soporte UDP utiliza un flujo UDP ASSOCIATE separado donde el cliente envía datagramas UDP al proxy y el proxy los reenvía al destino. La autenticación, si se utiliza, ocurre una vez durante el protocolo de enlace inicial y se aplica a toda la sesión.

Tipos

SOCKS5 autenticado (usuario/contraseña)

SOCKS5 con autenticación basada en credenciales, el modo estándar para los servicios de proxy de pago. El nombre de usuario suele codificar la geolocalización y los parámetros de sesión (por ejemplo, `USER-country-us-session-12345`).

SOCKS5 sin autenticación

SOCKS5 sin autenticación, utilizado habitualmente para proxies internos autoalojados en redes privadas donde el control de acceso basado en IP es suficiente.

SOCKS5 con TLS / SOCKS5 tunelizado con TLS

SOCKS5 envuelto en TLS, utilizado en servicios orientados a la privacidad similares a VPN para cifrar el propio canal de control SOCKS5. Menos común en los servicios de proxy comerciales porque el SOCKS5 residencial ya se utiliza sobre TLS de extremo a extremo para destinos HTTPS.

Casos de uso habituales

Web scraping en clientes que prefieren SOCKS sobre HTTP CONNECT
Protocolos no HTTP (FTP, SMTP, IRC, IMAP)
Clientes de BitTorrent y P2P
Clientes de juegos y voz (donde importa la compatibilidad con UDP)
Navegadores sin interfaz gráfica y herramientas de automatización compatibles con SOCKS5
Enrutamiento a nivel de red donde el cliente no habla HTTP
Preguntas frecuentes

Preguntas frecuentes

Preguntas frecuentes sobre socks5 proxy.

Un proxy HTTP entiende HTTP y opera en la capa de aplicación; un proxy SOCKS5 opera en la capa de transporte y reenvía TCP/UDP sin procesar sin analizar el contenido. Para el scraping HTTPS la diferencia es principalmente estética (ambos tunelizan bytes cifrados), pero SOCKS5 es mejor cuando necesitas hacer proxy de protocolos no HTTP.