Identifikácia funkčných uzlov
           Prvým krokom skenovania siete obvykle býva redukcia zoznamu IP adries uzlov a sietí na zoznam IP adries uzlov, ktoré sú aktívne a pre skenovanie zaujímavé. Druhá podmienka samozrejme závisí na účeloch skenovania. Správca siete môže hľadať zariadenia s určitou službou, naopak osoba snažiaca sa o prienik do siete sa môže zaujímať o každý aktívny uzol a môže chcieť vykonať ďalšie kontroly navyše, aby obišla pre ňu príliš reštriktívny firewall. Aby sa Nmap vedel vyrovnať s rôznymi požiadavkami, ponúka množstvo možností na určenie, ktoré uzly sú aktívne:

-sL nevykonáva žiadne skenovanie, iba vypíše zoznam uzlov, ktoré by boli skenované v prípade spustenia skenovania. Aj tieto adresy však môžu poskytnúť určité informácie, pretože Nmap vyhľadá v DNS príslušné PTR záznamy a vypíše aj mená uzlov, čím dá možnosť používateľovi skontrolovať, že nebudú skenované nesprávne adresy.

-sP ukladá Nmapu vykonať iba skenovanie aktívnych uzlov. Skenovanie príslušných uzlov ani iné operácie nebudú vykonané. Táto voľba je užitočná podobne ako predchádzajúca alebo ak je treba zistiť počet aktívnych uzlov na sieti.

-P0 (znak nula, nie písmeno O) inštruuje Nmap, aby preskočil skenovanie aktívnych uzlov a jednoducho predpokladal, že každý uzol z daného rozsahu je aktívny. Vzhľadom na to, aké je skenovanie uzla časovo náročné oproti identifikácii aktívnych uzlov, sa táto voľba málokedy používa.

-PS [zoznam_portov] používa na testovanie TCP SYN pakety, ktoré sa normálne používajú na utvorenie TCP spojenia. Aktívny uzol odpovie RST (ak je port uzavretý) alebo SYN|ACK (ak je otvorený) paketom; neaktívna adresa samozrejme neodpovie. Pokiaľ je Nmap spustený používateľom, ktorý nemá právo posielať zostavené IP pakety, Nmap použije systémové volanie connect(), ktoré sa pokúsi otvoriť TCP spojenie. Ak vyprší časový limit pri tomto pokuse, uzol sa považuje za neaktívny; ak sa pokus podarí alebo volanie vráti chybu ECONNREFUSED, uzol sa považuje za aktívny. Pokiaľ nie je uvedený zoznam portov, testuje sa port 80.

-PA [zoznam_portov] používa na testovanie TCP ACK pakety, ktoré sa normálne využívajú v už nadviazanom TCP spojení. Aktívny uzol by teda mal vždy odpovedať RST paketom. Pokiaľ je Nmap spustený neprivilegovaným používateľom, správa sa rovnako ako v predchádzajúcom prípade. Dôvod na implementáciu tohoto testu je práve obchádzanie filterov paketov: Tie, ktoré neponúkajú stavovú inšpekciu, obvykle musia prepustiť ACK pakety, ak má prechádzať sieťová premávka znútra, naopak stavové takéto pakety poznajú ako nelegitímne a zahodia ich. Pokiaľ nie sú špecifikované typy skenovania aktívnych uzlov, toto je jeden z tých, čo sa vykoná.

-PU [zoznam_portov] používa na skenovanie prázdny UDP paket; pokiaľ nie je uvedený zoznam portov, použije sa port 31338. Pokiaľ príde ako odpoveď paket so správou ICMP port unreachable, považuje sa daný uzol za aktívny, v prípade inej alebo žiadnej odpovede nie. Nevýhodou tohoto typu je, že obsadené porty obvykle tento paket ignorujú; výhoda spočíva v tom, že niektoré zariadenia filtrujú iba TCP.

-PE , -PP a -PM používa na skenovanie ICMP pakety: echo request, timestamp request a address mask request. Pri ich prijatí by mal daný uzol vyslať príslušnú odpoveď. (Hoci RFC 1122 uvádza, že uzly by nemali implementovať ICMP timestamp a adress mask.) Pokiaľ daný uzol nevráti príslušnú odpoveď, považuje sa za neaktívny. Pokiaľ nie sú špecifikované typy skenovania aktívnych uzlov, -PE je jeden z tých, čo sa vykoná.

-PR používa na skenovanie ARP request; z toho vyplýva, že funguje iba na lokálnej sieti založenej na Ethernete. Pretože mapovanie IP adresy na MAC pomocou ARP by sa na lokálnej sieti muselo vykonať tak či tak, Nmap vždy použije iba ARP sken, pokiaľ sa dané uzly nachádzajú na lokálnej sieti.

-n inštruuje Nmap, aby nezisťoval mená uzlov z DNS.

-R inštruuje Nmap, aby naopak zistil mená všetkých testovaných uzlov z DNS a to aj tých, ktoré nie sú aktívne.

 

left right
TeamEight (c) 2005