Samouczek podstawowych NMAP

Samouczek podstawowych NMAP

„Ten samouczek wyjaśnia, jak działa NMAP i jak go zainstalować i używać z terminalu.

NMAP (Network Mapper) jest prawdopodobnie najczęściej używanym skanem sieciowym, przynajmniej wśród użytkowników Linuksa."

NMAP umożliwia wykonanie następujących zadań:

  • Skanowanie portów
  • Skanowanie zakresu IP
  • Gospodarze odkrycia
  • Scan podsieci
  • Diagnostyka problemów sieciowych
  • Wykrywanie podatności
  • Wykorzystanie wrażliwości

Ten samouczek obejmuje skanowanie portów, odkrycie hosta i skanowanie zakresów i IP i podsieci. Ostatecznie czytelnik może kontynuować linki skupione na NMAP w celu wykrywania i wykorzystania podatności na NMAP NSE (silnik skryptowy NMAP).

Treść jest wysoce zoptymalizowana dla użytkowników bez wcześniejszego doświadczenia z NMAP. Czytając ten samouczek i stosując praktyczne przykłady, czytelnik zdobyje wystarczającą wiedzę na temat działania NMAP, jego wykorzystania i zrozumieniu wyników, aby kontynuować zaawansowane odczyty użytkowania zalecane po tej treści.

Wszystkie kroki opisane poniżej zawierają zrzuty ekranu, co ułatwi każdemu użytkownikowi Linux, aby śledzić je niezależnie od poziomu doświadczenia.

Indeks:

  • Instalowanie NMAP
  • Jak działają podstawowe typy skanowania NMAP
  • NMAP Port States and Ports Scan
  • Definiowanie celów w NMAP
  • Odkrycie gospodarza z NMAP

Instalowanie NMAP (ze źródeł, repozytoriów dystrybucji opartych na Debian i Redhat)

W tej sekcji wyjaśniono, jak zainstalować NMAP w dystrybucjach Linux opartych na Debian, takich jak Ubuntu, Redhat oparte na Linux, takie jak Centos i ze źródeł dla wszystkich dystrybucji Linux.

Aby zainstalować NMAP w dystrybucjach Linux opartych na Debian, wykonaj następujące polecenie.

sudo apt instal NMAP

W przypadku dystrybucji opartych na Redhat uruchom polecenie pokazane na zrzucie ekranu poniżej.

sudo yum instaluj nmap

Aby skompilować NMAP ze źródeł, odwiedź https: // nmap.org/pobierz.HTML#Źródło i pobierz ostatnią stabilną wersję NMAP z linku znajdującego się w sekcji pokazanej na zrzucie ekranu poniżej (strzałka).

Po pobraniu wyodrębnij TAR.plik BZE2, jak pokazano poniżej.

Notatka: Zastępować <7.93> Z pobraną wersją NMAP.

TAR -xf NMAP -7.93.smoła.BZ2

Po wyodrębnianiu przejdź do katalogu NMAP.

cd nmap-/

Wykonaj skrypt konfiguracyjny.

./skonfiguruj

Na koniec zakończ kompilację, wykonując robić I Zrób instalację.

sudo make && tworz instalację

Jak działają podstawowe typy skanowania NMAP

Regularne skanowanie NMAP są przeprowadzane przez TCP I Syn Skanowanie. Kiedy jest proces skanowania TCP, Połączenie jest ustanawiane z celem. Z Syn Skanuj, połączenie jest anulowane lub upuszczane przed ustaleniem.

Poniższy rysunek pokazuje, w jaki sposób ustalone są połączenia: Po pierwsze, komputer (PC 1) Próba ustalenia połączenia wysyła plik Syn pakiet proszący do docelowego urządzenia do synchronizacji. Jeśli urządzenie docelowe (PC 2) jest dostępne do nawiązania połączenia, odpowiada zarówno innym pakiecie Syn, pozwalając na synchronizację, jak i z Ack (Potwierdzenie) pakiet potwierdzający otrzymanie pierwszego Syn pakiet wysłany przez komputer, który żądał połączenia, a następnie komputer, który żądał połączenia (PC 1), wysyłał Ack pakiet potwierdzający odbiór obu Syn I Ack pakiety wysyłane przez urządzenie docelowe (PC 2).

