Nmap aka Network Mapper jest otwartym źródłem i bardzo wszechstronnym narzędziem dla administratorów systemów/sieci Linux. Nmap jest używany do badania sieci, wykonywania skanów bezpieczeństwa, audytu sieci i znajdowania otwartych portów na zdalnych maszynach. Skanuje pod kątem żywych hostów, systemów operacyjnych, filtrów pakietów i otwartych portów działających na zdalnych hostach.
Większość użycia NMAP będę omawiał w dwóch różnych częściach i to jest pierwsza część poważnego użycia nmap. W tej konfiguracji użyłem dwóch serwerów bez firewalla, aby przetestować działanie komendy Nmap.
- 192.168.0.100 – server1.tecmint.com
- 192.168.0.101 – server2.tecmint.com
Użycie polecenia Nmap
# nmap {target specification}
Jak zainstalować NMAP w Linuksie
Większość współczesnych dystrybucji Linuksa, takich jak Red Hat, CentOS, Fedoro, Debian i Ubuntu, włączyła Nmap do swoich domyślnych repozytoriów zarządzania pakietami zwanych Yum i APT. Oba te narzędzia są używane do instalacji i zarządzania pakietami oprogramowania oraz aktualizacjami. Aby zainstalować Nmap w konkretnej dystrybucji, użyj następującego polecenia.
# yum install nmap$ sudo apt-get install nmap
Po zainstalowaniu najnowszej aplikacji nmap możesz wykonać przykładowe instrukcje podane w tym artykule.
Scan a System with Hostname and IP Address
Narzędzie Nmap oferuje różne metody skanowania systemu. W tym przykładzie wykonuję skanowanie przy użyciu nazwy hosta jako server2.tecmint.com, aby dowiedzieć się o wszystkich otwartych portach, usługach i adresie MAC w systemie.
Skanuj używając nazwy hosta
Skanuj używając adresu IP
Skanuj używając opcji „-v”
Możesz zobaczyć, że poniższe polecenie z opcją „-v” daje bardziej szczegółowe informacje o zdalnej maszynie.
Skanuj wiele hostów
Możesz skanować wiele hostów po prostu wpisując ich adresy IP lub nazwy hostów za pomocą Nmapa.
Skanowanie całej podsieci
Możesz przeskanować całą podsieć lub zakres IP za pomocą Nmapa podając * wildcard.
Na powyższym wyjściu widać, że nmap przeskanował całą podsieć i podał informacje o tych hostach, które są w sieci.
Skanowanie wielu serwerów przy użyciu ostatniego oktetu adresu IP
Możesz wykonać skanowanie wielu adresów IP po prostu określając ostatni oktet adresu IP. Na przykład, tutaj wykonuję skanowanie na adresach IP 192.168.0.101, 192.168.0.102 i 192.168.0.103.
Skanowanie listy hostów z pliku
Jeśli masz więcej hostów do przeskanowania i wszystkie szczegóły hostów są zapisane w pliku, możesz bezpośrednio poprosić nmap o odczytanie tego pliku i wykonanie skanowania. Zobaczmy, jak to zrobić.
Utwórz plik tekstowy o nazwie „nmaptest.txt” i zdefiniuj wszystkie adresy IP lub nazwy hostów serwera, który chcesz przeskanować.
# cat > nmaptest.txtlocalhostserver2.tecmint.com192.168.0.101
Następnie uruchom następujące polecenie z opcją „iL” z poleceniem nmap, aby przeskanować wszystkie wymienione adresy IP w pliku.
Skanowanie zakresu adresów IP
Możesz określić zakres adresów IP podczas skanowania Nmapem.
Skanowanie sieci z wykluczeniem zdalnych hostów
Możesz wykluczyć niektóre hosty podczas wykonywania pełnego skanowania sieci lub podczas skanowania za pomocą symboli wieloznacznych z opcją „-exclude”.
Skanowanie informacji o systemie operacyjnym i traceroute
Z pomocą Nmapa można wykryć, który system operacyjny i w jakiej wersji jest uruchomiony na zdalnym hoście. Aby włączyć wykrywanie wersji OS &, skanowanie skryptów i traceroute, możemy użyć opcji „-A” z NMAP.
W powyższym wyjściu można zobaczyć, że nmap pokazuje odcisk palca TCP/IP systemu operacyjnego działającego na zdalnych hostach i jest bardziej szczegółowy na temat portów i usług działających na zdalnych hostach.
Włącz wykrywanie OS za pomocą Nmap
Użycie opcji „-O” i „-osscan-guess” również pomaga odkryć informacje o systemie operacyjnym.
Skanuj hosta w celu wykrycia Firewalla
Poniższe polecenie wykona skanowanie zdalnego hosta w celu wykrycia, czy jakiekolwiek filtry pakietów lub Firewalle są używane przez hosta.
Skanuj hosta w celu sprawdzenia, czy jest chroniony przez Firewalla
Aby przeskanować hosta, czy jest chroniony przez jakiekolwiek oprogramowanie do filtrowania pakietów lub Firewalle.
Wykrywanie żywych hostów w sieci
Z pomocą opcji „-sP” możemy po prostu sprawdzić, które hosty są żywe w sieci, z tą opcją nmap pomija wykrywanie portów i inne rzeczy.
Wykonaj szybkie skanowanie
Możesz wykonać szybkie skanowanie z opcją „-F”, która skanuje dla portów wymienionych w plikach nmap-services i pomija wszystkie inne porty.
Wykryj wersję Nmap
Możesz sprawdzić wersję Nmap, która jest uruchomiona na twoim komputerze z opcją „-V”.
# nmap -VNmap version 4.11 ( http://www.insecure.org/nmap/ )You have new mail in /var/spool/mail/root
Skanuj porty po kolei
Użyj flagi „-r”, aby nie randomizować.
Wydruk interfejsów hosta i tras
Możesz znaleźć informacje o interfejsach hosta i trasach za pomocą nmapa używając opcji „-iflist”.
W powyższym wyjściu widać, że mapa wypisuje interfejsy podłączone do twojego systemu i ich odpowiednie trasy.
Skanowanie określonego portu
Istnieją różne opcje wykrywania portów na zdalnym komputerze za pomocą Nmapa. Można określić port, który nmap ma skanować za pomocą opcji „-p”, domyślnie nmap skanuje tylko porty TCP.
Skanowanie portu TCP
Można również określić konkretne typy i numery portów, które nmap ma skanować.
Skanowanie portu UDP
Skanowanie wielu portów
Można również skanować wiele portów za pomocą opcji „-p”.
Scan Ports by Network Range
Możesz skanować porty z zakresów używając wyrażeń.
# nmap -p 80-160 192.168.0.101
Find Host Services version Numbers
Możemy sprawdzić wersje usług, które są uruchomione na zdalnych hostach używając opcji „-sV”.
Skanowanie zdalnych hostów przy użyciu TCP ACK (PA) i TCP Syn (PS)
Czasami firewalle filtrujące pakiety blokują standardowe żądania ping ICMP, w takim przypadku możemy użyć metod TCP ACK i TCP Syn do skanowania zdalnych hostów.
Skanuj zdalnego hosta w poszukiwaniu określonych portów za pomocą TCP ACK
Skanuj zdalnego hosta w poszukiwaniu określonych portów za pomocą TCP Syn
Wykonaj ukradkowe skanowanie
Sprawdź najczęściej używane porty za pomocą TCP Syn
Wykonaj skanowanie tcp null, aby oszukać firewall
.