Por que a autenticación por contrasinal de SOCKS5 comeza coa versión 1
Distinga o saúdo de SOCKS5 do campo de versión na súa subnegociación de usuario/contrasinal.
Un cliente SOCKS5 comeza coa versión 5 e logo envía a versión 1 durante a autenticación por contrasinal. Iso non é necesariamente unha degradación nin un proxy incorrecto.
O primeiro intercambio negocia o método de autenticación de SOCKS5. Cando se escolle usuario/contrasinal, o RFC 1929 define unha subnegociación aparte cuxo campo de versión é 0x01.
Esa solicitude de autenticación inclúe lonxitudes e bytes para o usuario e o contrasinal. O servidor devolve a versión da subnegociación e un estado. Só despois de que a autenticación teña éxito o cliente envía a solicitude de destino SOCKS5.
Manteña os dous intercambios separados ao ler unha traza ou implementar un cliente. Repetir 0x05 en todas partes porque o servizo se chama SOCKS5 produce a mensaxe de autenticación incorrecta.
Un estado de contrasinal correcto tampouco significa que o destino solicitado estea permitido. A seguinte resposta SOCKS aínda pode rexeitar esa conexión.
Por último, este método de usuario/contrasinal non cifra as súas credenciais. O byte de versión identifica un formato de mensaxe, non un modo de inicio de sesión cifrado ou máis forte.