Förstå SOCKS5-koder för anslutningsfel
Avgör om SOCKS-förhandling, autentisering eller målet misslyckades innan du tolkar varje SOCKS-fel som en död proxy.
En SOCKS5-server kan acceptera TCP-anslutningen men ändå avvisa begäran att nå ett mål. Läs svaret i rätt steg innan du avgör vilken slutpunkt som misslyckades.
Först väljs metod. Autentisering med användarnamn och lösenord har, när den väljs, ett eget resultat. Först därefter returnerar servern svaret för CONNECT eller ett annat SOCKS-kommando. Ett bytevärde från ett steg kan inte tolkas med ett annat stegs tabell.
Begäransvar skiljer mellan olika fel
| Svarsvärde | Betydelse i SOCKS5-begäransvaret |
|---|---|
| 0x01 | Allmänt serverfel. |
| 0x02 | Anslutningen tillåts inte av regeluppsättningen. |
| 0x03 | Nätverket kan inte nås. |
| 0x04 | Värden kan inte nås. |
| 0x05 | Anslutningen nekades. |
| 0x06 | TTL har löpt ut. |
| 0x07 | Kommandot stöds inte. |
| 0x08 | Adresstypen stöds inte. |
En vägran på begäransnivå rapporteras exempelvis efter att SOCKS-tjänsten har nåtts. Det skiljer sig från att operativsystemet nekar den inledande TCP-anslutningen till tjänsten.
Ett adresstypfel kan gälla en representation som IPv4, IPv6 eller värdnamn. Det betyder inte automatiskt att hela slutpunkten saknar SOCKS5-stöd. På samma sätt säger ett UDP-kommando som inte stöds inget avgörande om en separat TCP CONNECT-begäran.
Samla sammanhanget som gör koden användbar
När du skriver en felrapport, spara proxyadress, kommando, målvärd och port, adressfamilj och DNS-läge med resultatet. Serverns policyloggar är användbara om du administrerar slutpunkten. En regelvägran kräver granskning av tillämplig behörighet, inte en längre anslutningstimeout.
Svaret är serverns rapport, ingen fullständig oberoende diagnos av målnätverket. Klienternas formuleringar varierar också. Registrera steget och det underliggande svaret när de finns, i stället för att bara lita på ett kort översatt felmeddelande.