Het USERID-veld van SOCKS4 op de draad
Legt het USERID-veld van SOCKS4 uit en waarom de interpretatie ervan van de server afhangt en niet van SOCKS5-authenticatie met gebruikersnaam/wachtwoord.
SOCKS4 bevat een USERID-string van variabele lengte die wordt afgesloten door een nulbyte. De server interpreteert die identificatie volgens zijn beleid; het protocol laat er geen SOCKS5-subonderhandeling voor gebruikersnaam/wachtwoord op volgen.
Een SOCKS4 CONNECT-verzoek naar het documentatieadres 203.0.113.8, poort 443, met een lege USERID is:
04 01 01 bb cb 00 71 08 00
De negende byte, 0x00, beëindigt het lege veld. Het is niet het teken 0, waarvan de ASCII-waarde 0x30 is. Wordt het weggelaten, dan blijft USERID onvoltooid.
Wat de server verwacht
Een lege identificatie kan passend zijn wanneer de dienst er geen vereist. Als deze een bepaalde identificatie of een ander toegangsmechanisme vereist, volg dan het gedocumenteerde beleid. Een opgegeven naam stelt alleen identiteit vast als de server die valideert.
SOCKS4a breidt de afhandeling van de bestemmingshostnaam uit; het voegt geen SOCKS5-authenticatie toe. Een dienst die een SOCKS5-account vereist, heeft een compatibele client en methode nodig. Een wachtwoord in de SOCKS4 USERID zetten kan die uitwisseling niet vervangen en kan een niet-gerelateerde inloggegevens onthullen.
Controleer bij een weigering de SOCKS-versie, de gevraagde bestemming en het gebruikersbeleid afzonderlijk.