Specyfikacja celu

Wszystko co nie jest opcją Nmapa w parametrach wywołania (lub jej argumentem) jest traktowane jako specyfikacja celu skanowania. Najprostszym przypadkiem jest sam adres do przeskanowania.

Czasami chcesz przeskanować całą sieć, dlatego Nmap obsługuje format CDIR. Możesz dołączyć do adresu /<ilośćbitów> i nmap przeskanuje każdy adres, który zawiera się w podanym zakresie. Na przykład, 192.168.10.0/24 przeskanuje 256 adresów pomiędzy 192.168.10.0 (binarnie: 11000000 10101000 00001010 00000000) i 192.168.10.255 (binarnie: 11000000 10101000 00001010 11111111) włącznie. Podanie 192.168.10.40/24 spowoduje dokładnie takie samo zachowanie. Załóżmy, że host scanme.nmap.org ma adres 205.217.153.62, podanie scanme.nmap.org/16 spowoduje przeskanowanie 65,536 adresów IP pomiędzy 205.217.0.0 i 205.217.255.255. Najmniejszą dopuszczalna wartość to /1, co stanowi połowę Internetu. Największa wartość to 32, która oznacza skanowanie pojedynczego adresu IP.

Notacja CIDR jest krótka i zwięzła, jednak nie zawsze wystarczająco elastyczna. Na przykład, chcesz przeskanować 192.168.0.0/16 z pominięciem wszystkich adresów kończących się .0 i .255, ponieważ są one najczęściej adresami typu broadcast. Nmap obsługuje to poprzez podawanie zakresów adresów za pomocą oktetów. Zamiast podawać normalny adres IP, możesz podać listę adresów lub zakresów oddzieloną przecinkami. Na przykład 192.168.0-255.1-254 pominie wszystkie adresy kończące się .0 lub .255. Zakresy nie są limitowane do końcowych oktetów: podanie 0-255.0-255.13.37 pozwoli na przeskanowanie wszystkich adresów kończących się 13.37. Tego typu skanowania mogą być przydatne podczas przeprowadzania badań Internetu.

Adresy IPv6 mogą być podawane jedynie w pełnej formie IPv6 lub nazwy hosta. Zapis z wykorzystaniem CIDR i zakresów nie jest obsługiwany przy IPV6, jednak rzadko byłoby to przydatne.

Nmap akceptuje podawanie wielu hostów w linii poleceń i nie muszą one być tego samego typu. Komenda nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255 zrobi to co powinna.

Zwykle adresy są podawane w linii poleceń, jednak poniższe opcje pozwalają na alternatywną specyfikację celu:

-iL <plik_wejściowy> (Odczytanie z pliku)

odczytuje specyfikację celu z pliku <plik-wejściowy>. Podawanie długiej listy adresów z linii poleceń jest dosyć niewygodne. Na przykład Twój serwer DHCP może posiadać listę 10,000 aktualnie dzierżawionych adresów, które chcesz przeskanować. Możliwe również, że chcesz przeskanować wszystkie adresy IP z wykluczeniem aktualnie dzierżawionych aby uzyskać listę nielegalnie przypisanych adresów statycznych. Po prostu wygeneruj listę adresów i podaj ją Nmapowi jako argument do parametru -iL. Poszczególne definicje mogą być zgodne z dowolnym formatem akceptowanym przez Nmapa w linii poleceń (adres IP, nazwa, CIDR, IPv6 lub zakres). Każdy wpis musi być oddzielony od następnego za pomocą jednej (lub wiecej) spacji, znaków tabulacji lub znaków nowej linii. Możesz również podać znak (-) zamiast nazwy pliku jeśli chesz aby Nmap pobrał adresy ze standardowego wejścia zamiast z pliku.

-iR <ilość hostów> (Wybierz losowe cele)

Do przeprowadzania badań Internetu, możesz używać wyboru losowych adresów. Argument <ilość hostów> informuje Nmapa ile losowych adresów ma wygenerować. Adresy prywatne, typu multicast lub niewykorzystywane są automatycznie pomijane przy generowaniu. Argument 0 pozwala na przeprowadzanie skanowania bez końca. Pamiętaj, że niektórzy administratorzy nie lubią skanowania ich sieci i może się im to nie spodobać. Używaj tej opcji na własne ryzyko! Jeśli poczujesz się naprawdę znudzony w deszczowe popołudnie, wyprubuj komendę nmap -sS -PS80 -iR 0 -p 80 do wykrycia losowych serwerów WWW do przeglądania udostępnianych przez nie stron.

--exclude <host1[,host2][,host3],...> (Wyłączenie hostów/sieci)

Podana lista celów do wyłączenia z zakresu skanowania, jeśli wchodzą w zakres aktualnego skanowania. Lista musi być podana zgodnie ze standardowym formatem akceptowanycm przez Nmapa, więc może zawierać nazwy, adresy w formacie CDIR, zakresy, itp. Opcja ta jest przydatna, jeśli sieć którą chcesz przeskanować zawiera systemy nietykalne lub krytyczne, o których wiadomo, że nie tolerują dobrze skanowania lub też sieci administrowane przez innych ludzi.

--excludefile <plik_wyłączeń> (Lista wyłączeń z pliku)

Opcja ta oferuje taką samą funkcjonalność jak --exclude z tą rożnicą, że wykluczone cele (oddzielone spacjami, znakami tabulacji lub nowej linii) są pobierane z pliku <plik_wyłączeń>, a nie z linii poleceń.