Nmap Security Scanner
Intro
Ref Guide
Install Guide
Download
Changelog
Book
Docs
Security Lists
Nmap Hackers
Nmap Dev
Bugtraq
Full Disclosure
Pen Test
Basics
More
Security Tools
Pass crackers
Sniffers
Vuln Scanners
Web scanners
Wireless
Exploitation
Packet crafters
More
Site News
Site Search:
Exploit World
Advertising
About/Contact
Credits
Sponsors:
|

Vrijeme odaziva i performanseJedan od najviših prioriteta tijekom razvijanja Nmap-a su performase. Defaultni scan
(nmap<hostname>) nekog računala na lokalnoj mreži
traje petinu sekunde. To je manje od vremena koje vam je potrebno za treptaj oka, ali naravno kad skenirate 10
ili 100 tisuća hostova postane osjetno. Uz to, neki tipovi skenova, poput UDP skeniranja i otkrivanja verzijemogu
to vrijeme poprilično produžiti. Isto tako skeniranje mogu usporiti i neke konfiguracije vatrozida, pogptovo
limitiranje količine odgovora u jedinici vremena.Iako Nmap koristi paralalno izvršavanje skenova kako bi ih
dodatno ubrzao, sam korisnik ima potpunu kontrolu nad time. Napredni korisnici pažljivo kombiniraju Nmap naredbe
kako bi dobili samo informacije koje im trebaju poštivajući vremenske termine koje su si zadali. Tehnike za ubrzavanje skeniranja sastoje se od toga da izbacite nepotrebne testove i naravno da nadogradite
Nmap na posljednju verziju (poboljšanja performansi se konstantno rade). Optimiziranje vremena odziva (engl.
Timing) takođem može utjecati na brzinu skeniranja. Opcije slijede: -
--min-hostgroup <numhosts>;
--max-hostgroup
<numhosts> (Podešava veličinu grupe paralelnih skenova) Nmap ima mogućnost skeniranja više hostova paralelno. To radi na način da podijeli adresni prostor ciljanih
računala u grupe i onda skenira grupu po grupu. U principu ispada da su veće grupe učinkovitije. Nedostatak je taj š
to rezultati ne mogu biti prikazani dok cijela grupa nije odskenirana do kraja. Dakle, ako je Nmap krenuo skenirati
grupu od 50 računala, korisnik nrćr vidjeti nikakve rezultate (osim onih koje ispisuje opcija -v) dok svih 50 hostova
nije odskenirano.
Defaultno Nmap radi kompromis. Počinje s grupom od 5 hostova, tako da se prvi rezultati brzo pojave na ekranu, a
nakon toga poveća veličinu grupe na 1024. Točan broj ovisi o uključenim opcijama. Zbog povećane efikasnosti Nmap
koristi veće grupe za UDP skenove, a manje za TCP skenove.
Kad definirate maksimalnu veličinu grupe pomoću opcije --max-hostgroup, Nmap je neće nikad
premašiti. Ukoliko pak specificirate minimalnu veličinu grupe s --min-hostgroup, Nmap će pokušati
zadržati veličinu grupe iznad tog nivoa. Naravno, ukoliko broj hostova koji su ostali za skeniranje bude manji od
minimalne grupa Nmap će normalno odraditi svoj posao. Obje opcije možete koristiti istovremeno kako bi veličinu grupe
zadržali u željenim okvirima, ali to je rijetko potrebno. Primarna upotrenba ovih opcija je navođenje što veće minimalne veličine grupe kako bi skenovi brže odradili
svoj posao. Najčeđći odabir je 256, kako bi skeniranje mreže išlo u odsječcima C klase. Za skenove u kojima se
skenira mnogo portova, povećanje tog broja iznad 256 će rijetko pomoći. Ukoliko pak skenirate samo nekoliko portova,
veličina grupe od 2048 ili više, može biti od pomoći. -
--min-parallelism <numprobes>;
--max-parallelism
<numprobes> (Podesi paralelizam) Ove opcije upravljaju brojem sondi (engl. probe) koje mogu biti poslane po grupi hostova. Koriste se za
skeniranje portova i otkrivanje hostova. Defaultno Nmap svaki put izračuna idealni paralelizam vezano uz mrežne
performanse, a mijenja ga tijekom skena, ovisno o ujetima. Ukoliko dolazi do odbačenih paketa, Nmap uspori tj. šalje
manje sondi. Broj sondi polako raste ako mreža daje naznaku da može prihvatiti više od trenutnog broja. Ove opcije
postavljaju minimalnu i maksimalnu granicu. Defaultno paralelizam može pasti na 1 ako je mreža nepouzdana ili narasti
na nekoliko stotina, ako imamo idealne uvjete. Najčešći način upotrebe je da se podesi --min-parallelism na broj veći od 1 kako bi se ubrzalo
skeniranje sporijih hostova i mreža. To je ujedno i riskantna opcija, jer ako podesite prevelik broj, utjecat ćete na
točnost skena. Isto tako, ukolik opodesite ovu opciju, sprječavate Nmap da dinamički upravlja paralelizmom vezano uz
stvarne uvjete na mreži. Broj 10 ima smisla, ali osobno podešavam tu vrijednost kad nemam ništa drugo na
rapolaganju. Opcija --max-parallelism stavite na 1 ukoliko želite spriječiti Nmap da koristi paralelizam,
tj. želite da šalje samo jednu po jednu sondu.To može biti korisno u kombinaciji s opcijom --scan-delay
(objasnit ćemo je kasnije), mada ta opcija sama po sebi služi svrsi dovoljno dobro. -
--min_rtt_timeout <time>,
--max-rtt-timeout <time>,
--initial-rtt-timeout
<time> (Podesi vrijeme trajanja sondi) Nmap pazi na vrijeme isteka da bi mogao ustanoviti koliko dugo će čekati na odgovor sonde prije nego odustane
ili ponovno pokuša poslati istu sondu. To se izračunava na osnovu prethodnih sondi i vremenskog odaziva koji su
imale. Ukoliko se mrežno kašnjenje pokaže značajnim i promjenjivim, vrijeme isteka može narasti i na nekoliko
sekundi. Također počinje na konzervativnom (visokom) nivou i takvo će ostati u slučaju da Nmap skenira hostove koji
ne odgovaraju. Ove opcije primaju vrijednost u milisekundama, ali vi možete navesti vrijeme u sekundama, minutama ili satima
na način da stavite opciju s, m ili
h. Navođenje nižeg --max-rtt-timeout i
--initial-rtt-timeout od defaultnog može osjetno skratiti vrijeme potrebno za skeniranje. To je
posebno vidljivo kod (-P0) skenova i skenova prema jako filtriranim mrežama. Ipak, nemojte biti
preagresivni, jer vam u tom slučaju skeniranje može i dulje potrajati, jer će Nmap ponovno slati sonde, a odgovr na
prethodne je možda na putu nazad. Ukoliko su svi hostovi na lokalnoj mreži, 100ms je razumna vrijednost za --max-rtt-timeout
_timeout. Ukoliko postoje ruteri između Nmapa i hostova, najprije pingajte hosta s ICMP ping alatom ili s naprednijim
alatom poput Hping2 koji ima veće mogućnosti proći kroz vatrozid. Pogledajte koja je srednja vrijednost vremena
portebnog da se paket vrati za 10-tak paketa. Tu vrijednost pomnožite s 2 za --initial-rtt-timeout i
s 3 ili 4 za --max-rtt-timeout. Osobno ne postavljam maksimalni rtt ispod 100ms, bez obzira na
vrijednosti koje dobijem pinganjem, niti stavljam više od 1000ms. --min-rtt-timeout je rijetko korištena opcija koja može biti korisna kod jako nepouzdanih mrež
a na kojima su čak i Nmap-ove defaultne postavke preagresivne. Kako Nmap spušta vrijeme isteka na minimum tek kad
zaključi da je mreža pouzdana, ovo bi trebalo prijeviti kao bug na nmap-dev mailing listu.
-
--max-retries <numtries> (Navedi maksimalni broj ponovnih slanja sondi)
Kad Nmap ne dobije odgovor na sondu koja skenira port, to može značiti da je port filtriran ili to da je sonda
ili odgovor na nju izgubljen na mreži. Isto tako je moguće da ciljani host ima podešenu granicu na količinu paketa na
koje odgovara, pa je samo privremeno blokiran odgovor. Kako bi bio siuguran o čemiu je riječ, Nmap ponovno šalje
sonde na koje nije dobio odgovor. Ukoliko ustanovi da je mreža nepouzdana, može se dogoditi da pošalje sondu još
mnogo puta prije nego odustane. Ovo je opcija koja daje točnije rezultate, ali isto tako i usporava postupak
skeniranja. Kad je brzina skeniranja ključna, možete koristiti ovu opciju kako bi ograničili broj ponovnih slanja
sondi. Čak možete navesti i --max-retries 0 kako bi u potunosti spriječili ponovno slanje, makar je
to rijetko preporučljivo.
Defaultna postavka (bez -T predloška) je 10 ponovnih slanja. Ukoliko se mreža pokaže pouzdanom
i ciljani hostovi ne ograničavaju skeniranje, Nmap će napraviti samo jedno ponovno slanje. Gledano iz tog kuta, na
većinu ciljanih računala ne utječe ako stavite --max-retries na nizak broj poput 3. To je vrijednost
koja može mnogostruko ubrzati skeniranje sporih hostova (onih koji ne dozvoljavaju mnogo port skenova s jedne IP
adrese, nego ih jednostavno blokiraju). Istina je da obično izgubite neke informacija ako Nmap prerano odustane od
hosta, ali i to je bolje nego ostaviti --host-timeout da istekne i izgibiti sve informacije o
ciljanom hostu.
-
--host-timeout <time> (odustani od skeniranja sporih hostova)
Skeniranje nekih hostova jednostavno traje jako dugo. To može biti zbog lošeg mrežnog
hardvera ili softvera, ograničavanju količine paketa ili restriktivnih vatrozida. Nekoliko posto sporih hostova, mogu
“pojesti” većinu vremena koje je potrebno za skeniranje. Ponekad je najbolje odustati od skeniranja
takvih hostova kako bi stvar brže završila. To možete napraviti navođenjem parametra --host-timeout
s brojem milisekundi koliko ste voljni čekati odgovor. Možete staviti i s,
m ili h kako bi naveli sekunde, minute i sate.
Osobno obično stavim 30m kako bih se osigurao da Nmap ne troši više od 30m vremena
po hostu. Imajte na umu da će Nmap za to vrijeme skenirati i ostale hostove, tako da to nije u potpunosti izgubljeno
vrijeme. Host koji je dosegao vrijeme isteka je preskočen i z anjega nije ispisan nikakav rezultat poput port tabele,
OS detekcije ili detekcije verzija.
-
--scan-delay <time>;
--max_scan-delay
<time> (podesi stanke između sondi) Ova opcija prisiljava Nmap da pričeka barem navedeno vrijeme u milisekundama prije nego pošalje iduću sondu
prema tom hostu. Kao i kod većine drugih opcija koje imaju veze s vremenom, možete navesti
s, m ili h da bi definirali kašnjenje
u sekundama, minutama ili satima. To je itekako korisno kod računala koja imaju upaljen "rate limiting". Solaris
računala (između ostalih) će na UDP sken sonde odgovarati samo s jednom ICMP porukom po sekundi. Ako Nmap šalje UDP
pakete češće od 1 sekunde, ti su paketa jednostavno uludo bačeni. Opcija --scan-delay od
1s će zadržati Nmap u sporom tempu. Nmap pokušava ustanoviti koji je "rate limit"
podešen na jostu i prilagođava sken ovisno o tome, ali neće škoditi ako ga unaprijed definirate za hostove za koje
ste sigurni da će se tako ponašati.
Kad Nmap podesi sken shodno tome, dolazi do dramatičnog usporavanja. --max_scan-delay opcija
definira najveće kašnjanje koje će Nmap dozvoliti. Ukoliko podesite ovu opciju na premalu vrijednost, doći će do
uzaludnog (prečestog) slanja paketa i samim tim promašenih otvorenih portova ako ciljani host ima uključen “
rate limiting”.
Još jedno način korištenja opcije --scan-delay je da se izbjegnu intrusion detection i
intrusion prevention (IDS/IPS) sustavi, koji su bazirani na zadanoj vrijednosti (engl. treshold). -
-T
<Paranoid|Sneaky|Polite|Normal|Aggressive|Insane>
(Podesite predložak za vremenske postavke)
Iako su do sad navedene opcije snažne i efikasne, većini ljudi su nerazumljive i zbunjujuće. Uz to, odabrati
prave vrijednosti ponekad može potrajati duže od skena koji želite optimizirati. Zbog toga Vam Nmap nudi
jednostavniji pristup, korištenjem 6 preddefiniranih predložaka. Možete ih navesti korištenjem -T
opcije s brojevima od 0-5 ili njihovim imenima.Nazivi predložaka su: paranoidno (engl. paranoid) (0), skriven (engl.
sneaky) (1), pristojan (eng. polite) (2), normalan (engl. normal) (3), agresivan (engl. aggressive) (4) i lud (engl.
insane) (5). Prva dva su za obilaženje IDS sustava. Predložak pristojan usporava skeniranje kako bi što je moguće
manje opteretio mrežne resurse i računalo koje skenirate. Normalni mod je defaultna postavka i postavljanje opcije
-T3 zapravo ne uvodi nikakve promjene. Agresivni mod ubrzava skeniranje pod pretpostavkom da ste na
poprilično brzoj i pouzdanoj mreži. Na kraju "ludi" mod pretpostavlja da ste na posebno brzoj mreži i da ste spremni
žrtvovati točnost rezultata kako bi dobili na brzini.
Navedeni predlošci omogućavaju korisnicima da navedu koliko agresivni žele biti, ostavljajući Nmap-u da odabere
točne vrijednosti. Predlošci također rade neka manja podešavanja brzine za koja trenutno ne postoje drugi načini.
Npr. -T4 sprječava da dinamičko kašnjenje skeniranja prijeđe 10ms za TCP portove, dok
-T5 drži tu vrijednost na 5ms. Predlođke možete kombinirati s finijim kontrolama, sve dok je
template naveden prvi inače će vrijednosti iz predloška nadjačati one koje ste naveli. Predlažem korisštenje opcije
-T4 kod skeniranja modernih i pouzdanih mreža. Ostavite tu opciju na početku komandne linije čak i
kad koristite neke finije naredbe kako bi imali koristi od dodatnih optimizacija koje predložak donosi. Ukoliko ste na pristojnoj broadband ili eternet konekciji, predlažem korištenje opcije -T4.
Neki ljudi vole -T5, mada je preagresoivan za moj ukus. Isto tako ljudi ponekad stave
-T2 misleći da je manja vjerovatnost da će tako srušiti host ili se inače smatraju pristojnima. No
oni u stvari ne razumiju koliko je opcije -T pristojno u stvari spora. Ovaj način skeniranja može
potrajati i do 10 puta duže nego defaultni.Padovi računala i problemi s bandwithom su rijetki s korištenjem defaultne
opcije -T3, pa je normalno preporučam opreznim skenerima.Izbjegavanje otkrivanja verzije je u svakom
slučaju efikasnije u pokušaju rješevanja tih problema nego igranje s vremenima odaziva. Iako su opcije -T0 i -T1 korisne u izbjegavanju otkrivanja od strane IDS
sustava, skeniranje tisuću portova će trajati jaaaako dugo. Kod takcih skenova je možda bolje direktno navesti
vremena odaziva nego se pouzdati u preddefinirane vrijednosti opcija -T0 i -T1.
Glavni efekt korištenja opcije T0 je taj da su skenovi serijski (skenira se port po port) i
nakon odskeniranog porta čeka 5 minuta prije nego će poslati iduću sondu.T1 i
T2 su slični s tim da T1 čeka 15 sekundi između sondi, dok T2 čeka
0.4 sekunde između sondi. T3 je defaultna postavka koja uključuje paralilizam (skenirano je više
portova istovremeno). Opcije T3 je isto kao i --max-rtt-timeout 1250
--initial-rtt-timeout 500 --max-retries 6, te podešava maksimalno TCP kašnjenje na 10ms. Opcija T5
je isto kao i --max-rtt-timeout 300 --min_rtt_timeout 50
--initial-rtt-timeout 250 --max-retries 2 --host-timeout 900000 kao i postavljanje maksimalnog TCP sken kaš
njenja na 5ms.
|
|