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:
|

Tehnike skeniranja portovaKako nisam previše vičan popravcima na automobilu, mogu potrošiti sate i sate samo da nađem odgovarajući alat
(poput čekića, ljpljive trake, ključa isl.). Nakon što odustanem od smješnih pokušaja da nešto popravim i odvezem
auto kod stvarnog mehaničara, začuđen sam kako jednostavno i nadasve uspješno izvadi iz velike kutije s alatatom baš
onaj koji je potreban za uspješan popravak. Umjestnost skeniranja portova je slična. Stručnjak razumije mnoštvo
tehnika skeniranja i odabere baš onu (ili kombinaciju više tehnika) koja je odgovarajuća za određeni posao. Neiskusni
korisnisi i script kiddies (osobe koje koriste skripte koje je napisao netko drugi ne razumijevajući što i kako te
skripte rade), pokušavaju sve riješiti defaultnim SYN skanom. Kako je Nmap besplatan program, jedina prepreka između
Vas i masteriranja port skeninga je znanje. To je definitivno suprotno od automehaničarskog posla, u kojem recimo mož
ete znati da Vam treba zračni kompresor, ali to ne umanjuje činjenicu da ga trebate i kupiti.
Većina tipova skeniranja koje nmap podržava dostupni su privilegiranim korisnicima (morate biti ulogirani kao
administrator). To je zbog toga jer šalju sirove (RAW) pakete koji zahtjevaju root pristup u UNIX svijetu. Korištenje
administratorskog korisničkog accounta je preporučeno na windows operativnim sustavima, mada Nmap ponekad radi i s
neprivilegiranim korisnicima, ako je WinPCap prethodno instaliran na sustav i aktivan. Zahtjev za root privilegijama
je bila ozbiljna prepreka kad je Nmap prvi put pušten u javnost 1997. godine, jer je većina korisnika imala pristup
dijeljenim shell accountima. Sada je svijet drugačiji. Kompjutori su jeftiniji, veći broj ljudi ima stalni pristup
internetu, a desktop UNIX sustavi su dominantni (uključujući linux i MAC OS X). Windows verzija Nmap-a je također
dostupna, te je samim tim i Nmap dostupniji većem broju korisnika. Zbog svih tih razloga, sve je manja potreba
korisnika da pokreću Nmap logirani sa dijeljenim shell accountima. To je naravno super stvarm jer je Nmap pokrenut
pod accountom privilegiranog korisnika mnogo moćniji i fleksibilniji. Iako Nmap pokušava reproducirati ispravan rezultat svojih skenova, imajte na umu da su sve unutrašnje
komponente Nmap-a bazirane na paketima vraćenim od ciljanih računala (ili firewall uređaja ispred njih). Neki hostovi
mogu biti nepouzdani i podešeni na način da vrate pakete koji će zavarati Nmap i dati krivi rezultat. Još češći su
hostovi koji ne podržavaju RFC standard, te ne odgovaraju onako kako Nmap očekuje od njih. FIN, Null i Xmas skenovi
su pogotovo podložni tim problemima. Problemi poput gore navedenih su specifični za pojedine tipove skeniranja i o
tome se raspravlja u svakoj od tih tehnika skeniranja. Ovo poglavlje dokumentira hrpu tehnika skeniranja portova koje podržava Nmap. Samo jedna od spomenutih metoda
može biti korištena u jednom trenutku, osim UDP skena (-sU) koji može biti kombiniran s bilo kojom
od TCP sken matoda. Radi lakšeg pamćenja, opcije skeniranja portova su u obliku
-s<C>, gdje je <C> vidljiv iz samog naziva sken
tipa i obično je to prvo slovo. Jedini izuzetak je FTP bounce scan (-b). Defaultno, Nmap radi SYN
scan iako će ga zamijeniti s Connect() skenom, ako korisnik nema odgovarajuće ovlasti slanja raw paketa (root pristup
na UNIX sustavima) ili ako je specificirana IPv6 kao ciljana IP adresa. Od svih navedenih tipova skenova u ovom
poglavlju, neprivilegirani korisnik može pokrenuti samo Connect() i FTP bounce scan. -
-sS (TCP SYN scan) SYN scan je defaultni i najpopularniji način skeniranja i to zbog opravdanih razloga. Može ga se izvesti brzo,
može skenirati tisuće portova u sekundi na brzim mrežama koje nisu opterećene firewall uređajima koji utječu na
kretanje paketa. SYN scan je relativno neagresivan i nevidljiv, jer nikad ne završi TCP konekciju (ne uspostavi
trostruko rukovanje do kraja). Također je jednako efikasan na svim implementacijama TCP stacka, jer ne ovisi o
specifičnim platformama kao što je to slučaj kod Nmap-ovog Fin/Null/Xmas, Maimon i Idle skena. Također je u
mogućnosti čisto i pouzdano razlučiti između otvorenog,
zatvorenog i filtriranog stanja porta. Tehnika SYN scana se najčešće naziva poluotvoreno skeniranje, jer nikad ne uspostavite potpunu TCP konekciju.
Naime, pošaljete SYN paket, kao što bi ga poslali u slučaju da želite uspostaviti stvarnu TCP konekciju i čekate na
odgovor. Ako kao odgovor dobijete SYN/ACK, znači da postoji aplikacija koja sluša na tom portu (port je otvoren), dok
RST (reset) znači da ne postoji aplikacija koja sluša na tom portu (port je zatvoren). Ukoliko i nakon nekoliko
ponovnih slanja upita nema nikakvog odgovorar, port je okarakteriziran kao filtriran. Port je također označen kao
filtriran ako kao odgovor dođe ICMP unreachable error (ICMP nedostupan - tip 3, kodovi 1, 2, 3, 9, 10 ili 13). -
-sT (TCP connect() scan) TCP Connect() scan je defaultni TCP tip skeniranja ukoliko je SYN scan nedostupan. To se događa u slučajevima
kad korisnik nema privilegiju slanja raw paketa ili kad je skenirani host na IPv6 mreži. Umjesto da šalje raw pakete,
kao što to radi većina drugih tipova skeniranja, Nmap zatraži operativni sustav da uspostavi konekciju s ciljanim
računalom na poru kojiželimo skenirati, na način da pošalje connect() sistemski
poziv. To je isti sistemski poziv koji koriste web preglednici, P2P klijenti i većina drugih mrežnih aplikacija kad ž
ele uspostaviti konekciju. Dio je programskog unosa poznatog kao Berkeley Sockets API. Umjesto da iščitava raw pakete
Nmap koristi navedeni API kako bi dobio statusne informacije svake pokušane konekcije. Ukoliko je SYN scan dostupan, obično je i bolji odabir. Naime, Nmap ima puno manje kontrole nad connect() API pozivom, nego nad raw paketima, te je samim tim Nap manje efikasan. Sistemski
poziv napravi potpunu konekciju na otvorene portove ciljanog računala umjesto da napravi reset kao što je slučaj kod
SYN skena. Tim postupkom ne samo da gubimo više vremena kako bi saznali da li su portovi otvoreni ili ne, nego
postoji i veća vjerovatnost dsa će host zapisati u log pokušaj spajanja. Činjenica je da će svaki IDS sustav logirati
i SYN i Connect scan, ali isto tako je činjenica da većina računala nema IDS sustav. Većina servisa na UNIX-oidima će
dodati zapis u syslog i (ponekad) kriptičnu poruku o grešci, kad se Nmap spoji i odmah odspoji bez slanja podataka.
Jadno napisani servisi se skrše kad se to dogodi, mada je to stvarno rijetkost. Administrator koji vidi hrpu pokušaja
spajanja u logovima koji su svi inicirani s jednog hosta, odmah će znati da je netko skenirao portove Connect()
metodom. -
-sU (UDP skenovi) Iako većina popularnih servisa na internetu korisiti TCP protokol, UDP servisi su isto tako široko zastupljeni. DNS, SNMP i DHCP (registrirani portovi 53, 161/162 i
67/68) su tri najpoznatija. Zbog toga što je UDP skeniranje mnogo sporije i teže za izvesti nego TCP, neki sigurnosni
auditori, ignoriraju UDP portove. To je velika pogreška, jer su exploitabilni UDP servisi česta pojava i napadači ih
sigurno neće ignorirati. Srećom, Nmap može pomoći u istraživanju UDP portova. UDP scan aktivirate naredbom -sU. Može biti kombinirana s TCP skenom poput SYN skena (
-sS), kako bi oba protokola bili provjereni "jednim udarcem". UDP scan radi na način da pošalje prazan UDP header (bez podataka) na svaki ciljani port. Ukoliko je vraćen
ICMP port unreachable (ICMP nedostupan port) i to tip 3 kod 3, onda je port
zatvoren. Druge ICMP greške (tip 3, kodovi 1, 2, 9, 10 ili 13) označavaju port kao
filtriran.Povremeno će servis odgovriti s UDP paketom, dokazujući da je port
otvoren. Ukoliko nakon nekoliko retransmisija nema nikakvog odgovora, port je
okarakteriziran kao otvoren|filtriran. To znači da bi port mogao biti otvoren ili
možda paket filteri blokiraju promet prema njemu. Version scan (-sV) može pomoći da se ustanovi koji
portovi su stvarno otvoreni, a koji su filtrirani. Veliki izaziv kod skeniranja UDP portova je napraviti ti brzo. Otvoreni i filtrirani portovi rijetko pošalju
ikakav odgovor, ostavljajući Nmap da napravi time out, te nakon toga ponovno pošalje paket u slučaju da je prethodni
iz bilo kojeg razloga bio izgubljen. Zatvoreni portovi su često još veći problem. Oni najčešće pošalju kao odgovor
ICMP port unreacheble grešku. No, za razliku od RST paketa koje pošalju zatvoreni portovi na TCP protokolu kao odgovr
na SYN ili Connect() scan, mnogi hostovi ograničavaju ICMP port urnreachable poruku po defaultu. Linnux i Solaris su
jako striktni vezano za to. Tako npr. Linux 2.4.20 kernel ograničava destination unreachable poruku na jednu po
sekundi (u net/ipv4/icmp.c biblioteci).. Nmap pokušava ustanoviti da li je to slučaj i smanjuje brzinu skeniranja veano uz to, kako bi spriječio zaguš
ivanje nekorisnim paketima koje će ciljano računalo tako i tako tiho odbaciti. Nažalost, spomenuti limit koji je
postavljen kod linuxa, znači da će skeniranje svih 65536 portova trajati više od 18 sati. Ideja ubrzavanja UDP skena
je da se paralelno skenira više hostova, na način da se najprije skleniraju najpopularniji portovi na brz način,
skenirajući iza firewall-a i koristeći --host-timeout kako bi se izbjegli spori hostovi. -
-sN; -sF; -sX (TCP Null, FIN i Xmas skenovi) Ova tri tipa skenova (moguće ih je postići i više korištenjem --scanflags opcije opisane u
sljedećoj sekciji) iskorištavaju rupu u standardu TCP RFC
, kako bi razlučili koji port je otvoren, a koji
zatvoren. Na strani 65 piše: “Ukoliko je stanje odredišnog porta ZATVORENO ... dolazeći segment koji
ne sadrži RST prouzročuje da RST bude poslan kao odgovor.” Na idućoj stranici se raspravlja o paketima
poslanim na otovorene portove bez upaljenih SYN, RST ili ACK bitova i kaže da: “najvjerovatnije se nećete naći
u takovoj situaciji, ali ako se nađete, jednostavno odbacite paket.” Kod skeniranja sistema koji su kompatibilni s tim RFC tekstom, svaki paket koji u sebi ima upaljene bitove SYN,
RST ili ACK rezzultirat će vraćenim RST paketom ako je port zatvoren, a neće dati nikakav odgovor, ako je port
otvoren. Dok god nije upaljen niti jedan od tih bitova, bilo koja kombinacija druga tri bita (FIN, PSH i URG) je u
redu. Nmap to iskorištava s tri dolje navedena tipa skeniranja: - Null scan (
-sN) Ne uključuje niti jedan od bitova (TCP oznaka zaglavlja je 0) - FIN scan (
-sF) Uključuje samo TCP FIN bit - Xmas scan (
-sX) Uključuje FIN, PSH i URG flagove, "osvjetljavajući" paket kao božićno drvce. (op. prev. Xmas=Božić
Sva tri tipa skeniranja su potpuno ista što se ponašanja tiče, samo što su im upaljene različite TCP oznake u
paketima. Ukoliko je kao odgovor dobiven RST paket, port se smatra zatvorenim, dok
situacija u kojoj nema odgovora, smatra da je port otvoren|filtriran. Port je
označen kao filtriran, ako je odgovor na scan ICMP unreachable greška (tip 3,
kodovi 1, 2, 3, 9, 10 ili 13). Glavna prednost ovih tipova skeniranja je ta da mogu "proviriti" kroz neke ne stateful firewall uređaje i paket
filtering rutere. Druga prednost im je ta da su još više nevidljivi od SYN skena. No, nemojte se u to pouzdavati, jer
većina modernih IDS sustava može biti konfigurirana da ih prepozna. Veliki nedostatak je da ne podržavaju svi sistemi
RFC 793 do zadnjeg slova, pa tako većina sustava odgovara RST paketom bez obzira na to da li je port otvoren ili
nije. Kod takvih sustava su svi portovi koje Nmap skenira okarakterizirani kao zatvoreni
. Većina operativnih sustava koji se tako ponašaju su Microsoft Windows, većina Cisco uređaja, BSDI i IBM
OS/400. No, ovaj tip skeniranja radi na većini UNIX sustava. Dodatan nedostatak ovih tipova skenova je taj što ne
mogu razlikovati otvorene portove od nekih filtriranih
, te kao odgovor dobijete otvoren|filtriran, pa si vi mislite... -
-sA (TCP ACK scan) Ovaj tip skeniranja razlikuje se od ostalih do sad opisanih po tome što nikad ne otkrije otvorene ili čak otvorene|filtrirane portove. Namjena mu je
mapirati pravila firewall-a, tj. da zaključi da li je firewall stateful, te koji su portovi filtrirani. Kad je u pitanju ACK scan, onda je upaljena samo ACK zastavica (flag) (osim ako koristite --scanflags
). Kad skenirate nefiltrirane hostove, otvoreni i
zatvoreni portovi će vratiti RST paket. Nmap ih u tom slučaju označi kao nefiltrirane, što znači da su dostupni ACK paketima, ali nije definirano da li su otvoreni ili zatvoreni. Portovi koji ne odgovaraju na
upite ili pošalju određene ICMP greške (tip 3, kod 1, 2, 3, 9, 10 ili 13) su označeni kao
filtrirani. -
-sW (TCP Window scan) Window scan je sličan ACK scanu, samo što exploatira implamentacijske detalje operativnih sustava kako bi
razlučio otvorene portove od zatvorenih, umjesto da uvijek ispiše nefiltriran kad
dobije RST kao odgovor. To radi na način da pregleda TCP Window polje RST paketa koji je dobio. Na nekim sustavima
otovreni portovi koriste pozitivnu veličinu prozora (čak i za RST pakete), dok zatvoreni portovi imaju prozor
veličine 0. Dakle, umjesto da uvijek označi port kao nefiltriran kad dobije RST
kao odgovor, Window scan označi portove kao otvorene ili
zatvorene, ovisno o tome da li je veličina prozora pozitivna ili 0. Ovaj način skeniranja se pouzdaje u implementacijske detalje nekih operativnih sustava, tako da mu ne morate
uvijek vjerovati. Sistemi koji su "otporni" na ovaj način skeniranja obično će vratiti sve portove kao
zatvorene. Naravno isto tako je moguće da računal stvarno nema otovrenih portova.
Ukoliko je većina portova zatvorena, ali ima onih koji su označeni kao
filtrirani, (npr. češće korišteni portovi poput 22, 25, 53) , sustav je podložan
ovom načinu skeniranja i rezultat je najvjerovatnije ispravan. Ukoliko pokrenete sken koji vam vrati 1000 zatvorenih
portova i 3 otvorena ili filtrirana porta, najvjerovatnije su ta 3 porta uistinu i otvorena. -
-sM (TCP Maimon scan) Maimon scan je dobio naziv po osobi koja ga je otkrila - Uriel Maimon. Tehniku skeniranja je opisao u časopisu Phrack broj 49 (Studeni 1996). Nmap je izdan 2 godine kasnije i omogućavao je tu tehniku skeniranja. Tehnika je ista kao i Null, Xmas i FIN scan, osim što je paket koji se šalje FIN/ACK. Po RFC dokumentu 793 (TCP), treba odgovoriti RST paketom, bez obzira da li je port otvoren ili zatvoren. No, Uriel je primjetio da većina BSD sistema jednostavno odbaci paket ako je port otvoren.
-
--scanflags (Custom TCP scan) Napredni Nmap korisnici nisu vezani uz poznate tipove skenova. --scanflags opcija dozvoljava
da dizajnirate vlastiti tip skeniranja, navodeći bilo koju kombinaciju TCP zastavica (flagova). Neka važi kreativni
sokovi teku, dok izbjegavate otkrivanje svojih radnji od strane IDS sustava čiji su autori samo prošli kroz Nmap
opcije i dodali pravila koja prepoznaju navedene tipove skeniranja. --scanflags argument može biti brojčana vrijednost poput 9 (PSH i FIN), ali korištenje
simboličnih imena je jednostavnije. Jednostavno izmješajte zajedno bilo koju kombinaciju zastavica (flagova)
URG, ACK,
PSH, RST,
SYN i FIN.
Npr. --scanflags URGACKPSHRSTSYNFIN postavlja sve zastavice, ali nije pretjerano koristan za
skeniranje. Redosljed navođenja zastavica je nebitan.
Uz navođenje željenih zastavica, možete navesti i bazni TCP tip skeniranja (poput -sA ili
-sF), što će objasniti Nmap-u kako da interpretira odgovore. Npr. SYN scan tretira paket na koji
nije dobio odgovor kao filtriran port, dok ga FIN scan tretira kao
otvoren|filtriran. Nmap će se ponašati isto kao što se ponaša kod specificiranog
baznog skena, osim što će koristiti zastavice koje ste naveli. Ukoliko ne navedete bazni tip skeniranja, koristit će
se SYN scan. -
-sI <zombie
host[:probeport]> (Idlescan) Ova napredna metoda skeniranja omogućava slijepo skeniranje ciljanog računala (niti jedan paket nije
poslan na ciljano računalo s vaše stvarne IP adrese).Umjesto toga koristite zombie host računalo i
predvidljiv IP fragmentation ID na njemu kako bi dobili informaciju o tome koji su portovi otvoreni na
ciljanom računalu. IDS sustavi će pokazati da scan dolazi sa zombie mašine kojju ste specificirali kod
pokretanja ovog tipa skeniranja (zombie mora biti upaljen i mora zadovoljavati neke kriterije). Ovaj način
skeniranja je prekompleksan da bi ga ovdje opisali u potpunosti, pa sam napisao i postao informativni
članak sa svim detaljima na http://nmap.org/book/idlescan.html. Osim što je nevjerovatno nevidljiv (zbog načina na koji radi) ovaj tip skeniranja omogućava mapiranje
IP baziranih pravila između računala. Ispis portova pokazuje otvorene portove kako ih vidi zombi
računalo. Dakle, možete koristiti više zombie računala za skeniranje ciljanog računala. Možete staviti dvotočku i broj porta iza nje, kako bi na tom portu provjerili da li su IPID promjene
predvidljive. Ukoliko to ne navedete, Nmap će koristiti standardni port za TCP pinganje (80). -
-sO (IP protocol scan) IP protokol scan Vam omogućava da provjerite koji IP protokoli (TCP, ICMP, IGMP isl.) su podržani na ciljanim
mašinama. Tehnički gledano, to i nije port scan jer prolazi kroz brojeve IP protokola, a ne kroz brojeve TCP i UDP
portova. No ipak koristi opciju -p, kako bi odabrao skenirane brojeve IP protokola, ispisuje
rezultate u normalnoj tabeli kao i kod skeniranja portova, pa čak koristi i isti engine za skeniranje kao i kod
skeniranja portova. Kad sve to uzmemo u obzir - ova metoda skeniranja je dovoljno slična skeniranju portova, pa je
stoga i uključena u ovo poglavlje. Osim što je koristan sam po sebi, protokol scan pokazuje i snagu open source softvera. Iako je temeljna metoda
vrlo jednostavna, nisam je mislio uključiti u Nmap, niti sam dobio zahtjev za tom funkcionalnošću, sve dok u ljeto
2000, Gerhard Rieger nije razvio ideju, napisao izvanredan patch koji to implementira u Nmap i posalo na nmap-hakers
listu. Uključio sam taj patch u Nmap i pustio novu verziju već drugi dan. Jako malo komercijalnog softvera ima
korisnike koji su toliki entuzijasti da bi razvili vlastita poboljšanja za pojedine produkte! Protokol scan radi vrlo slično kao i UDP scan. Umjesto da prolazi kroz brojeve portova UDP paketa, šalje IP
pakete i prolazi kroz 8 bitnio polje samog IP protokola. Headeri (zaglavlja) su obično prazni i ne sadrže nikakve
podatke, pa čak niti ispravni header za određeni protokol. Izuzeci od tog pravila su TCP, UDP i ICMP protokol. Za te
protokole je uključen ispravan protokol header (zaglavlje), jer neki sustavi u suprotonom ne žele poslati paket, tako
da Nmap već ima funkcije za kreiranje ispravnih headera. Umjesto da čeka ICMP unreachable poruku, protokol scan traži
ICMP protoKol unreachable poruku. Ukoliko Nmap dobije bilo kakav odgovor u bilo kojem protokolu
od ciljanog računala, Nmap označi taj protokol kao oOtvoren. ICMP protocol
unreachable greška (tip 3, kod 2) označi protokol kao Zatvoren. Sve ostale ICMP
poruke (tip 3, kod 1, 3, 9, 10 i 13) označe protokol kao filtriran (iako je to
istovremeno dokaz da je ICMP protokol otvoren). Ukoliko ne dođe nikakav odgovor
nakon ponovnih pokušaja slanja, protokol je označen kao otvoren|filtriran. -
-b <ftp relay host> (FTP bounce scan) Zanimljiva funkcionalnost FTP protokola (RFC 959)
je podrška za tzv. proxy ftp konekcije. To omogućuje korisniku da se spoji na jedan FTP server, te nakon toga zatraži
da fileovi budu poslani na neki drugi FTP server. Ta funkcionalnost je sazrijela za napade na mnogo nivoa, tako da je
većina servera prestala pružati podršku za to. Jedan od napada koji je izvediv je taj da omogućava napadaču natjerati
FTP server da skenira druge FTP servera u potrazi za otvorenim portovima. Jednostavno zatražite od FTP servera da poš
alje datoteku na svaki od portova koji vas zanima na ciljanom računalu. Poruka o grešci koju ćete dobiti će vam raći
da li je port otvoren ili nije. To je ujedno i dobar način obilaženja firewall-a (vatrozida), jer su mnogi FTP
serveri smješteni tamo gdje imaju veći pristup unutrašnjim računalima, nego bilo koje računalo s interneta. Nmap
podržava FTP bounce scan s opcijom -b. Prima parametar u sljedećem obliku:
<username>:
<password>@<server>:<port>.
<Server> je naziv ili IP adresa ranjivog FTP servera. Kao i kod normalnog URL-a, možete
zanemariti <username>:<password>, te ćete se u tom slučaju spojiti
kao anonymous user i koriste se sljedeći parametri anonymous password:-wwwuser@. Broj porta i dvotočka ispred njega također mogu biti zanemarini, a u tom slučaju
ćete se spojiti na standardni FTP port (21). 1997., kad je Nmap lansiran, ova ranjivost je bila široko rasprostranjena, ali do sad je uglavnom "pokrpana" na većini računala. Ipak, još uvijek postoji ranjivi serveri, pa nije loše pokušati i ovu opciju kad sve oostale zataje. Ukoliko je obilaženje vatrozida vaš cilj, skenirajte ciljanu mrežu za otvorenim portom 21 (ili bilo koji ftp servis, ako skenirate sve portove s otkrivanjem verzije programa - version detection), te nakon toga pokušajte ftp bounce scan. Nmap će vam reći da li je host ranjiv ili nije. Ukoliko samo pokušavate sakriti tragove, ne biste trebali (u stvari ne biste smjeli) skenirati samo hostove na ciljanoj mreži. No, prije nego nasumično počnete skenirati za ranjivim ftp serverima na internetu, imajte na umu da većina sysadmina neće cijeniti što im "iskorištavate" servere na taj način
|
|