SOCKS5-Verbindungsfehlercodes verstehen
Erkennen Sie, ob SOCKS-Aushandlung, Authentifizierung oder das Ziel scheitert, bevor Sie jeden SOCKS-Fehler als ausgefallenen Proxy werten.
Ein SOCKS5-Server kann Ihre TCP-Verbindung annehmen und trotzdem die Anfrage zum Ziel ablehnen. Lesen Sie die Antwort in der richtigen Phase, bevor Sie entscheiden, welcher Endpunkt gescheitert ist.
Zuerst erfolgt die Methodenwahl. Eine gewählte Benutzername/Passwort-Authentifizierung hat ihr eigenes Ergebnis. Erst danach antwortet der Server auf CONNECT oder einen anderen SOCKS-Befehl. Ein Bytewert aus einer Phase darf nicht anhand der Tabelle einer anderen Phase ausgelegt werden.
Anfrageantworten kennzeichnen unterschiedliche Fehler
| Antwortwert | Bedeutung in der SOCKS5-Anfrageantwort |
|---|---|
| 0x01 | Allgemeiner Serverfehler. |
| 0x02 | Verbindung laut Regelsatz nicht erlaubt. |
| 0x03 | Netzwerk nicht erreichbar. |
| 0x04 | Host nicht erreichbar. |
| 0x05 | Verbindung abgelehnt. |
| 0x06 | TTL abgelaufen. |
| 0x07 | Befehl nicht unterstützt. |
| 0x08 | Adresstyp nicht unterstützt. |
Eine Ablehnung auf Anfrageebene wird beispielsweise gemeldet, nachdem der SOCKS-Dienst erreicht wurde. Das unterscheidet sich davon, dass Ihr Betriebssystem die anfängliche TCP-Verbindung zu diesem Dienst ablehnt.
Ein Adresstypfehler kann die Darstellung als IPv4, IPv6 oder Hostname betreffen. Er bedeutet nicht automatisch, dass der gesamte Endpunkt SOCKS5 nicht unterstützt. Ebenso sagt ein nicht unterstützter UDP-Befehl nichts Abschließendes über eine separate TCP-CONNECT-Anfrage aus.
Den Kontext erfassen, der den Code nützlich macht
Notieren Sie beim Schreiben eines Fehlerberichts Proxyadresse, Befehl, Zielhost und Port, Adressfamilie und DNS-Modus zusammen mit dem Ergebnis. Verwalten Sie den Endpunkt, helfen serverseitige Richtlinienlogs. Eine Ablehnung durch den Regelsatz verlangt die Prüfung der geltenden Berechtigung, keine Erhöhung des Verbindungszeitlimits.
Die Antwort ist der Bericht des Servers, keine vollständige unabhängige Diagnose des Zielnetzes. Auch die Formulierungen der Clients variieren. Erfassen Sie nach Möglichkeit Phase und zugrunde liegende Antwort, statt sich nur auf eine kurze übersetzte Fehlermeldung zu verlassen.