Nmap

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Nmap
Nmap-4.53.png
Interfejs programu
Producent Gordon Lyon (Fyodor)
System operacyjny Linux, Microsoft Windows, Solaris, BSD
Aktualna wersja stabilna 6.47
(23 sierpnia 2014; 9 dni temu)
Licencja GNU General Public License
nmap.org

Nmap (z ang. Network mapper) – program komputerowy autorstwa Fyodora (Gordon Lyon)[1], służący do skanowania portów i wykrywania usług w sieci[2].

Program implementuje wiele różnych technik testowania portów TCP, w tym niestandardowe podejścia wynikające ze specyfiki implementacji stosów sieciowych, które potencjalnie mogą omijać zapory sieciowe lub platformy Intrusion Detection System. Dodatkowo Nmap posiada możliwość identyfikacji systemów operacyjnych na skanowanych hostach.

Metody skanowania portów[edytuj | edytuj kod]

Oto niektóre z metod dostępnych w nmapie:

  • skanowanie oparte na pełnym połączeniu TCP (nmap -sT) – listuje porty, z którymi udało się nawiązać połączenie
  • skanowanie SYN (tzw. półotwarte) (nmap -sS) – polega na wysyłaniu pakietów z ustawioną flagą SYN i oczekiwaniu na odpowiedź. Jeżeli serwer odpowie pakietem SYN-ACK oznacza to otwarty port. Serwer oczekuje na pakiet z bitem ACK, jednak nigdy go nie otrzymuje, a połączenie nie jest logowane.
  • metoda ACK (nmap -sA) – wykorzystywana jest najczęściej do poznania ustawień firewalla (rozpoznawania prostych filtrów pakietów). Nmap wysyła do wskazanych portów pakiety ACK. Jeśli otrzyma pakiet RST, port uznawany jest za niefiltrowany, jeżeli zaś nie otrzymuje odpowiedzi, uznaje go za filtrowany
  • skanowanie FIN (nmap -sF) – korzysta z pakietów z ustawioną wyłącznie flagą FIN, czego host docelowy nie oczekuje. Porty niewykorzystane odpowiadają wówczas pakietem RST
  • metoda Xmas Tree (nmap -sX) – wykorzystuje pakiety z bitami FIN, URG i PUSH, porty zamknięte odpowiadają pakietem z flagą RST
  • skanowanie Null (nmap -sN) – korzysta z pakietów bez ustawionych żadnych flag
  • skanowanie portów UDP (nmap -sU) – listuje otwarte porty, korzystające z protokołu UDP
  • skanowanie ping (nmap -sP) – pozwala ono określić, które z hostów są aktywne w danym momencie
  • skanowanie RPC (nmap -sR) – znajduje usługi dostępne przez RPC

Nmap jest jednak skanerem aktywnym. Wiąże się to z generowaniem przez niego dużej ilości ruchu, a w związku z tym – mimo dużej skuteczności – można wykryć jego używanie. Z pomocą przychodzą tu tzw. skanery pasywne, np. p0f, właściwie skanujące wcześniej uzyskany zapis (z np. dumpcap czy tcpdump) z sieci. Opcje nmap pozwalają relatywnie utrudnić wykrycie IP, z którego przeprowadzany jest skan z -D <dekoy>, gdzie wprowadza się szereg mylących hostów. Inna opcja pozwala 'obciążyć winą' inny (zombie) komputer np. # nmap -sI <zombieHost[:probeport]>, który może być wykazywany w niezbyt zaawansowanym systemie rozpoznającym skanowania sieci.

przykład

  • szybkie skanowanie 'domowej' sieci lokalnej, prywatnej C klasy IP od 1 do 255:
# nmap -A -T4 192.168.1.1-255

w efekcie powinno się uzyskać informacje o prawdopodobnym sprzęcie i wersjach oprogramowania komputerów w tej sieci, o czasie ich włączenia (uptime) o otwartych i zblokowanych portach i o wszystkich MAC adresach każdego PC. Dla admina informacje sprzętowe są to informacje przydatne do inwentaryzacji sieci, a wersje oprogramowania w połączeniu z otwartymi portami mogą służyć do uszczelnienia sieci.

Zobacz też[edytuj | edytuj kod]

  • ettercapsniffer z możliwością pasywnego skanowania
  • p0f – pasywny skaner sieciowy
  • port knocking – technika otwierania portów tylko uprawnionym użytkownikom
  • snort – program wykrywający skanowanie portów

Przypisy

  1. Matrix mixes life and hacking, bbc.co.uk, 23 maja 2003 [dostep 12 czerwca 2011] (ang.)
  2. When Good Scanners Go Bad, ComputerWorld 22 Marca 1999 (ang.)

Linki zewnętrzne[edytuj | edytuj kod]