Nmap (ang. “Network Mapper”) jest narzędziem open source
do eksploracji sieci i audytów bezpieczeństwa. Został zaprojektowany do
szybkiego skanowania dużych sieci, ale również działa dobrze w stosunku do
pojedynczych adresów. Nmap wykorzystuje niskopoziomowe pakiety IP do
wykrywania które adresy są dostępne w sieci, jakie udostępniają usługi
(nazwa aplikacji i wersja), na jakich systemach operacyjnych pracują (wersja
systemu), jakie typy systemów zaporowych (firewall) są wykorzystywane i
dziesiątek innych cech. Nmap jest powszechnie wykorzystywany do audytów
bezpieczeństwa, również wielu administratorów sieci i systemów wykorzystuje
go wykonywania rutynowych czynności, takich jak inwentaryzacja zasobów sieci,
zarządzanie aktualizacjami oprogramowania i monitorowania systemów oraz ich
czasu działania (uptime).
Wynikiem działania Nmapa jest lista przeskanowanych adresów z
dodatkowymi informacjami zależnymi od wykorzystanych opcji. Jedną z
głównych informacji jest “lista interesujących portów”.
Zawiera ona numery portów wraz z protokołami, nazwami usługi i
wykrytym stanem. Stan może zostać opisany jako
otwarty,
filtrowany,
zamknięty, lub
niefiltrowany.
Otwarty oznacza, że aplikacja na badanym adresie oczekuje na
połączenia/pakiety przychodzące na ten port.
Filtrowany oznacza, że system zaporowy
lub inne urządzenie blokujące ruch sieciowy nie dopuszcza
komunikacji do tego portu i z tego powodu Nmap nie jest w stanie określić
czy badany port jest otwarty czy
zamknięty.
Zamknięty port nie posiada aplikacji,
która obsługuje komunikację sieciową. Porty sklasyfikowane jako
niefiltrowane odpowiadały na zapytania
Nmapa, jednak nie było możliwe określenie, czy były one otwarte czy
zamknięte. Nmap raportuje kombinacje stanów
otwarty|filtrowany i
zamknięty|filtrowany jeśli nie jest w
stanie określić, który z dwóch podanych stanów lepiej opisuje stan portu.
Lista portów może również zawierać informacje o wykrytych wersjach
oprogramowania, jeśli została włączona detekcja wersji. Jeśli została
wybrana opcja skanowania dostępnych protokołów (-sO),
Nmap zamiast listy portów dostarczy informacji na temat dostępności
poszczególnych protokołów IP.
Poza listą interesujących portów, Nmap może dostarczyć dodatkowych
informacje na temat badanych adresów, takich jak odwrotne nazwy DNS,
prawdopodobne systemy operacyjne, typu urządzeń i adresy sprzętowe
MAC.
Typowy wynik skanowania Nmapa jest przedstawiony w
Example 1, “Przykładowe wyniki skanowania Nmapa”. W tym przypadku wykorzystano tylko opcję
-A, wykrywającą wersje systemu operacyjnego,
-T4 dla szybszego działania i dwa adresy docelowe.
Example 1. Przykładowe wyniki skanowania Nmapa
# nmap -A -T4 scanme.nmap.org playground
Starting nmap ( http://www.insecure.org/nmap/ )
Interesting ports on scanme.nmap.org (205.217.153.62):
(The 1663 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11
Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)
Interesting ports on playground.nmap.org (192.168.0.40):
(The 1659 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
389/tcp open ldap?
445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
1002/tcp open windows-icfw?
1025/tcp open msrpc Microsoft Windows RPC
1720/tcp open H.323/Q.931 CompTek AquaGateKeeper
5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900)
5900/tcp open vnc VNC (protocol 3.8)
MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Pro RC1+ through final release
Service Info: OSs: Windows, Windows XP
Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds
Najnowszą wersję Nmapa można pobrać z
http://www.insecure.org/nmap/. Najnowsza wersja dokumentacji man
jest dostępna pod adresem
http://www.insecure.org/nmap/man/.