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ó.
-
-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 azinteraktí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ó ahttps://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
ésVá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
paramétert, ha a kimenetet egyszerre akarja normál, XML és greppel feldolgozható formátumban. Ezek az<alapnév>
<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 vagyc:\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 azárt
,szűrt
észá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 anyitott
,nyitott|szűrt
és aszűretlen
állapotú kapuk kerülnek a kimenetre. Ezeknek a kapuknak a kezelése ugyanúgy történik, mint normál esetben, így anyitott|szűrt
és aszű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 egyxml-stylesheet
irányelvet, mely az Nmap programmal eredetileg telepítettnmap.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 aznmap.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 aznmap.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.