Muszę sprawdzić, czy serwer OpenVPN (UDP) jest włączony i dostępny na danym hoście: porcie.
Mam tylko zwykły komputer z systemem Windows XP bez klienta OpenVPN (i bez szansy na jego zainstalowanie) i bez kluczy potrzebnych do połączenia z serwerem - po prostu wspólne narzędzia wiersza poleceń WinXP, przeglądarka i PuTTY.
Gdybym testował coś w rodzaju serwera SMTP lub POP3, użyłbym telnetu i sprawdziłby, czy odpowiada, ale jak to zrobić z OpenVPN (UDP)?
tls-auth
opcji konfiguracji, to jest NIEMOŻLIWE (jeśli nie masz przynajmniej zewnętrznego klucza opakowania)! Każdy pakiet z niepoprawnym podpisem HMAC zostanie odrzucony bez odpowiedzi przez serwer.Odpowiedzi:
Oto skorupa jednowarstwowa:
jeśli na drugim końcu jest openvpn, wyjście będzie
w przeciwnym razie nastąpi wyciszenie i przekroczenie limitu czasu po 10 sekundach lub wyświetlenie czegoś innego.
UWAGA: działa to tylko wtedy, gdy
tls-auth
opcja konfiguracji nie jest aktywna, w przeciwnym razie serwer odrzuca wiadomości z niepoprawnym HMAC.źródło
tls-auth
opcji konfiguracji, aby upuścić pakiety z niepoprawnym sygnałem HMAC.od -x -N 14
zamiastcat -v
jest o wiele bardziej przydatne, ponieważ możesz a) zobaczyć rzeczywistą zawartość binarną zamiast śmieci ASCII oraz b) natychmiast otrzymać każdy wiersz wyniku, gdy serwer wysyła każdy pakiet uzgadniania i zatrzymuje go od razu po pierwszym.-N 14
ponieważ pakiet uzgadniania ma 14 bajtów i po prostu się powtarza.Przepraszam, jeśli spóźniłem się z odpowiedzią;)
Wyślij pakiet udp o następującej treści:
38 $ 01 01 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00
Serwer musi coś odpowiedzieć.
Możesz fałszować pakiety udp za pomocą Pythona w następujący sposób:
źródło
tls-auth
.Możesz spróbować uruchomić następujące w CLI
Powinno to zawierać listę wszystkich procesów nasłuchujących na serwerze / systemie. Grep dla żądanego numeru portu
źródło
Dla każdego, kto zetknie się z tym, który próbuje monitorować
tls-auth
włączony serwer , możesz użyć skryptu python tutaj: https://github.com/liquidat/nagios-icinga-openvpnDane wyjściowe są sformatowane do użycia w Nagios lub Icinga, ale mogą być uruchamiane przez cokolwiek / każdego, pod warunkiem, że masz Python i plik kluczy tls.
Na przykład, jeśli używasz
SHA256
jako skrótu, użyłbyś czegoś takiego:python check-openvpn.py -p 1194 --tls-auth ta.key --digest SHA256 vpn-server.example.com
Uwaga: może być konieczne dodanie w
--tls-auth-inverse
zależności od wartości serwerakey-direction
.źródło
Jeśli możesz uzyskać pakiet poprawnego klienta OpenVPN do interakcji z serwerem OpenVPN, możesz modelować początkowy zestaw pakietów za pomocą czegoś takiego jak netcat, jak sugeruje TiZon.
Zasadniczo potrzebujesz wystarczającej ilości pierwszego pakietu, aby serwer mógł odpowiedzieć przynajmniej komunikatem o błędzie, więc nie musi być idealny, wystarczy.
Próbowałem wejść na http://pcapr.net , ale nie widziałem tam przykładu OpenVPN. Być może, jeśli ktoś twierdzi, że usługa jest aktywna, możesz poprosić tę osobę o pobranie transakcji.
źródło
jeśli masz skonfigurowane openvpn na nasłuchiwaniu tcp, to jest tak proste jak
zakładając, że 1194 jest portem, na którym nasłuchujesz
powinno to dać ci jakąś odpowiedź, aby pokazać, że serwer openvpn nasłuchuje
źródło