Jak używać Nmap do śledzenia trasy i odczytywania ścieżki sieciowej
Aby użyć Nmapa do śledzenia trasy, uruchom polecenie nmap -sn --traceroute scanme.nmap.org. Ta -snopcja pomija skanowanie portów, podczas gdy Nmap sprawdza, czy host jest aktywny; --tracerouteprosi o wskazanie trasy do odpowiadającego hosta. Zastąp przykładowy host tylko systemem, którego jesteś właścicielem, administrujesz lub masz uprawnienia do skanowania. To polecenie, które pokazuje tylko ścieżkę, sprawia, że test jest węższy niż domyślne skanowanie portów przez Nmapa.
Narzędzie traceroute ujawnia odpowiadające routery pomiędzy komputerem skanującym i miejscem docelowym.
Co pokazuje Nmap traceroute
Narzędzie traceroute szacuje ścieżkę sieciową, wysyłając pakiety z różnymi wartościami czasu życia (TTL) lub limitu przeskoków IP. Każdy router zmniejsza tę wartość; gdy osiągnie ona zero, router może zwrócić komunikat ICMP „Time Exceeded” (Przekroczono czas). Narzędzie skanujące wykorzystuje te odpowiedzi do identyfikacji przeskoków i pomiaru czasu obiegu (RTT). TTL zlicza przeskoki, a nie sekundy.
Metoda Nmapa różni się od klasycznej traceroutemetody stosowanej w systemie Windows tracert. Nmap wykonuje traceroute po skanowaniu i na podstawie wyników wybiera port i protokół, który prawdopodobnie dotrze do celu. Rozpoczyna od wysokiego TTL i zlicza w dół, podczas gdy wiele tradycyjnych narzędzi traceroute rozpoczyna od jednego i zlicza w górę. W rezultacie wynik trasy Nmapa jest powiązany z wykonanym skanowaniem i sondowaniem; nie jest to kompletna mapa wszystkich możliwych tras ani ścieżek powrotnych.
Uruchomienie traceroute Nmap w czterech krokach
1. Zainstaluj Nmap i sprawdź, czy działa
Pobierz Nmap z oficjalnej strony pobierania Nmap . Wybierz instalator dla systemu Windows lub macOS albo postępuj zgodnie z oficjalnymi instrukcjami instalacji dla swojej dystrybucji Linuksa. Otwórz wiersz poleceń, program PowerShell, terminal lub powłokę Linuksa i wpisz nmap --version. Jeśli polecenie nie zostanie znalezione, dokończ instalację lub dodaj Nmap do ścieżki poleceń.
Niektóre funkcje skanowania i traceroute wymagają podwyższonych uprawnień przechwytywania pakietów lub raw-socket. W systemach macOS i Linux, spróbuj poprzedzić polecenie prefiksem , sudojeśli Nmap zgłasza problem z uprawnieniami; w systemie Windows, w razie potrzeby, otwórz terminal z uprawnieniami administratora. Używaj tylko poziomu uprawnień wymaganego do autoryzowanego testu.
2. Wybierz hosta, którego możesz przetestować
Aby zapewnić bezpieczeństwo podczas ćwiczeń, projekt Nmap wyraźnie zezwala na skanowanie domeny Nmap scanme.nmap.org. To uprawnienie jest ograniczone: nie należy testować exploitów ani przeprowadzać testów typu „odmowa usługi” (DOS), a liczba skanowań nie powinna przekraczać kilkunastu dziennie. W przypadku innych hostów należy najpierw uzyskać zgodę właściciela sieci. Wytyczne prawne i dotyczące użytkowania Nmap w projekcie wyjaśniają zakres hosta testowego i dlaczego uprawnienia do skanowania są tak ważne.
3. Zacznij od polecenia zawierającego tylko ścieżkę
Uruchom to polecenie w systemie macOS lub Linux:
sudo nmap -sn --traceroute scanme.nmap.org
W systemie Windows pomiń tę opcję sudoi w razie potrzeby użyj terminala z podwyższonymi uprawnieniami:
nmap -sn --traceroute scanme.nmap.org
Użyj , -snaby --traceroutezażądać wykrycia hosta i śledzenia ścieżki bez skanowania portów.
Dokumentacja Nmapa dotycząca wykrywania hostów dokumentuje obie opcje. Nmap nadal wysyła sondy sieciowe; -snoznacza to „brak skanowania portów”, a nie „brak ruchu”. Jeśli chcesz zbadać konkretną usługę, użyj wąskiego skanowania portów na autoryzowanym hoście, takim jak nmap -p 443 --traceroute your-authorized-host.example. To sprawdza port TCP 443 przed śledzeniem i może wysłać więcej ruchu niż polecenie „tylko ścieżka”.
4. Przeczytaj listę chmielów i zapisz ją, jeśli okaże się przydatna
Wyszukaj TRACEROUTEsekcję i jej kolumny HOP, RTT, i ADDRESS. Numer przeskoku oznacza obserwowaną pozycję na trasie. RTT to czas potrzebny sondy na dotarcie do tego przeskoku i powrót odpowiedzi; nie jest to pomiar jednokierunkowy ani bezpośredni pomiar samego łącza. Adresy mogą być wyświetlane jako numery IP lub, po pomyślnym rozpoznaniu nazwy, jako nazwy hostów.
Przykładowy układ: adresy przeskoków i czasy odpowiedzi różnią się w zależności od sieci i pory dnia.
Aby zachować kopię w postaci zwykłego tekstu do porównania, dodaj opcję wyjściową Nmapa:
Porównując wyniki, uruchom to samo polecenie z tej samej sieci źródłowej. Zmieniona trasa może odzwierciedlać zmiany w routingu, równoważeniu obciążenia lub tymczasowym filtrowaniu, a nie sam błąd.
Rozwiązywanie problemów z brakującymi lub mylącymi przeskokami
Pojawia się gwiazdka:* * * oznacza to, że Nmap nie otrzymał sensownej odpowiedzi na to zapytanie przed upływem limitu czasu. Router może filtrować lub ograniczać przepustowość odpowiedzi i nadal przekazywać ruch, więc jeden cichy przeskok nie dowodzi, że ścieżka jest uszkodzona.
Śledzenie się nie rozpoczyna: Sprawdź, czy nazwa hosta jest rozpoznawana, czy miejsce docelowe odpowiada na sondy wykrywania i czy posiadasz wymagane uprawnienia. Jeśli kontrolujesz miejsce docelowe, sprawdź jego zaporę sieciową i reguły sieciowe między nim a skanerem.
Nazwy spowalniają wyświetlanie: Dodaj -n, aby pominąć wyszukiwania odwrotne DNS, na przykład sudo nmap -n -sn --traceroute scanme.nmap.org.
Skoki opóźnienia na jednym przeskoku: Traktuj to jako wskazówkę, a nie dowód przeciążenia routera. Odpowiedzi ICMP mogą być opóźnione lub mieć niższy priorytet, a trasy wychodzące i powrotne mogą się różnić.
Cichy, pośredni przeskok może nadal przekazywać ruch; późniejsze przeskoki mogą odpowiadać normalnie.
Nmap --traceroutejest przydatny, gdy potrzebujesz informacji o ścieżce wraz z wynikami wykrywania hostów lub skanowania portów. Odczytaj listę przeskoków jako dowód z jednego źródła, w tym samym czasie, za pomocą określonych sond. Zapory sieciowe, równoważenie obciążenia i asymetryczny routing mogą ukrywać lub modyfikować niektóre elementy obrazu.