Po nawiązaniu połączenia jest wykrywane przez zapory ogniowe i zalogowane; Dlatego Syn Skan został wdrożony, Syn lub skan stealth wysyła Syn pakiet i po otrzymaniu odpowiedzi docelowej zamiast odpowiadania za pomocą Ack pakiet, wysyła RST (zresetować) pakiet, aby anulować połączenie, zanim zostało ono ustalone, jak pokazano na poniższym obrazku:

W ten sposób połączenie nie jest zalogowane, ale nadal musisz poradzić sobie z systemami wykrywania wtargnięcia Syn Możliwości wykrywania pakietów. Aby uniknąć wykrycia, możesz użyć technik skanowania Stealth.

Fazy ​​skanowania NMAP

NMAP przechodzi 11 etapów podczas procesu skanowania w zależności od przekazanych flag; Niektóre z nich są opcjonalne zgodnie z określonymi parametrami. Na przykład skrypty przed i po skoku są wykonywane tylko wtedy, gdy użytkownik wdraża NSE do wykrywania lub wykorzystania podatności.

11 możliwych faz znajduje się poniżej:

  1. Skrypt wstępny: Opcja „Wstępne skanowanie skryptu” wywołuje skrypty z silnika skryptowego NMAP (NSE) dla fazy wstępnej; Ten etap ma miejsce tylko wtedy, gdy używa się NSE.
  2. Wyliczenie celu: W tej fazie NMAP przetwarza informacje o celach do skanowania, takie jak adresy IP, hosty, zakresy IP itp.
  3. Odkrycie gospodarza (skanowanie ping): NMAP dowiaduje się, jakie cele są online lub są osiągalne.
  4. Rozdzielczość odwrotnego DNS: NMAP szuka nazw hostów dla adresów IP.
  5. Skanowanie portów: NMAP odkryje porty i ich status: Otwórz, zamknięte lub filtrowane.
  6. Wykrywanie wersji: W tej fazie NMAP spróbuje nauczyć się wersji oprogramowania działającego w otwartych portach odkrytych w poprzedniej fazie, na przykład jaką wersję Apache lub FTP.
  7. Wykrywanie systemu operacyjnego: NMAP próbuje wykryć system operacyjny celu.
  8. Traceroute: NMAP odkryje trasę celu w sieci lub wszystkie trasy w sieci.
  9. Skanowanie skryptów: Ta faza jest opcjonalna; W tej fazie wykonywane są skrypty NSE; Skrypty NSE można wykonać przed skanowaniem, podczas skanowania, a po nim, ale są opcjonalne.
  10. Wyjście: NMAP pokazuje nam informacje na temat zebranych danych.
  11. Skrypt po skanowaniu: Opcjonalna faza, jeśli skrypty zostały zdefiniowane do uruchomienia po skanie.

Prosty skan NMAP bez flagi innej niż -v (Gadatość) pokaże niektóre z wcześniej wymienionych faz.

Notatka: Gdy domyślnie nie są określone porty, NMAP skanuje najczęściej używane 1000 portów, w tym wszystkie protokoły.

nmap -v Linuxhint.com

Stany portowe i typy skanowania portów z NMAP

Jedną z głównych funkcji NMAP jest możliwość skanowania portów uczenia się stanu, słuchającej wersji oprogramowania, a nawet wykorzystania portów jako warunków dla masywnych lub wielu skanów IP.

Podczas skanowania dla usług NMAP może zgłosić do 6 stanów lub warunków zeskanowanych portów:

  • Otwarty: Port jest otwarty, a aplikacja go słuchała.
  • Zamknięte: Port jest zamknięty i żadna aplikacja nie słucha.
  • Przefiltrowany: Zapora zapobiega dotarciu NMAP do portu.
  • Bez filtra: Port jest dostępny, ale NMAP nie jest w stanie sprawdzić swojego stanu.
  • Otwórz | filtrowane: NMAP nie jest w stanie ustalić, czy port jest otwarty czy filtrowany.
  • Zamknięte | filtrowane: NMAP nie jest w stanie ustalić, czy port jest zamknięty lub filtrowany.

