Surowy skan Nmapa nie działa przez VPN, ale połączenie -sT tak?
Surowy skan pakietów i zwykłe połączenie TCP wymagają różnych uprawnień. Najpierw uruchom kontrolę połączenia, przeczytaj każdą opcję dosłownie, a potem zatrzymaj się na wyniku.
Strona ładuje się przez tunel, a skan portów zgłasza, że host jest niedostępny, i pierwsza myśl jest taka, że VPN coś blokuje. Zwykle nie blokuje niczego nowego. Oba testy proszą system operacyjny o różne możliwości i tylko jeden z nich wymaga surowego dostępu do pakietów. Ustal, która możliwość zawiodła, zanim dotkniesz tunelu.
Oddziel możliwość od tunelu
Zwykła aplikacja prosi jądro o otwarcie połączenia TCP, a jądro wykonuje uzgadnianie bez specjalnych uprawnień. Surowy skan sam buduje pakiety, co wymaga surowego gniazda lub sterownika przechwytywania w zależności od platformy. To kwestie uprawnień i sterowników, i istnieją niezależnie od tego, czy VPN jest podłączony.
Ta różnica wyjaśnia typową asymetrię. curl udaje się, bo ścieżka gniazda działa, natomiast skan SYN zawodzi, bo proces nie może otworzyć surowego gniazda na interfejsie tunelu. Wyjaśnia też odwrotny przypadek, w którym surowy skan zgłasza filtrowanie, bo ścieżka odrzuca sondę, a ścieżka aplikacji pozostaje dobra.
Żaden z wyników nie opisuje usługi zdalnej. Oba opisują jedną ścieżkę pod jedną metodą, więc trzymaj metodę przywiązaną do wniosku.
Uruchom kontrolę połączenia na jednym zatwierdzonym hoście
Wybierz jedyny host, który obejmuje twoje zadanie, a następnie użyj trybu, który nie wymaga surowego dostępu. Przykładowy cel tutaj to 198.51.100.24, przestrzeń dokumentacyjna zarezerwowana dla tego rodzaju ilustracji.
Jedna linia, jeden host, jeden port, bez etapu wykrywania:
nmap -sT -Pn -p 443 --unprivileged 198.51.100.24-sT wybiera pełne połączenie TCP, więc przechodzi tę samą ścieżkę jądra, której używa aplikacja, i nie wymaga sterownika przechwytywania. -Pn pomija wykrywanie hostów; nmap nadal wykonuje rozwiązywanie warstwy łącza dla celów w segmencie lokalnym, więc opcja nie jest obietnicą zerowego ruchu wstępnego. --unprivileged każe nmapowi założyć, że nie ma uprawnień surowych ani podsłuchu, co zmienia metodę i niczego nie daje.
Czytaj każdą opcję jako jedną zmianę, nie jako naprawę
Traktuj każdą opcję jako stwierdzenie o metodzie. Żadna z -sT, -Pn ani --unprivileged nie dodaje trasy, nie otwiera zdalnej zapory i nie waliduje certyfikatu. Skan połączenia wykonuje też prawdziwe uzgadnianie, które usługa rejestruje, więc zatwierdzona kontrola i niezatwierdzone przemiatanie wyglądają z serwera tak samo poza zakresem i tempem. Gromadzenie opcji, aż zmieni się wynik, to sposób, w jaki problem metody zostaje zapisany jako ustalenie sieciowe.
Gdy wynik mówi zamknięte, coś odpowiedziało resetem, a to inne ustalenie niż cisza. Gdy wynik mówi filtrowane, urządzenie odrzuciło sondę lub jej odpowiedź, a VPN może być przypadkowy. Zapisz dokładne sformułowanie, bo werdykt etapu wykrywania i awaria na poziomie sondy wskazują na różne warstwy.
Jeśli tryb uprzywilejowany jest naprawdę potrzebny, właściciel platformy decyduje, czy uprawnienie, sterownik i układ interfejsów są obsługiwane. Podniesienie tego samego wywołania nie zmienia jego metody.
Zatrzymaj się na wyniku transportu, a potem przetestuj usługę
Ukończone uzgadnianie odpowiada na jedno pytanie o jeden adres, port, źródło i moment. Nie dowodzi, że backend jest zdrowy, bo równoważnik obciążenia lub proxy przednie może przyjąć połączenie, podczas gdy aplikacja za nim nie działa.
Kontynuuj własnym klientem usługi, aby tożsamość TLS i zachowanie aplikacji były obserwowane jako osobne fakty:
openssl s_client -connect 198.51.100.24:443 -servername staging.example.net </dev/null 2>/dev/null | openssl x509 -noout -subject -dates
curl -sS -o /dev/null -w '%{http_code}\n' https://staging.example.net/healthJeszcze jeden nawyk utrzymuje wynik użytecznym. Zapisz dokładne polecenie, użyty adres źródłowy i czas, bo wyniku transportu bez tego kontekstu nie można odtworzyć ani porównać.
Jeśli certyfikat podaje hosta, którego się nie spodziewałeś, transport zadziałał i routing nigdy nie był problemem; usterka leży w hostingu wirtualnym lub DNS. Jeśli uzgadnianie zawiedzie, zapisz lokalny łańcuch błędu zamiast uogólniać o tunelu. Trzymaj notatkę o zakresie obok wyniku, bo następna osoba musi wiedzieć, która metoda go wytworzyła.