Izvještaji

Svaki sigurnosni alat je koristan onoliko koliko dobar izvještaj ponudi. Kompleksni testovi i algoritmi su od malo koristi ako njihov rezultat nije predstavljen na organiziran i razumljiv način. Obzirom na različite načine korištenja Nmap-a od strane ljudi i drugih programa, jedan format ne može zadovoljiti sve, tako da Nmap nudi više formata izvještaja, uključujući interaktivni mod koji direktno možete pročitati i XML kako bi ga kasnije mogli pregledavati i analizirati drugi automatizirani alati.

Uz to što nudi različite formate izvještaja, Nmap nudi opcije za upravljanje količinom prikazanih informacija, kao i poruke za debugiranje. Izvještaji mogu biti standardni (na ekran op prev.) ili spremljeni u datoteke, u koje Nmap može dodavati podatke ili ih prepisati. Datoteke u koje se spremaju rezultati taskođer mogu biti korištene za prekinute skenove koje ste nastavili.

Nmap nam nudi izvještaje u 5 različitih formata. Defaultni se zove interaktivni izvješ taj i poslan je na standardni izlaz (sdtout) (zaslon računala, op. prev.). Također postoji i normalni izvještaj koji je sličan interaktivnom s tim da prikazuje manje informacija i upozorenja, jer je predviđen za kasniju analizu, a ne trenutnu..

XML izvještaj je jedan od najbitnijih, jer ga lako možete konvertirati u HTML, može lako biti pregledavan pomoću programa poput Nmap-ovog grafičkog korisničkog sučelja, te može biti importiran u bazu podataka.

Dva preostala tipa izvještaja su jednostavni grepabilni izvještaj koji uključuje većinu informacija o hostu u jednoj liniji i sCRiPt KiDDi3 Izvj3št4j za korisnike koji se smatraju |<-r4d.

Dok je interaktivni izvještaj defaultni i nema komandnolinijskih opcija, preostale 4 opcije koriste istu sintaksu. Mogu preuzeti jedan parametar, a to je naziv datoteke u koji će biti pohranjeni rezultati. Možete navesti više različitih formata, ali svaki od njih smijete navesesti samo jednom. Npr. želite gledati normalni izvještaj za sebe, dok istovremeno želite razultate pohraniti i u XML datoteku, za kasniju programsku analizu. To možete postići opcijama -oX myscan.xml -oN myscan.nmap. Iako su u ovom poglavlju korištena imena poput myscan.xml zbog jasnoće, preporučeno je korištenje određenijih i jasnijih imena. Imena koja ćete odabrati ovise o vašim željama i navikama, mada osobno koristim dugačka imena u kojima se nalazi datum skeniranjai nekoliko riječi koje opisuju što je u stvari skenirano, a sve to pohranim u direktorij nazvan imenom tvrtke koju skeniram.

Iako navedene opcije spremaju rezultat u datoteke, Nmap i dalje ispisuje interaktivni izvještaj na zaslon računala. Npr. naredba nmap -oX myscan.xml target sprema rezultate skena u XML datoteku imenom myscan.xml i također ispisuje na zaslon računala ono što bi ispisao da opcija -oX nije bila navedena. Ovo možete promijeniti dodajući znak "-" (minus op. prev.) kao parametar jednom od tipova izvještaja, što će prisiliti Nmap da deaktivira interaktivni izvještaj i umjesto njega na stdout pošalje format koji ste naveli. Tako će naredba nmap -oX - target posalti samo XML na stdout. Ozbiljne greške će i dalje biti ispisane na normalni tok grešaka - stderr.

Za razliku od nekih Nmap-ovih opcija, razmak između opcije za naziv log datoteke (poput -oX) i naziva datoteke ili znamka minus je obavezan. Ukoliko ga izostavite, npr. napišete -oG- ili -oXscan.xml, Nmap će napraviti datoteke normalnog formata imenom G- i Xscan.xml.

Nmap također nudi i opcije za upravljanje količinom prikazanih informacija i opcije da doda podatke u postojeću datoteku , a ne da je prepiše. Sve navedene opcije opisane su u daljnjem tekstu:

Formati Nmap-ovih izvještaja
-oN <filespec> (Normalni izvještaj)

Zahtjeva da normalni izvještaj bude spremljen u navedeno ime. Kao što je opisano gore u tekstu, to se malo razlikuje od interactivnog izvještaja .

-oX <filespec> (XML izvještaj)

XML izvještaj će biti pohranjen u navedenu datoteku. Nmap ima i definiciju tipa dokumenta (engl Document Type Definition) kratica: DTD koja dozvoljava XML parserima da provjere Nmap-ov XML izvještaj. Iako je primarno namijenjeno za programsko korištenje, može pomoći i ljudima da interpretiraju Nmap-ov XML izvještaj. DTD definira ispravne elemente formata i često navodi atribute i vrijednosti koje mogu poprimiti. Najsvježija verija je uvijek dostupna na: https://nmap.org/data/nmap.dtd.

XML nudi stabilan format koji je lako čitljiv od strane programa. Besplatni XML parseri su dostupni za većinu kompjutorskih jezika, uključujući C/C++, Perl, Python i Java-u. Čak postoje i poveznice za većinu tih jezika koje omogućuju direktno interpretiranje Nmap-ovih izvještaja. Primjeri su: Nmap::Scanner i Nmap::Parser u Perlu i CPAN-u. U većini slučajeva kad neka ozbiljnija aplikacija komunicira s Nmap-om, XML je željeni format.

XML izvještaj se poziva na XSL stilove, koji mogu biti korišteni za formatiranje rezultata u HTML. Najjednostavniji način je da jednostavno učitate XML izvještaj u web preglednik poput firefox-a ili IE-a. Defaultno će to raditi samo na računalu nakojem ste pokrenuli nmap (ili na računalu koje je slično konfigurirano), jer je nmap.xsl hardkodiran. Koristite opciju --webxml ili --stylesheet kako bi kreirali prenosive XML datoteke koje prikazuju podatke u HTML-u na bilo kojem računalu spojenom na web.

-oS <filespec> (ScRipT KIdd|3 izvještaj)

Script kiddie izvještaj je poput interaktivnog s tim d je naknadno obrađen kako bi bolje odgovarao l33t HaXXorZ koji je prije pazio na Nmap zbog njegovog konstantnog pisanja velikih slova i spelinga. Osobe koje ne razumiju humor (prije nego me počnu napadati), trebale bi shvatiti da ova opcija tu da bi ismijavala script kiddie-je, a ne da bi im pomagala.

-oG <filespec> (Grepabilni izvještaj)

Ovaj format zvještaja je obrađen zadnji jer nije previše popularan. XML je mnogo moćniji i odgovara većini iskusnih korisnika. XML je format za koji postoji hrpa izvrsnih parsera, dok je grepabilni izvještaj moj osobni mali hack. XML je proširiv i podržava nove stvari koje budu ugrađene u Nmap, dok je to često ispušteno u grepabilnom izvještaju, jer nema mjesta za njih.

No ipak, grepabilni izvještaj je poprilično popularan. To je jednostavni format koji prikazuje svakog hosta na jednoj liniji i može ga se lako pretraživati standardnim UNIX alatima, poput grep-a, awk-a, cut-a, sed-a, diff-a i Perl-a. Čak ga i ja koristim za jednokratne testove iz komandne linije. Pronaći sve hostove koji imaju otvoren ssh port ili se na njima vrti Solaris je vrlo lako pomoću grep naredbe, a to pak može biti poslano awk ili cut naredbi da bi se prikazala željena polja.