Jak powiedziano w poprzedniej sekcji. Gdy użytkownik nie określa portów, domyślnie NMAP skanuje 1000 najpopularniejszych i używanych portów.

Najbardziej podstawową flagą NMAP do określania portu jest -P, a następnie numer portu lub protokół.

W praktycznym przykładzie poniżej użytkownik skanuje port 22 na celu Linuxhint.com.

nmap -p 22 Linuxhint.com

Jak widać na powyższym zrzucie ekranu, port 22 jest filtrowane przez zaporę ogniową.

Zamiast numeru portu użytkownik może również zdefiniować nazwę protokołu. Poniżej użytkownika wykonuje ten sam skan, ale określa nazwę protokołu ssh Zamiast numeru portu 22.

nmap -p ssh linuxhint.com

Istnieją flagi i znaki, aby zdefiniować więcej niż jeden konkretny port do skanowania. Przecinek (,) pozwala na zdefiniowanie różnych portów z różnych zakresów.

Na zrzucie ekranu poniżej użytkownik używa przecinków do skanowania portów 22, 80 i 179. Jak widać, port 80 został zdefiniowany przez jego nazwę protokołu, http.

NMAP -p 22, HTTP, 179 Linuxhint.com

Jak widać, port 80 został otwarty, podczas gdy reszta została przefiltrowana przez zaporę ogniową.

Łącznik jest ważną postacią podczas skanowania zarówno zakresu portu, jak i IP.

W poniższym przykładzie zaimplementowano łącznik w celu zdefiniowania zakresu portów między 21 a 30.

nmap -p 20-30 Linuxhint.com

NMAP umożliwia definiowanie więcej niż zakres portów poprzez wdrożenie zarówno przecinków, jak i łączników, jak pokazano poniżej, gdzie porty wynosi od 70 do 90 i od 20 do 40.

nmap -p 70-90,20-40 Linuxhint.com

Podczas zakresu skanowania użytkownika może wykluczyć określone porty lub zakresy z procesu skanowania, wdrażając -wyklucz porty flaga.

W poniższym przykładzie użytkownik skanuje zakres portu od portu 20 do portu 80, ale wyklucza porty 30 do 40. Użytkownik może również wykluczyć pojedynczy port lub różne porty oddzielone przecinkiem.

nmap -p 20-80 Linuxhint.com-exclude-porty 30-40

Jeśli użytkownik chce zeskanować wszystkie porty w celu, ma dwie opcje. Może zdefiniować cały zakres od 1 do 65535, jak pokazano poniżej.

NMAP -P0-65535 192.168.0.1

Najbardziej praktyczną opcją skanowania wszystkich portów jest wdrożenie dwóch łączników, przed i po P, jak pokazano niżej.

nmap -p- 192.168.0.1

Definiowanie celów w NMAP

W tej sekcji opisano różne techniki definiowania celów skanowania, w tym wiele celów.

W poprzednim rozdziale użyto łączników do definiowania zakresów portów.

Łączniki można również użyć do definiowania zakresów IP, jak pokazano na zrzucie ekranu poniżej, gdzie użytkownik definiuje zakres IP, zaczynając od 192.168.0.1 i kończąc na 192.168.0.120.

NMAP 192.168.0.1-120

W poniższym przykładzie dwa zakresy są zdefiniowane w dwóch ostatnich oktetach (200-210 i 80-90).

NMAP -p80,22,443 186.33.200-210.80-90

Użytkownicy mogą korzystać z Cidr format. W poniższym przykładzie podsieć /24 jest skanowana.

-SS Flaga instruuje NMAP, aby wykonał Syn skanować niewykryte przez zapory ogniowe.

Notatka: Syn Skan wymaga przywilejów korzeniowych.

sudo nmap -ss 192.168.0.0/24

W poniższym przykładzie wdrażana jest Wildcard (*), aby poinstruować NMAP, aby zeskanował cały ostatni okettowy adres IP, od 0 do 255.

-Sn (Ping Sweep) Flag instruuje NMAP, aby pominąć skanowanie portów, ograniczając odkrycie gospodarza.

Nmap -Sn 192.168.0.*

