Kimenet

Bármely biztonsági eszköz csak annyira hasznos, amennyire az általa generált kimenet használható. A bonyolult tesztek és eljárások keveset érnek, ha az eredményt nem áttekinthető és érhető módon szolgáltatják. Az Nmap programot annyiféle módon használják emberek és más programok is, hogy egyféle kimeneti formátum nem lenne megfelelő mindenkinek. Így az Nmap többféle formátumot kínál, beleértve az emberek számára hasznos interaktív módot és a programok által könnyen feldolgozható XML-t.

A különböző kimeneti formátumok mellett az Nmap néhány paraméterrel lehetővé teszi mind a kimenet, mind a hibakeresési információk bőbeszédűségének beállítását. A kimenti adatok mind a szabványos kimenetre, mind egy megadott nevű fájlba kerülhetnek. Az Nmap képes a fájlhoz hozzáfűzni, vagy felülírni azt. A kimeneti fájlok alkalmasak még megszakított letapogatások folytatására is.

Az Nmap kimenete öt különféle formátumban érhető el. Az alapértelmezett elnevezése az interaktív kimenet amely a szabványos kimenetre kerül (stdout). Létezik még egy normál kimenet is, mely csak annyiban különbözik az interaktívtól, hogy kevesebb futásidejű üzenetet és figyelmeztetést jelenít meg, mivel feltételezi, hogy az adatok elemzésére csak a letapogatás befejezése után kerül sor, nem pedig folyamatosan.

Az XML kimenet az egyik legfontosabb kimeneti típus, mivel átalakítható HTML dokumentummá, könnyen feldolgozható más programmal (mint például az Nmap grafikus felülete) és adatbázisba is importálható.

A fennmaradó két kimeneti típus közül az egyik az egyszerű grep által feldolgozható kimenet, mely a legtöbb információt jeleníti meg az állomásról egy sorban, a másik a sCRiPt KiDDi3 0utPUt azoknak, akik úgy gondolnak magukra, mint |<-r4d.

Míg az alapértelmezett interaktív kimenetnek nincs parancssori kapcsolója, a többi négy formátum ugyanazt a szintaktikát használja. Egyetlen paraméterük van, az eredményt tároló fájl neve. Több formátum is megadható egyszerre, de minden formátum csak egyszer használható. Például ha szeretné később átnézni a normál kimenet eredményét és egyben szeretné programmal is feldolgozni, akkor használhatja az -oX myscan.xml -oN myscan.nmap paramétert. Bár ebben a fejezetben az egyszerűség kedvéért rövid fájlneveket használunk (például myscan.xml), általában ajánlott hosszabb, jelentéssel bíró neveket használni. A nevek kiválasztásakor figyeljünk a személyes igényekre, használhatunk dátumot, vagy egy-két szavas rövid leírást a munka típusáról.

Bár ezekkel a paraméterekkel az eredményeket fájlba menthetjük, az Nmap ettől függetlenül az interaktív kimenetet megjeleníti a szabvány kimeneten. Például az nmap -oX myscan.xml célpont parancs az XML kimenetet a myscan.xml fájlba írja és egyben megjeleníti azt az interaktív kimenetet is, amely az -oX paraméter megadása nélkül is megjelent volna. Ez a viselkedés megváltoztatható, ha a kimeneti formátum után egy kötőjelet ad meg paraméterként. Ilyenkor az Nmap kikapcsolja az interaktív kimenetet és ehelyett a szabványos kimeneti adatfolyamba írja a kívánt kimeneti formátumú adatokat. Így az nmap -oX - célpont parancs csak a stdout eszközre küldi el az XML kimenetet. A komoly hibákat továbbra is a normál hibakimenetre, a stderr eszközre írja.

Az Nmap más paramétereitől eltérően a naplófájl paraméterjelzője (mint az -oX) és a fájlnév vagy kötőjel között kötelező szóközt hagyni. Ha ezt elhagyja és például az -oG- vagy az -oXscan.xml formátumban adja meg a paramétert, akkor kompatibilitási okoból egy normál formátumú kimeneti fájl jön létre G- és Xscan.xml nevekkel.

