Serwer SOCKS5 może przyjąć połączenie TCP, a mimo to odrzucić żądanie dostępu do celu. Przeczytaj odpowiedź na właściwym etapie, zanim zdecydujesz, który punkt zawiódł.

Najpierw następuje wybór metody. Uwierzytelnianie nazwą użytkownika i hasłem, jeśli zostanie wybrane, ma własny wynik. Dopiero potem serwer odpowiada na CONNECT lub inne polecenie SOCKS. Wartości bajtu z jednego etapu nie wolno interpretować tabelą innego etapu.

Odpowiedzi na żądania rozróżniają błędy

Wartość odpowiedziZnaczenie w odpowiedzi na żądanie SOCKS5
0x01Ogólny błąd serwera.
0x02Połączenie niedozwolone przez zestaw reguł.
0x03Sieć nieosiągalna.
0x04Host nieosiągalny.
0x05Odmowa połączenia.
0x06Upłynął TTL.
0x07Polecenie nieobsługiwane.
0x08Typ adresu nieobsługiwany.

Na przykład odmowa na poziomie żądania jest zgłaszana po dotarciu do usługi SOCKS. Różni się od odmowy początkowego połączenia TCP z tą usługą przez system operacyjny.

Błąd typu adresu może dotyczyć reprezentacji IPv4, IPv6 lub nazwy hosta. Nie oznacza automatycznie, że cały punkt końcowy nie obsługuje SOCKS5. Podobnie nieobsługiwane polecenie UDP nie pozwala rozstrzygać o oddzielnym żądaniu TCP CONNECT.

Zbierz kontekst, dzięki któremu kod jest przydatny

Przy pisaniu zgłoszenia błędu zachowaj wraz z wynikiem adres proxy, polecenie, docelowy host i port, rodzinę adresów i tryb DNS. Jeśli zarządzasz punktem końcowym, przydają się serwerowe logi polityk. Odrzucenie przez reguły wymaga sprawdzenia odpowiedniego uprawnienia, nie zwiększenia limitu czasu połączenia.

Odpowiedź to raport serwera, a nie pełna niezależna diagnoza sieci docelowej. Sformułowania klientów też się różnią. Zapisz etap i źródłową odpowiedź, gdy są dostępne, zamiast polegać wyłącznie na krótkim przetłumaczonym komunikacie.

Powiązane artykuły