Forstå SOCKS5-koder for tilkoblingsfeil
Finn ut om SOCKS-forhandling, autentisering eller målet feilet før du tolker alle SOCKS-feil som en død proxy.
En SOCKS5-server kan godta TCP-tilkoblingen og likevel avvise forespørselen om å nå et mål. Les svaret i riktig fase før du avgjør hvilket endepunkt som feilet.
Først velges metode. Autentisering med brukernavn og passord har sitt eget resultat når den velges. Først deretter svarer serveren på CONNECT eller en annen SOCKS-kommando. En byteverdi fra én fase kan ikke tolkes med tabellen fra en annen.
Forespørselssvar skiller mellom feil
| Svarverdi | Betydning i SOCKS5-forespørselssvaret |
|---|---|
| 0x01 | Generell serverfeil. |
| 0x02 | Tilkoblingen tillates ikke av regelsettet. |
| 0x03 | Nettverket kan ikke nås. |
| 0x04 | Verten kan ikke nås. |
| 0x05 | Tilkoblingen ble avvist. |
| 0x06 | TTL er utløpt. |
| 0x07 | Kommandoen støttes ikke. |
| 0x08 | Adressetypen støttes ikke. |
En avvisning på forespørselsnivå meldes for eksempel etter at SOCKS-tjenesten er nådd. Det er forskjellig fra at operativsystemet avviser den første TCP-tilkoblingen til tjenesten.
En adressetypefeil kan gjelde IPv4-, IPv6- eller vertsnavnrepresentasjon. Det betyr ikke automatisk at hele endepunktet mangler SOCKS5-støtte. Tilsvarende sier en UDP-kommando som ikke støttes ingenting avgjørende om en separat TCP CONNECT-forespørsel.
Samle konteksten som gjør koden nyttig
Når du skriver en feilrapport, ta vare på proxyadresse, kommando, målvert og port, adressefamilie og DNS-modus sammen med resultatet. Serverens policylogger er nyttige hvis du administrerer endepunktet. En regelavvisning krever kontroll av gjeldende tillatelse, ikke en lengre tilkoblingstimeout.
Svaret er serverens rapport, ikke en fullstendig uavhengig diagnose av målnettverket. Klientenes ordlyd varierer også. Registrer fasen og det underliggende svaret når det er tilgjengelig, i stedet for å stole bare på en kort oversatt feilmelding.