Na następnym zrzucie ekranu użytkownik wdraża dwie dzikie karty, aby zeskanować dwa ostatnie oktety. -sp (Ping Sweep) Flaga jest równoważna z powyższym ( -Sn Flaga zastępuje -sp),

Nmap -sp 192.168.*.*

Wildcards i łączniki można łączyć w celu definicji celów niestandardowych.

Nmap -sp 186.33.205-210.*

Cele można również załadować z listy tekstu celu.

Poniższa lista jest nazwana Scantargets.tekst i zawiera nazwę domeny, adres IP, podsieć i zakresy IP zdefiniowane zarówno z łącznikiem, jak i.

-il (Lista) Flaga, a następnie ścieżka do listy celów, uruchomi skanowanie w stosunku do wymienionych celów w pliku.

nmap -sn -il santargets.tekst

Użytkownik może skanować cele zdefiniowane na liście, jednocześnie wykluczając określone.

W poniższym przykładzie użytkownik skanuje cele zdefiniowane w Scantargets.tekst plik, pomijając cel 192.168.0.0/24 z -wykluczać opcja.

nmap -sn -il santargets.TXT -Exclude 192.168.0.0/24

-ir (Losowe) Flaga instruuje NMAP, aby skanować losowe cele. Z tą flagą skany NMAP losowo wygenerowały cele, z których wiele może być martwymi gospodarzami.

Po tej flacie musi następować liczba losowych celów, które użytkownik chce wygenerować.

W poniższym przykładzie, -ir Flaga służy do skanowania 100 losowych celów.

nmap -ir 100

Odkrycie gospodarza z NMAP

Niektóre opcje odkrywania hosta zostały już zaimplementowane w poprzedniej sekcji z flagami -Sn I -sp, który instruuje NMAP, aby pominąć proces skanowania portów, ograniczając się do odkrywania żywych gospodarzy.

Istnieją dodatkowe flagi do wykonywania zadań odkrywania za pomocą NMAP.

-Ps (Syn Ping) Flaga wysyła pustą TCP pakiet z Syn Zestaw flagi. Na wypadek, gdyby port zdalny jest otwarty, gdy cel odpowiada Syn/Ack pakiet, NMAP anuluje połączenie, wysyłając RST pakiet zamiast Ack jeden.

Nmap -ps 192.168.0.0/24

ROCZNIE (Ack ping) wysyła TCP pakiet z Ack Zestaw flagi. Ten pakiet wysyła komunikaty potwierdzenia do nieistniejących połączeń generujących RST pakiety od zdalnego hosta, ujawniając jego istnienie.

nmap -pn -pa50-100 NIC.ar

-Pu (UDP Ping) Wysyła flaga UDP pakiety na zdalne adresy. Jeśli porty nie są określone, pakiety są wysyłane do portów 40 i 125.

sudo nmap -pu 192.168.0.0/24

Wysyła pakiety IP z nagłówkami innego protokołu. Jeśli nie określone, domyślnie nagłówki są ICMP, IGMP, I IP-in-IP protokoły.

sudo nmap -po 192.168.0.0/24

Kolejnym zalecanym odczytem, ​​aby kontynuować NMAP, to flagi NMAP i to, co robią, co opisuje dodatkowe flagi i wprowadza czytelnika do NSE (silnik Scripting NMAP).

Wniosek

Jak widać, NMAP jest bardzo potężnym narzędziem, ale łatwe do nauczenia. Każdy użytkownik sieci zajmujący się terminalem może zacząć od podążania za przykładami takimi jak ten przedstawiony powyżej.

Inne funkcje NMAP, takie jak TraceRoute, można zastosować do diagnozowania problemów sieciowych lub pakiet NSE można wykorzystać do wykrywania i wykorzystania luk w zabezpieczeniach.

Instrukcje w tym samouczku są ważne dla wszystkich dystrybucji Linux. Zdecydowanie zaleca się stosowanie wszystkich podanych przykładów w celu włączenia wiedzy.

Dziękujemy za przeczytanie naszego samouczka Basics NMAP. Kontynuuj podążaj za Linux, aby uzyskać więcej profesjonalnych treści Linux i sieci.