Ezek közül a paraméterek közül mindegyik támogatja a fájlnevek strftime()-szerű átalakítását. A %H, %M, %S, %m, %d, %y és %Y megadása pontosan azt jelenti, mint az strftime() függvényben. A %T ugyanazt jelenti, mint a %H%M%S, a %R ugyanazt jelenti, mint a %H%M és a %D ugyanazt jelenti, mint a %m%d%y. ha a % jelet bármilyen más karakter követi, akkor azt a karaktert egyszerűen tovább adja (például a %% egy százalékjelet ad tovább). Így az -oX 'scan-%T-%D.xml' paraméter megadása egy XML fájlt hoz létre scan-144840-121307.xml névvel.

Az Nmap lehetőséget biztosít a letapogatás részletességének beállítására, valamint arra, hogy az eredményeket hozzáfűzze egy meglévő fájlhoz ahelyett, hogy felülírná. A paraméterek leírása az alábbiakban található.

Nmap kimeneti formátumok
-oN <fájlnév> (normál kimenet)

Ezzel a kéréssel a normál kimenet a megadott nevű fájlba lesz átirányítva. Ahogy a fentiekben olvashatta, ez egy kicsit különbözik az interaktív kimenettől.

-oX <fájlnév> (XML kimenet)

Ezzel a kéréssel az XML kimenet a megadott nevű fájlba lesz átirányítva. Az Nmap a fájlhoz hozzáfűz egy dokumentum típusmeghatározást si (DTD), így az XML feldolgozók ellenőrizhetik az Nmap XML kimenetét. Bár ez elsősorban programbeli felhasználásra készült, de segítséget nyújt az embereknek is az Nmap XML kimenetének értelmezésében. A DTD leírja a formátum érvényes elemeit és gyakran felsorolja a tulajdonságokat és azok értékeit is. A legfrissebb változat mindig megtalálható a https://nmap.org/data/nmap.dtd címen.

XML egy stabil formátumot kínál, mely programból könnyen feldolgozható. Ingyenes XML feldolgozók az összes nagyobb programozási nyelvhez elérhetők, beleértve a C/C++, Perl, Python és Java nyelveket. Az Nmap kimenetének feldolgozására és működésének vezérlésére a legtöbb nyelvhez már készültek kapcsolódó munkák. Perl CPAN példák találhatók a Nmap::Scanner és a Nmap::Parser címeken. A legtöbb esetben az XML az előnyben részesített formátum.

Az XML kimenet hivatkozik egy XSL stíluslapra, melynek segítségével az eredmények HTML formátumra alakíthatók. Ezt a legegyszerűbben úgy használhatja, hogy az XML kimenetet betölti egy böngészőbe. Alapesetben ez csak azon a gépen működik, amelyen az Nmap fut (vagy egy hasonlóan beálított gépen), mivel az nmap.xsl elérési útvonala bele van drótozva a programba. A --webxml vagy a --stylesheet paraméterek megadásával olyan hordozható XML fájlt hozhat létre, mely bármely Internetre kötött gépen megjeleníthető HTML formátumban.

-oS <fájlnév> (Szkriptkölyök kimenet)

A szkriptkölyök kimenet olyan, mint az interaktív kimenet, csak még átmegy egy végső feldolgozáson. Így jobban passzol az olyan hekkerek lelkivilágához, akik előzőleg lenézték az Nmap egységes helyesírását és a nagybetűk használatát. Gyenge humorérzékűek úgy gondolhatják, hogy ez a paraméter nevetségessé akarja tenni a szkriptkölyköket ahelyett, hogy segítené őket.

-oG <fájlnév> (grep által feldolgozható kimenet)

Ez a kimenti formátum maradt a végére, mivel ez egy elavult formátum. Az XML sokkal használhatóbb és tapasztalat felhasználók számára majdnem olyan kényelmes is. Az XML egy szabvány, melyet feldolgozó programok százai támogatnak, míg a greppel feldolgozható kimenet csak egy egyszerű barkácsolás. Az XML könnyen bővíthető az új Nmap tulajdonságok támogatásához, míg ezek a bővítések a helyhiány miatt gyakran kimaradnak a greppel feldolgozható kimentből.

