Interpretar los códigos de fallo de conexión SOCKS5
Identifique si falló la negociación SOCKS, la autenticación o el destino antes de considerar que cualquier error SOCKS indica un proxy caído.
Un servidor SOCKS5 puede aceptar la conexión TCP y aun así rechazar la solicitud de acceso a un destino. Lea la respuesta en la etapa correcta antes de decidir qué endpoint falló.
Primero se selecciona el método. La autenticación con usuario y contraseña, si se elige, tiene su propio resultado. Solo después devuelve el servidor la respuesta de CONNECT u otro comando SOCKS. El valor de un byte de una etapa no puede interpretarse con la tabla de otra.
Las respuestas a solicitudes identifican fallos diferentes
| Valor de respuesta | Significado en la respuesta a una solicitud SOCKS5 |
|---|---|
| 0x01 | Fallo general del servidor. |
| 0x02 | Conexión no permitida por las reglas. |
| 0x03 | Red inalcanzable. |
| 0x04 | Host inalcanzable. |
| 0x05 | Conexión rechazada. |
| 0x06 | TTL vencido. |
| 0x07 | Comando no admitido. |
| 0x08 | Tipo de dirección no admitido. |
Por ejemplo, un rechazo a nivel de solicitud se comunica tras llegar al servicio SOCKS. Es distinto de que el sistema operativo rechace la conexión TCP inicial a ese servicio.
Un error de tipo de dirección puede afectar a una representación IPv4, IPv6 o de nombre de host. No significa automáticamente que el endpoint completo carezca de soporte SOCKS5. Del mismo modo, un comando UDP no admitido no permite concluir nada definitivo sobre otra solicitud TCP CONNECT.
Recopilar el contexto que hace útil el código
Al escribir un informe de error, guarde junto al resultado la dirección del proxy, el comando, el host y puerto de destino, la familia de direcciones y el modo DNS. Los registros de políticas del servidor ayudan si administra el endpoint. Un rechazo por reglas requiere revisar el permiso aplicable, no aumentar el tiempo de espera de conexión.
La respuesta es el informe del servidor, no un diagnóstico independiente completo de la red de destino. La redacción de los clientes también varía. Registre la etapa y la respuesta subyacente cuando estén disponibles, en vez de depender solo de un breve mensaje de error traducido.