Grepabilni izvještaj sastoji se od komentara (linija koje počinju s pound znakom (#)) i ciljanih linija. Ciljana linija sadrži kombinaciju od 6 imenovanih polja, odvojenih tabovima i iza njih dolazi dvotočka. Polja su: Host, Ports, Protocols, Ignored State, OS, Seq Index, IPID, and Status.

Najvažnije od tih polja je obično Ports, koje daje datalje o svakom zanimljivom portu. To je zarezom odvojena lista portova. Svaki zapis o portu predstavlja jedan zanimljivi port i ima oblik sedam podpolja odvojenih slash znakom (/). Podpolja su: Port number, State, Protocol, Owner, Service, SunRPC info, and Version info.

Kao i kod XML formata, više informacija možete naći na sljedećem linku: http://www.unspecific.com/nmap-oG-output.

-oA <basename> (Izvještaj u svim formatima)

Radi jednostavnosti, možete navesti opciju -oA <basename>, kako bi spremili rezultate u normalnom, XML i grepabilnom formatu odjednom. spremljeni su u datoteke imanom <basename>.nmap, < basename>.xml i <basename>.gnmap. Kao i kod većine programa možete staviti prefiks ispred naziva datoteke kako bi je spremili u željeni direktorij, kao npr. ~/nmaplogs/foocorp/ na UNIX-u ili c:\hacking\sco na Windows platformi.

Opcije za prikaz količine informacija i debugiranje
-v (povećaj količinu prikazanih informacija)

Povećava nivo količine prikazanih informacija, te Nmap prikazuje više informacija o tekućem sken procesu. Otvoreni portovi su prikazani odmah čim su otkrivani i Nmap prikazuje procjenu koliko vremena mu treba za završetak posla ako procijeni da će sken trajati više od nekoliko minuta. Ukoliko želite još više informacija, upišite ga dvaput. Korištenje -v opcije više od dva puta nema nikakav učinak.

Većina promjena koje se dobiju korištenjem ove opcije utječu na normalni i script kiddie izvještaj. Ostali izvještaji su namijenjeni za automatiziranu obradu, pa Nmap u njima može navesti dodatne informacije bez suvišnog opterećivanja korisnika. Ipak, postoji nekoliko promjena u ostalim modovima gdje veličinu izvještaja možete osjetno smanjiti ne navodeći neke detalje. Npr. komentirana linija u gerepabilnom formatu, koja daje listu svih skeniranih portova isprintana je samo u verose modu, jer može biti poprilično velika.

-d [level] (povećaj ili podesi nivo debugiranja)

Čak i kad verbose mod ne daje dovoljno informacija, debuging Vam stoji na raspolaganju, kako bi vas preplavio s još više podataka! Kao i kod opcje verbose (-v), uključujete ga s opcijom (-d), a sam nivo debugiranja možete povećati navođenjem opcije više puta. Čak možete navesti nivo debugiranja i navođenjem brojke nakon opcije (-d). Npr. (-d9) podešava nivo debugiranja 9. To je najviši mogući nivo i kao rezultat će dazi tisuće linija osim ako ste pokrenuli jako jednostavan sken s par ciljeva i portova.

Debuging izvještaj je koristan kad sumnjate da u Nmap-u postoji greška ili ako ste jednostavno zbunjeni oko toga što Nmap radi i zašto. Kako je ova opcija najviše namjenjena developerima, debug linije nisu uvijek samoobjaš njavajuće. Možete dobiti nešto poput: Timeout vals: Timeout vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000. Ukoliko ne razumijete liniju, jedini smjer kojim možete nastaviti je da je ignorirate, potražite u izvornom kodu programa ili zatražite pomoć na razvojnoj listi (nmap-dev). Neke linije su samoobjašnjavajuće, ali poruke postaju sve čudnije što je nivo debugiranja veći.

--packet-trace (Prati pakete i podatke koji su poslani/primljeni)

Nmap ispiše informaciju o svakom poslanom i primljenom paketu. Ovo se najčešće koristi za debugiranje, ali je isto tako dobar način za nove korisnike da saznaju što Nmap radi ispod haube. Kako bi izbjegli ispisivanje tisuća linija, odaberite ograničeni broj portova koje skenirate, npr. -p20-30. Ako Vas pak zanima samo što radi podsustav otkrivanja verzije, radije koristite opciju --version-trace.

--iflist (Izlista mrežne adaptere i rute)

Ispiše popis mrežnih adaptera i ruta kako ih vidi Nmap. To je korisno u debugiranju problema s rutanjem ili krivog prepoznavanja uređaja (kao kad recimo Nmap tretira PPP konekciju kao ethernet).

Ostale opcije izvještaja
--append-output (Dodaj rezultate u postojeći file umjesto da ih prepišeš)

Kad navedete naziv datoteke nakon opcija poput -oX ili -oN, datoteka istog imena je prepisan aako postoji. Ukoliko želite zadržati sadržaj postojeće datoteke i u njega dodati nove rezultate, navedite --append-output opciju. Svie navedene datoteke u tom pokretanju Nmap-a će biti sačuvane i u njoh će biti dodani novi podaci. To ne radi dobro s XML datotekama (-oX), jer tako dobivena datoteka neće biti ispravna dok je ručno ne prepravite.

--resume <filename> (Nastavi prekinut sken)

Neka temeljita Nmap skeniranja mogu potrajati i danima. Takvi skenovi ne uspiju uvijek odraditi posao do kraja. Zabrane mogu spriječiti Nmap da radi tijekom radnih sati, mreža može pasti, računalo na kojem je pokrenut Nmap može biti resetirano (planski ili neplanski) ili se čak sam Nmap može srušiti. Čak i osoba koja je pokrenula Nmap sken može biti ta koja će ga prekinuti korištenjem tipaka ctrl-C. Ponovno pokretanje cijelog skena nije isplativo. Na sreću, ukoliko ste spremali normalne (-oN) ili grepabilne (-oG) logove, možete zatraž iti Nmap da nastavi skeniranje tamo gdje je stalo. Jednostavno navedite opciju --resume i proslijedite naziv datoteke normalnom ili grepabilnom načinu skeniranja. Nisu dozvoljeni nikakvi drugi argumenti, jer će Nmap pretražiti postojeću datoteku i koristiti iste opcije koje je koristio i prije. jednostavno pozovite Nmap: nmap --resume<logfilename>. Nmap će dodati nove rezultate u postojeću datoteku. Nastavljanje ne podržava XML izvještaje, jer bi spajanje dvije datoteke u jednu ispravnu bilo prekomplicirano.

--stylesheet <putanja ili URL> (Podesi XSL stil za transformiranje XML izvještaja)

Nmap dolazi s XSL stilom nazvanim nmap.xsl koji je namijenjen za gledanje ili prevođenje XML izvještaja u HTML. XML izvještaj sadrži xml-stylesheet naredbu koja pokazuje na nmap.xml datoteku gdje je inicijalno instalitrana od Nmap-a (ili u trenutni direktorij u kojem je pokrenut Nmap kad je u pitanju Windows OS). Jednostavno otvorite Nmap-ov XML izvještaj u neki noviji web preglednik i on bi trebao dohvatiti nmap.xsl i iskoristiti ga za prikaz rezultata. Ukoliko ž elite koristiti neki drugi stil, navedite ga kao argument opciji --stylesheet. Morate navesti kompletnu putanju do njega ili URL. Npr. --stylesheet --stylesheet https://nmap.org/data/nmap.xsl. Ova naredba kaže pregledniku da učita zadnju verziju stila s isecure.org. Opcija --webxml čini isto to bez potrebe pretjeranog pisanja i pamćenja linka. Učitavanje XSL stila sa stranica insecure.org omogućava gledanje rezultata na jednostavniji način čak i računalima koja nemaju instaliran Nmap (a samim tim i nmap.xsl). Tako da je URL najčešće i korisniji, no, nmap.xsl-a koji se nalazi na datotečnom sustavu koristi se ukoliko želite imati više privatnosti.

--webxml (Učitaj stil sa stranice Insecure.Org)

Ovo je jednostavno kratica za --stylesheet https://nmap.org/data/nmap.xsl .

--no-stylesheet (Izbaci deklaraciju stila iz XML-a)

Ukoliko ne želite da Nmap poveže XSL stil s XML-om, odaberite ovu opciju. U tom slučaju se ne koristi naredba xml-stylesheet