Czy istnieje prosty sposób, najlepiej za pomocą terminalu Linux, aby sprawdzić, czy serwer proxy Socks5 działa?
36
Jeśli sam utworzyłeś proxy, powinieneś przede wszystkim sprawdzić, czy jest otwarty port ( p
argument działa tylko wtedy, gdy dany proces jest twój lub jesteś rootem):
netstat -tlnp
Powinno to dać ci następujący wiersz: (Mam proxy localhost:8888
)
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN
Jeśli znalazłeś taką linię lub serwer proxy nie należy do Ciebie, spróbuj wysłać przez nią pakiety. Na przykład zamów stronę internetową z curl
:
curl --socks5 localhost:8888 binfalse.de
Powinny wypisać jakieś rzeczy HTML. Mam nadzieję, że pomoże to w poszukiwaniu błędów ;-)
Aux : Na mój przykład utworzyłem proxy za pomocą:
ssh -o ServerAliveInterval=60 -D8888 someone@somewhere
Zamień na someone
swoją nazwę użytkownika i somewhere
na serwer docelowy. Oczywiście korzystanie z OpenSSH to tylko jedna metoda z wielu możliwych serwerów proxy socks5.
someone@somewhere
swoją nazwą użytkownika i serwerem, np.ssh -D8888 YOURUSER@YOURHOST
;-)nestat -an
lubnetstat -an | grep LISTEN
jeśli masz grep na swojej ścieżce.curl
podpowiedź. FWIW, curl obsługuje również,--socks5-hostname
które jest podobne,--socks5
ale nie próbuje lokalnie rozwiązać nazwy hosta przesłanego adresu URL (co może być bardzo przydatne do łączenia się z intranetem).Aby uzyskać curl w celu rozwiązania DNS po drugiej stronie, zmień za
--socks5
pomocą--socks5-hostname
.Zobacz stronę podręcznika, aby uzyskać więcej informacji.
źródło
Następujące polecenie sprawdzi, czy proxy Socks 5 działa w
localhost:8080
:W przeciwnym razie upłynie limit czasu po 5 sekundach. Jeśli nie masz
timeout
polecenia, upuść je.źródło
Możesz połączyć się z netcat i postępować zgodnie z zasadami RFC 1928, aby rozmawiać z serwerem. Trzeba będzie jednak móc pisać i czytać znaki niedrukowalne lub zalogować je do pliku w celu dalszego zbadania.
Na przykład, aby sprawdzić, czy jest to serwer SOCKS5 i dowiedzieć się, którą z metod uwierzytelniania bez autoryzacji, gssapi lub usr + pwd obsługuje, wyślij 0x05 0x03 0x00 0x01 0x02. Serwer SOCKS5 przygotowany do użycia uwierzytelnienia usr + pwd odpowiedziałby 0x05 0x02.
Lub oto, jak sprawdzić, czy jest to serwer SOCKS5 i czy działa funkcja no-auth (metoda 0):
Po przerwaniu tego, pod koniec pliku out.txt powinien był wygenerować 0x05 0x00, jeśli serwer obsługuje tę metodę (0), lub 0x05 0xFF, jeśli nie.
źródło