Mindezek ellenére a greppel feldolgozható kimenet még mindig nagyon népszerű. Egyszerű formátumú, mely minden egyes célpont adatait egyetlen sorban adja vissza, egyszerűen kereshető és feldolgozható olyan alap Unix eszközökkel, mint a grep, awk, cut, sed, diff, vagy egy Perl parancsfájl. Emellett használható még egyszeri tesztek parancssorból történő elvégzésére. Az összes nyitott SSH kapujú, vagy Solaris operációs rendszert futtató állomás megtalálásához elég egy egyszerű greppel feldolgozható kimenet, melyet az awk vagy a cut programba átirányítva kinyomtatható a kívánt információ.

A greppel feldolgozható kimenet megjegyzésekből (#-tel kezdődő sorok) és a célpont soraiból áll. A célpont sora 6 címzett mezőt tartalmaz, tabulátorral elválasztva, kettősponttal a végén. A mezők nevei: Állomás (Host), Kapuk (Ports), Protokollok (Protocols), Mellőzött állapot (Ignored State), Operációs rendszer (OS), Sorozatszám (Seq Index), IP ID és Állapot (Status).

Ezek közül a mezők közül általábana legfontosabb a Ports, mely információkat tartalmaz az összes érdekes kapuról. Ez egy vesszővel elválasztott lista. Minden egyes bejegyzés egy-egy kaput jelent és hét almezőt tartalmaz perjellel (/) elválasztva. Az almezők nevei: Kapuszám (Port number), Állapot (State), Protokoll (Protocol), Tulajdonos (Owner), Szolgáltatás (Service), SunRPC info és Változat (Version info).

Csakúgy, mint az XML kimenet esetében, ez a leírás ennek a kimenetnek sem tartalmazza a teljes leírását. Az Nmap greppel feldolgozható kimenetének részletes leírása a http://www.unspecific.com/nmap-oG-output címen található.

-oA <alapnév> (Minden kimeneti formátum használata)

Kényelemből használhatja az -oA <alapnév> paramétert, ha a kimenetet egyszerre akarja normál, XML és greppel feldolgozható formátumban. Ezek az <alapnév>.nmap, az <alapnév>.xml és az <alapnév>.gnmap fájlokban tárolódnak. Mint minden programban, itt is megadhatja a fájlok tárolásának teljes útvonalát, mint például ~/nmaplogs/foocorp/ Unix vagy c:\hacking\sco Windows rendszereknél.

-v (Növeli az adatok részletességét)

Ha növeli a részletességi szintet, az Nmap több információt jelenít meg a folyamatban lévő letapogatásról. A nyitott kapu a megtalálásuk sorrendjében jelennek meg. Ha az Nmap úgy érzékeli, hogy a letapogatás pár percnél többet fog igénybe venni, akkor megjelenít egy várható befejezési időpontot is. Ha még részletesebb információkra kiváncsi, használja kétszer a paramétert.

A legtöbb változás csak az interaktív kimenetet érinti és csak néhány van hatással a normál és a szkriptkölyök kimenetre. A többi kimenet gépi feldolgozásra készült, így ezekben az Nmap alaphelyzetben is részletes információkat jelenít meg. Ennek ellenére van pár változás ezekben a módokban, mivel néhány részlet elhagyása jelentősen csökkenti a kimenet méretét. Például a greppel feldolgozható kimenetben a megjegyzések csak a részletes módban jelennek meg, mivel ezek eléggé hosszúak lehetnek.

-d [szint] (Növeli vagy beállítja a hibakeresés szintjét)

Ha a részletes üzemmód nem ad visza elegendő információt, a hibakeresési mód képes elárasztani adatokkal! Csakúgy, mint a részletes üzemmód (-v), a hibakeresési üzemmód is egy parancssori kapcsolóval aktivizálható (-d), melynek szintje a kapcsoló többszóri megadásával növelhető. Emellett a hibakeresés szintjét a -d paraméternek átadott értékkek is beállíthatja. Például a -d9 9-es szintet állít be. Ez a legmagasabb beállítható szint és - hacsak nem egy egyszerű letapogatás futtat - több száz sornyi információt fog kinyomtatni.

A hibakeresési kimenet hasznos lehet, ha valamilyen hibát gyanít az Nmap program működésében, vagy egyszerűen csak szeretné megérteni, hogy mit és miért csinál az Nmap. Mivel ez a funkció elsősorban fejlesztőknek készült, ezért a legtöbb megjelenő információ nem is értelmezhető könnyen. Kaphat például egy ilyen kimenetet: Timeout vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000. Ha nem ért egy sort egyszerűen figyelmen kívül hagyhatja, megnézheti a program forráskódjában vagy segítséget kérhet a fejlesztői levelező listán (nmap-dev). Néhány sor könnyen érthető, de a hibakeresési szint növekedésével az üzenetek egyre homályosabbá válnak.

--packet-trace (Az elküldött és fogadott csomagok és adatok követése)

Az Nmap minden elküldött és fogadott csomagról összegzést készít. Ezt a legtöbbször csak hibakeresésre használják, de hasznos lehet olyanoknak is, akik szeretnék megérteni, hogy mi történik a színfalak mögött. Hogy elkerülhető legyen sorok százainak a megjelenítése, érdemes korlátozni a letapogatni kívánt kapuk számát például a -p20-30 paraméter megadásával. Ha csak a változat érzékelés részleteire kiváncsi, használja a --version-trace paramétert.

--open (Csak a nyitott (vagy valószínűleg nyitott) kapukat mutatja)

Néha csak azok a kapuk érdekesek, amelyekhez kapcsolódni lehet (nyitott) és nincs szükség agyonzsúfolni a kimenetet a zárt, szűrt és zárt|szűrt kapukkal. A kimenet testreszabása általában a letapogatás után történik a grep, awk vagy Perl használatával, de a rengeteg kérés hatására ez a lehetőség is bekerült a programba. Az --open megadásával csak a nyitott, nyitott|szűrt és a szűretlen állapotú kapuk kerülnek a kimenetre. Ezeknek a kapuknak a kezelése ugyanúgy történik, mint normál esetben, így a nyitott|szűrt és a szűretlen kapuk csak egy számként jelennek meg, ha túl sok van belőlük.

--iflist (Illesztők és útvonalak listázása)

Megjeleníti az Nmap által érzékelt illesztőket és rendszerútvonalakat. Ez hasznos lehet az útválasztási problémák hibakeresésében vagy az eszközök hibás kezelésekor (például az Nmap egy PPP kapcsolatot ethernet kapcsolatnak érzékel).

--log-errors (A hibák/figyelmeztetések rögzítése a normál módú kimenti fájlba)

Az nmap által kiírt hibák és figyelmeztetések általában csak a képernyőn (interaktív kimenet) jelnnek meg, a normál formátumú kimenti fájlt érintetlenül hagyva. Ha szeretné ezeket az üzeneteket a normál kimenti fájlban is látni, adja meg ezt a paramétert. Ez hasznos lehet akkor, ha nem figyeli az interaktív kimenetet vagy valamilyen hibát próbál megtalálni. Az üzenetek az interaktív kimeneten ezután is megjelennek. Ez a paraméter nem működik azokkal a hibákkal, melyek a hibásan megadott parancssori kapcsolókkal függnek össze, mivel az Nmap ilyenkor még nem készítette elő a kimenti fájlt. Ráadásként néhány NMap hiba/figyelmeztetés más rendszert használ és nem támogatja ezt a paramétert. Ennek a paraméternek az alternatívája lehet az interaktív kimenet (beleértve a szabvány hibakimenetet) átirányítása egy fájlba. Míg a legtöbb Unix parancshéj ezt könnyen lehetővé teszi, Windows alatt ez egy kissé bonyolult lehet.

--append-output (Felülírás helyett hozzáfűzés a kimenti fájlhoz)

Ha megad egy fájlnevet egy kimeneti paraméterhez (mint például az -oX vagy az -oN), akkor a program alapértelmezettként felülírja a meglévő fájlt. Ha szeretné megtartani a fájl tartalmát és hozzáfűzni az új eredményeket, adja meg az --append-output paramétert. Így futtatva az Nmap programot az összes megadott fájlhoz hozzáfűzi az új eredményeket a felülírás helyett. Ez az XML kimenettel (-oX) nem működik jól együtt, így ez - a fájl kézzel történő javításáig - feldolgozási problémát okozhat.

--resume <fájlnév> (Megszakított letapogatás folytatása)

Néhány kiterjedt NMap letapogatás nagyon hosszú időt vehet igénybe - néha napokig tarthat. Néhány letapogatás nem mindig fut le a befejezésig. Bizonyos korlátozások megakadályozhatják, hogy az Nmap munkaidő alatt fusson, leállhat a hálózat, az Nmap programot futtató gép elszenvedhet egy nem várt újraindítást, de maga az Nmap is összeomolhat. Az Nmap futását a rendszergazda is megszakíthatja a ctrl-C lenyomásával. A teljes letapogatás újraindítása a kezdetektől nem éppen egy kívánt állapot. Szerencsére ha a normál (-oN) vagy a greppel feldolgozható (-oG) naplófájl megmaradt, a felhasználó utasíthatja az Nmap programot, hogy folytassa a letapogatást a megszakítás pontjánál. Egyszerűen adja meg a --resume kapcsolót és a normál/greppel feldolgozható kimeneti fájl nevét. Más paraméter nem adható meg, mivel az Nmap a kimeneti fájl feldolgozásával visszaállítja az eredeti paramétereket. Egyszerűen írja be az nmap --resume <fájlnév> parancsot. Az Nmap az új adatokat hozzáfűzi az előző futtatás során megadott fájlhoz. Az XML kimeneti formátumnál a folytatás nem támogatott, mivel a két futtatás eredményének egy fájlba történő összevonása eléggé bonyolult lehet.

--stylesheet <útvonal vagy cím> (XSL stíluslap beállítása az XML kimenet átalakításhoz)

Az XML fájlok megtekintéséhez és átalakításához HTML formátumra az Nmap rendelkezik egy saját XSL stíluslappal nmap.xsl néven. Az XML kimenet tartalmaz egy xml-stylesheet irányelvet, mely az Nmap programmal eredetileg telepített nmap.xml fájlra hivatkozik (Windowson az aktuális munkakönyvtárra). Egyszerűen töltse be az XML kimenetet egy modern webböngészőbe és az automatikusan betölti az nmap.xsl fájlt és megjeleníti az eredményeket. Ha más stíluslapot akar használni, adja meg azt a --stylesheet kapcsoló után. A teljes útvonalat vagy címet meg kell adnia. Egy megszokott hivatkozás a --stylesheet https://nmap.org/data/nmap.xsl. Ez arra utasítja a böngészőt, hogy az Insecure.org címről töltse be a legfrissebb stíluslapot. A --webxml paraméterrel ugyanezt a hatást érheti el, csak kevesebbet kell gépelni és megjegyezni. Az Insecure.org címről letöltött stíluslap segítségével olyan gépen is megtekintheti az eredményeket, melyen nincs telepítve az Nmap (és így az nmap.xsl sem). Gyakran a cím megadása sokkal hasznosabb, de biztonsági okokból az alapértelmezett a helyi fájlrendszeren lévő nmap.xsl használata.

--webxml (Stíluslap betöltése az Insecure.Org oldalról)

Ez egy kényelmesebb megvalósítása a --stylesheet https://nmap.org/data/nmap.xsl kapcsolónak.

--no-stylesheet (Kihagyja az XSL stíluslap meghatározását az XML fájlból)

Megakadályozza, hogy az Nmap az XML kimeneti fájlban stíluslap bejegyzést hozzon létre. Kimarad az xml-stylesheet irányelv.