Drátové pole USERID v SOCKS4
Vysvětluje pole USERID v SOCKS4 a proč jeho výklad závisí na serveru, nikoli na ověřování uživatelského jména a hesla v SOCKS5.
SOCKS4 obsahuje řetězec USERID proměnné délky ukončený nulovým bajtem. Server tento identifikátor vykládá podle své zásady; protokol za ním nenásleduje dílčí vyjednávání uživatelského jména a hesla SOCKS5.
Požadavek SOCKS4 CONNECT na dokumentační adresu 203.0.113.8, port 443, s prázdným USERID je:
04 01 01 bb cb 00 71 08 00
Devátý bajt 0x00 ukončuje prázdné pole. Není to znak 0, jehož hodnota ASCII je 0x30. Pokud jej vynecháte, USERID zůstane nedokončený.
Co server očekává
Prázdný identifikátor může být vhodný, když služba žádný nevyžaduje. Pokud vyžaduje konkrétní identifikátor nebo jiný přístupový mechanismus, postupujte podle její dokumentované zásady. Poskytnuté jméno zakládá identitu jen tehdy, ověří-li je server.
SOCKS4a rozšiřuje zpracování cílového názvu hostitele; nepřidává ověřování SOCKS5. Služba vyžadující účet SOCKS5 potřebuje kompatibilního klienta a metodu. Vložení hesla do USERID SOCKS4 nemůže toto vyjednávání nahradit a může odhalit nesouvisející přihlašovací údaj.
Při odmítnutí zkontrolujte odděleně verzi SOCKS, požadovaný cíl a uživatelskou zásadu.