Wireshark je besplatan program, otvorenog koda, za analizu mrežnog prometa, rješavanje mrežnih problema te razvoj mrežnih protokola i edukativne svrhe. Dostupan je za više različitih operacijskih sustava primjeri kojih su: GNU/Linux, OS X, BDS, Solaris i Microsoft Windows. Postoji i verzija za terminal zvana TShark. Razvijen je u programskim jezicima C i C++, a razvio ga je Wireshark tim.
Kao što je već spomenuto Wireshark je alat za analizu događanja u mreži. Kao što voltmetrom možemo mjeriti promjene napona u električnom kabelu tako wiresharkom možemo pratiti događanja u mreži. Wireshark hvata mrežne pakete te nastoji prikazati i protumačiti njihov sadržaj na najtočniji odnosno najefikasniji mogući način. Neke od mogućnosti koje wireshark pruža su:
Iako njegovo ime ne bi tako nalagalo wireshark omogućuje hvatanje paketa i u bežičnim mrežama. Na kojim je sve medijima moguće provesti mrežnu analizu dosta ovisi o operacijskom sistemu na kojem je program instaliran. Pregled medija koje je moguće analizirati ovisno o operacijskom sustavu dan je u tablici 1.1. .
AIX | FreeBSD | HP-UX | Irix | Linux | Mac OS X | NetBSD | OpenBSD | Solaris | Tru64 UNIX | Windows | |
Fizička sučelja |
|||||||||||
ATM | Da | Ne | Da | ||||||||
Bluetooth | Ne | Ne | Ne | Ne | Da | Ne | Ne | Ne | Ne | Ne | Ne |
CiscoHDLC | Da | Da | Da | Da | |||||||
Ethernet | Da | Da | Da | Da | Da | Da | Da | Da | Da | Da | Da |
FDDI | Da | Ne | Da | ||||||||
FrameRelay | Ne | Ne | Da | Ne | Ne | Ne | Ne | ||||
IrDA | Ne | Ne | Ne | Ne | Da | Ne | Ne | Ne | Ne | Ne | Ne |
PPP | Da | Da | Ne | Da | |||||||
TokenRing | Da | Da | Ne | Da | Ne | Da | Da | Da | Da | ||
USB | Ne | Ne | Ne | Ne | Da | Ne | Ne | Ne | Ne | Ne | Ne |
WLAN | Da | Da | Da | Da | Da | Da | |||||
Virtualna sučelja |
|||||||||||
Loopback | Da | Ne | Da | Da | Da | Da | Ne | Da | |||
VLAN Tags | Da | Da | Da | Da | Da | Da | Da | Da | Da | Da |
Tablica 1.1.
Wireshark isto tako omogućuju unošenje odnosno uvoženje podataka o mrežnim paketima uhvaćenim s drugim programima za mrežnu analizu. Moguće je uvoženje idućih vrsta datotečnih zapisa:
Pakete uhvaćene wireshark alatom moguće je i trajno pohraniti u nekom od idućih formata:
Performanse svih prethodno navedenih opcija tj. funkcionalnosti dosta ovise o radnom okruženju unutar kojeg se Wireshark koristi. Na performanse najviše utječe veličina uhvaćenih mrežnih paketa koji se analiziraju. Ukoliko njihova veličina premašuje memorijske kapacitete sustava program će se srušiti. Važno je napomenuti da iako Wireshark za hvatanje paketa koristi odvojene dretve glavno sučelje je jednodretveno što kao posljedicu ima nemogućnost poboljšanja performansi programa u višejezgrenim okruženjima
Važno je još napomenuti da Wireshark ne omogućuje detekciju invazivnih događanja u mreži, ali može pomoći u njihovom otkrivanju. Isto tako Wireshark-om se ne može djelovati u mreži odnosno odašiljati pakete po mreži. Možemo zaključiti kako je Wireshark promatrač mreže, a ne njen aktivni sudionik.
Za instalaciju Wireshark-a na Windowse ili Mac OS X dovoljno je otići na: https://www.wireshark.org/download.html te preuzeti odgovarajuću instalaciju i pokrenuti ju.
Ukoliko se Wireshark instalira na neki drugi operativni sustav najbolja opcija je instalacija iz izvornog koda. Iako mnogi operativni sustavi imaju u sebi izvorno instaliran Wireshark često je verzija dobivena s operativnim sustavom zastarjela pa je stoga bolje instalirati novu verziju. Proces instalacije je moguće podijeliti u tri osnovna koraka:
Preuzimanje izvornog koda i njegovog binarnog zapisa moguće je na adresi: https://www.wireshark.org/ .
Instalaciju na UNIX sustav moguće je podijeliti u 5 koraka:
Ukoliko se izvorni kod nalazi u zip datoteci potrebno ga je raspakirati. To je izvedivo pomoću naredbe:
$ tar xaf wireshark -2.0.5.tar.bz2
Za UNIX i Linux sustave koji koriste GNU tar.
$ bzip2 –d wireshark-2.0.5.tar.bz2
$ tar xf wireshark-2.0.5. tar
Za ostale UNIX sustave
Nakon toga potrebno se pozicionirati na Wireshark direktorij s izvornim kodom što se radi naredbom:
Prije izgradnje izvornog koda potrebno ga je konfigurirati za trenutni UNIX sustav što se provodi naredbom:
Potom se izvorni kod izgradi naredbom:
Te se konačno instalira na željenu lokaciju naredbom:
Nakon provođenja navedenih koraka program je spreman za korištenje.
Izgled glavnog prozora prilikom analize uhvaćenih paketa prikazan je na slici 3.1. Glavni prozor možemo podijeliti na 7 logičkih cjelina:
3.1.-Grafičko sučelje Wireshark alata
Meni omogućuje iduće opcije:
File – pruža mogućnosti otvaranja i spajanja različitih datoteka te spremanja, ispisa i izvoženja kompletnih ili dijelova uhvaćenih paketa odnosno datoteka. Pruža mogućnost terminiranja programa.
Edit – pruža mogućnosti traženja paketa, njihovog referenciranja i vremenskog označavanja. Omogućuje i podešavanje konfiguracije programa i postavljanje vlastitih preferenci u programu.
View – omogućuje kontrolu prikaza uhvaćenih paketa
Go – pruža opciju pozicioniranja na određeni paket
Capture – pruža mogućnosti pokretanja i zaustavljanja hvatanja paketa te podešavanja filtriranja paketa koji se hvataju
Analyze – pruža mogućnosti prikaznih filtara, omogućavanje odnosno onemogućavanje analize protokola te konfiguriranje korisničkih dekodiranja uhvaćenih paketa i praćenje TCP protoka.
Statistics – omogućuje prikaz raznih statistika o uhvaćenim paketima te prikaz protokolarne hijerarhije
Telephony – pruža mogućnosti prikaza raznih statistika vezanih uz telefoniju.
Internals – pruža informacije o unutrašnjim funkcioniranjima samog Wireshark alata
Help – pruža korisniku pomoć pri korištenju alata
Kao što je rečeno glavna alatna traka pruža brzi pristup često korištenim alatima. Glavna alatna traka pruža funkcionalnosti navedene u tablici 3.1. .
Ikona u alatnoj traci | Ime stavke alatne trake | Pristup istoj stavci preko meni-a | Opis |
![]() |
Interfaces… | Capture →Interfaces… |
Pokreće CIL(Capture Interface List) prozor. |
![]() |
Options… | Capture →Options… |
Omogućuje postavljanje postavki za hvatanje paketa te pokretanje hvatanja. |
![]() |
Start | Capture →Start |
Služi za pokretanje hvatanja paketa po trenutnim postavkama. |
![]() |
Stop | Capture →Stop |
Služi za zaustavljanje hvatanja paketa. |
![]() |
Restart | Capture →Restart |
Zaustavi trenutni proces hvatanja paketa te pokrene novi. |
![]() |
Open… | File → Open… |
Omogućuje učitavanje datoteke s prije uhvaćenim paketima. |
![]() |
Save As… | File → Save As… |
Omogućuje spremanje trenutno uhvaćenih paketa u datotečnom obliku. |
![]() |
Close | File → Close |
Omogućuje prekidanje i zatvaranje trenutnog hvatanja paketa. |
![]() |
Reload | View → Reload |
Omogućuje ponovno učitavanje zatvorene datoteke s uhvaćenim paketima. |
![]() |
Print… | File → Print… |
Omogućuje ispis zapisa o svim trenutno uhvaćenim paketima. |
![]() |
Find Packet… | Edit → Find Packet… |
Pokreće prozor za traženje specifičnog paketa. |
![]() |
Go Back | Go → Go Back |
Omogućuje pomicanje unazad po paketima. |
![]() |
Go Forward | Go → Go Forward |
Omogućuje pokretanje unaprijed po paketima. |
![]() |
Go to Packet… | Go → Go to Packet… |
Pokreće prozor za pozicioniranje na određeni paket. |
![]() |
Go To First Packet | Go → First Packet |
Pozicionira korisnika na prvi uhvaćeni paket. |
![]() |
Go To Last Packet | Go → Last Packet |
Pozicionira korisnika na zadnji uhvaćeni paket |
![]() |
Colorize | View →Colorize |
Uključuje odnosno isključuje višebojni prikaz uhvaćenih paketa. |
![]() |
Auto Scroll in Live Capture | View → Auto Scroll in Live Capture |
Uključuje automatsko pomicanje liste paketa prilikom trenutno aktivnog hvatanja paketa. |
![]() |
Zoom In | View → Zoom In |
Omogućuje povećanje fonta podataka o uhvaćenom paketu. |
![]() |
Zoom Out | View → Zoom Out |
Omogućuje smanjenje fonta podatka o uhvaćenom paketu |
![]() |
Normal Size | View →Normal Size |
Vraća font podatka o uhvaćenom paketu na početnu veličinu. |
![]() |
Resize Columns | View → Resize Columns |
Prilagođava širinu stupaca koji sadrže podatke o uhvaćenom paketu tako da odgovaraju sadržaju. |
![]() |
Capture Filters… | Capture →Capture Filters… |
Pokreće prozor koji omogućuje konfiguriranje filtara za hvatanje pakte te njihovo pohranjivanje i korištenje prethodno spremljenih konfiguracija. |
![]() |
Display Filters… | Analyze →Display Filters… |
Pokreće prozor koji omogućuje konfiguriranje filtara za prikaz uhvaćenih pakte te njihovo pohranjivanje i korištenje prethodno spremljenih konfiguracija. |
![]() |
Coloring Rules… | View →Coloring Rules… |
Omogućuje korisničko označavanje paketa različitim bojama. |
![]() |
Preferences… | Edit →Preferences |
Pokreće prozor za postavljanje vlastitih postavki. |
![]() |
Help | Help →Contents |
Pokreće prozor za pomoć korisniku u radu. |
Tablica 3.1.- Lista stavki glavne alatne trake
Alatna traka za filtriranje omogućuje brzo postavljanje postavki vezanih uz prikazne filtre. Alatna traka za filtriranje pruža funkcionalnosti navedene u tablici 3.2. .
Ikona u alatnoj traci | Ime stavke alatne trake | Opis | |
![]() |
Filter |
Pokreće prozor s prikazom detalja trenutnog filtra |
|
Filter input |
Služi za unos tekstualnog zapisa po kojem će se filtrirati. |
||
![]() |
Expression… |
Omogućuje ažuriranje prikaznog filtra. |
|
![]() |
Clear |
Resetira trenutni prikazni filtar. |
|
![]() |
Apply |
Primjeni trenutnu vrijednost kao prikazni filtar. |
|
Tablica 3.2. –Lista stavki alatne trake za filtriranje
Lista uhvaćenih paketa prikazuje uhvaćene pakete i bazične informacije o njima te omogućuje selektiranje pojedinačnog paketa. Na slici 3.2. vidimo listu uhvaćenih paketa te naznačene bazične informacije o njima.
3.2.-Primjer liste uhvaćenih paketa
U ovoj listi očekivano se nalaze detaljni podaci o trenutno selektiranom paketu. Tu se nalazi programska interpretacija podataka u uhvaćenom paketu. Lista sadrži pet polja, a to su:
3.3.-Primjer liste detalja o trenutno selektiranom paketu
Kao što je vidljivo iz slike 3.3. svako polje je moguće ekspandirati za njegov detaljniji prikaz odnosno sakriti ukoliko njegov sadržaj trenutno nije od interesa. Detaljan prikaz polja vidljiv je na slikama 3.4.-3.8. .
3.4.-Polje općih podataka o uhvaćenom paketu
3.5.-Polje podataka vezanih uz sloj podatkovne poveznice
3.6.- Polje podataka vezanih uz mrežni sloj
3.7.- Polje podatka vezanih uz transportni sloj
3.8.- Polje podataka vezanih uz sesijski sloj
Iako je značenje sadržaja ovih polja važno za razumno korištenje Wireshark alata ono nije primaran fokus ovo teksta stoga se čitatelja zainteresiranog za značenje detalja u prikazu polja upućuje na : [3] i [4].
U ovom polju nalazi se oktalan zapis podataka trenutno selektiranog paketa, lijevo od podataka navedeno je odstupanje podataka u zapisu, a desno se nalazi ASCII interpretacija podataka. Ukoliko Wireshark detektira povezanost više paketa u ovom polju će biti prikazan sadržaj svih tih paketa spojenih u jednu logičku cjelinu. Primjer podatkovnog polja prikazan je na slici 3.9. .
3.9.- Primjer oktalna zapisa trenutno selektiranog paketa
Statusna traka prikazuje status trenutne analize paketa. S lijeve strane se prikazuje stanje trenutne analize, u sredini se nalaze informacije o broju paketa te njihovom prikazu, skroz desno se nalaze informacije o trenutno korištenoj konfiguraciji za analizu paketa. Primjer statusne trake vidljiv je na slici 3.10. .
3.10.- Primjer statusne trake
Jedina moguća interakcija s statusnom trakom je na skroz desnom polje. Ukoliko se pritisne da njega podiže se prozor za podešavanje trenutne konfiguracije korištene u analizi.
Hvatanje trenutnog mrežnog prometa je središnja funkcija Wireshark alata. Glavne funkcionalnosti koje pruža Wireshark alat za hvatanje paket su:
Kako bi se pokrenulo hvatanje paketa potrebno je osigurati potrebna dopuštenja odnosno pravo na hvatanje paketa na zadatom mjestu u mreži te je potrebno ispravno odabrati mrežno sučelje preko kojeg prolaze podaci od interesa. Odabir mrežnog sučelja najlakše je izvesti pritiskom na ikonu Interface u glavnoj alatnoj traci. Nakon odabira sučelja dovoljno je pritisnuti tipku start kako bi se počeo hvatati mrežni promet. Spomenuti elementi istaknuti su na slici 4.1. .
4.1.- Primjer osnovnih funkcionalnosti prilikom hvatanja paketa
Ukoliko se želi pratiti promet na više mrežnih sučelja dovoljno je u listi mrežnih sučelja odabrati odnosno označiti više sučelja. Naočigled ovaj postupak izgleda vrlo jednostavno, ipak za efikasno korištenje alata potrebno ga je raščlaniti na dijelove te se sa svakim dijelom pokretanja detaljnije upoznati.
Iako su same osnove izbora mrežnog sučelja navedene potrebno se detaljnije upoznati s prozorom koji nudi listu raspoloživih mrežnih sučelja. Prozor se može podijeliti na iduće dijelove:
4.2.- Prozor s listom raspoloživih mrežnih sučelja
Većina navedenih dijelova je intuitivno shvatljiva i nije potrebna njihova detaljnija analiza. Od navedenih dijelova posebno su zanimljivi tipka za pregled detalja sučelja te tipka za podešavanje opcija vezanih uz hvatanje paketa, a za rad s Wireshark alatom izuzetno je korisno dobro poznavanje opcija vezanih uz hvatanje paketa.
Detaljima sučelja moguće je pristupiti pritiskom na tipku Details u prozoru za izbor mrežnog sučelja. Prilikom pritiska otvara se prozor s informacijama o sučelju. U prozor je moguć pregled općih karakteristika mrežnog sučelja, pregled statistike rada odabranog sučelja i pregled protokola koji se odvijaju na odabranom sučelju. Detalji navedeni u ovom prozoru mogu biti korisni prilikom dubinske analize događanja u mreži. Primjer prozora s detaljima sučelja prikazan je na slici 4.3. .
4.3.- Prozor s detaljima sučelja
Kako bi se pristupilo podešavanju opcija vezanih uz hvatanje paketa na određenom sučelju prilikom odabira tog sučelja u prozoru s listom sučelja potrebno je pritisnuti tipku za podešavanje opcija vezanih uz hvatanje paketa. Pritiskom na spomenutu tipku otvara se prozor vidljiv na slici 4.4. . Prozor se sastoji od pet okvira te tri tipke koje ne pripadaju ni jednom od njih:
4.4.- Prozor za podešavanje opcija hvatanja
Prvi element Capture okvira je tablica koja prikazuje:
Tablica nudi mogućnost odabira sučelja na kojem se želi provoditi hvatanje paketa. Ukoliko se dva puta klikne na sučelje navedeno u tablici tada će se otvoriti prozor za podešavanje sučelja, vidljiv na slici 4.5. . Unutar ovo paketa moguće je postaviti filtre na sučelje, omogućiti hvatanje promiskuitetnih paketa koji pristižu na sučelje te promijeniti veličinu paketa koji se mogu hvatati.
4.5.- Prozor za podešavanje sučelja
Nakon tablice sučelja nalaze se tipke kojima se omogućuje odnosno onemogućuje hvatanje na svim sučeljima i hvatanje svih paketa u promiskuitetnom modu. Ispod njih se nalazi polje za unos filtra uhvaćenih paketa i tipka koja omogućuje kompajliranje filtra za hvatanje paketa u BPF kod. Spomenuta tipka otvara prozor s dobivenim BPF kodom. Posljednji element Capture okvira služi za otvaranje prozora koji dozvoljava upravljanje sučeljima. Unutar ovog prozora moguće je dodavati cjevovode, identificirati i skrivati sučelja te dodavati udaljena sučelja.
Nakon Capture okvira slijedi Capture Files okvir koji nudi funkcionalnosti upravljanja datotekama koje sadrže podatke o uhvaćenim paketima. Moguće je navesti ime datoteke u koju će se pohranjivati uhvaćeni podaci tj. iz koje će se učitati uhvaćeni podaci. Ukoliko se ne navede ime datoteke tada Wireshark koristi privremenu datoteku za pohranu trenutnih podataka. Ako se označi polje za korištenje više datoteka tada će program na određeni događaj početi spremati podatke u drugu datoteku. Postavljanje ovih događaja omogućeno je odmah ispod polja koje specificira korištenje više datoteka. Mogući događaji su uhvaćena određena količina podataka ili istek zadatog vremena. Uz to moguće je specificirati veličinu kružnog buffera u kojeg će se spremani datoteke. Za format spremanja nudi se pcap-ng format koji će se automatski primijeniti ukoliko se istovremeno hvataju podaci na više sučelja.
U okviru Stop Capture moguće je navesti uvjete prestanka hvatanja paketa. Uvjeti prestanka mogu biti hvatanje određene količine podataka ili istek zadatog vremena.
Display Options okvir nudi opcije koje za cilj imaju lakše praćenje procesa hvatanja paketa. Preciznije rečeno nudi se opcija za ažuriranje liste uhvaćenih paketa u stvarnom vremenu, opcija za automatsko pomicanje liste uhvaćenih paketa po dolasku novog paketa te opcija za skrivanje prozora s dodatnim informacijama u uhvaćenim paketima.
Name Resolution okvir nudi opcije za automatsko dekodiranje identifikacija pronađenih u uhvaćenim paketima. Nude se mogućnosti dekodiranja MAC adresa, IP adresa te adresa transportnog sloja i mogućnost korištenja vanjski specificiranog dekodera adresa.
Tipka Help pruža korisniku pomoć u radu s programom.
Tipka Start pokreće hvatanje paketa s trenutno postavljenim postavkama.
Tipka Cancle zatvara prozor za prozor za podešavanje opcija vezanih uz hvatanje paketa.
Prilikom odabira sučelja moguće je zadati filtriranja paketa. U polja za filtriranja paketa navode se regularni izrazi kojima se ostvaruje željeno filtriranje. Opći oblik ovih regularnih izraza dan je kao:
Osnovne mogućnosti postavljanja primitiva su:
[src/dst] host
ethr[src/dst] host
Gateway host
[src/dst] net
[tcp/udp] [src/dst] port
less/greater
ip/ether proto
ip/ether brodcast/multicast; Zapis omogućuje filtriranje ovisno o tome da li je adresa razašiljanja paketa višeodredišna ili jednoodredišna.
Za detaljnu analizu sintakse regularnih izraza korištenih za filtriranje čitatelja se upućuje na : http://www.tcpdump.org/manpages/pcap-filter.7.html .
Nakon što su paketi uhvaćeni ili nakon što je datoteka s informacijama o prethodno uhvaćenim paketima učitana popis paketa vidljiv je u listi paketa. Fokusiranjem na neki od paketa iz liste biti će prikazane detaljne informacije o tome paketu.
5.1.- Primjer grafičkog sučelja s naglašenim dijelovima za prikaz informacija o uhvaćenim paketima
Desnim klikom na element liste paketa ili na ime stupca u prikazu uhvaćenih paketa nude se dodatne opcije za rad s paketima. Prikaz opcija ponuđenih desnim klikom na ime stupca prikaza uhvaćenih paketa dan je na slici 5.2. .
5.2.- Opcije ponuđene desnim klikom na ime stupca liste uhvaćenih elemenata
Funkcionalnosti ponuđenog izbornika objašnjene su u tablici 5.1. .
Stavka | Opis |
Sort Ascending |
Omogućuje uzlazno sortiranje elemenata u listi na osnovu vrijednosti odabranog stupca |
Sort Descending |
Omogućuje silazno sortiranje elemenata u listi na osnovu vrijednosti odabranog stupca |
No Sort |
Uklanja sortiranje na osnovu odabranog stupca. |
Align Left |
Lijevo poravnava sadržaj stupca |
Align Center |
Centralno poravnava sadržaj stupca |
Align Right |
Desno poravnava sadržaj stupca |
Column Preferences… |
Otvara prozor za postavljanje korisničkih postavki |
Resize Column |
Prilagođava veličinu stupca da odgovara njegovom sadržaju |
Rename Column Title |
Omogućuje preimenovanje stupca |
Displayed Column |
Prikazuje listu konfiguriranih stupaca |
Hide Column |
Omogućuje skrivanje odabranog stupca |
Remove Column |
Omogućuje uklanjanje stupca iz liste uhvaćenih paketa. |
Tablica 5.1.- Popis funkcionalnosti izbornika za rad s stupcima u listi uhvaćenih paketa
Prikaz opcija ponuđenih desnim klikom na element liste uhvaćenih paketa prikazan je na slici 5.3. .
5.3.- Opcije ponuđene desnim klikom na uhvaćeni element
Funkcionalnosti ponuđenog izbornika objašnjene su u tablici 5.2. .
Stavka | Opis |
Expand Subtrees |
Proširuje stablo informacija o odabranom paketu |
Collapse Subtrees |
Skriva detalje stabla informacija o odabranom paketu |
Expand All |
Proširi stabla informacija svih uhvaćenih paketa |
Collapse All |
Sakriva detalje stabla informacija svih uhvaćenih paketa |
Apply as Column |
Od odabranog protokola stvara novi stupac u listi uhvaćenih paketa |
Apply as Filter |
Primjenjuje pripremljeni prikazni filtar |
Prepare a Filter |
Omogućuje pripremu filtra na osnovu trenutno odabranog elementa |
Colorize with Filter |
Omogućuje bojanje odabrane stavke ovisno o trenutno odabranom prikaznom filtru. |
Follow TCP Stream |
Omogućuje pregled svih podataka na TPC toku između dva mrežna čvora |
Follow UDP Stream |
Omogućuje pregled svih podataka na UDP toku između dva mrežna čvora |
Follow SSL Stream |
Omogućuje pregled svih podataka na SSL toku između dva mrežna čvora |
Copy/ Description |
Omogućuje kopiranje informacija o trenutno odabranom polju |
Copy/ Fieldname |
Omogućuje kopiranje imena trenutno odabranog polja |
Copy/ Value |
Omogućuje kopiranje sadržaja trenutno odabranog polja |
Copy/ As Filter |
Priprema prikazni filtar na temelju trenutno odabrane stavke i omogućuje njegovo kopiranje. |
Export Selected Packet Bytes… |
Omogućuje izvoz trenutno odabrane stavke u bajtovnom prikazu. |
Wiki Protocol Page |
Otvara informacijsku stranicu o trenutnom odabranom protokolu. |
Filter Field Reference |
Otvara informacijsku strancu o filtru trenutno odabrane stavke. |
Protocol Preferences… |
Otvara prozor za postavljanje postavki vezanih uz protokole |
Decode As… |
Omogućuje postavljanje novog načina interpretacije podataka. |
Disable Protocol |
Onemogućuje trenutnu interpretaciju protokola tj. podatka |
Resolve Name |
Omogućuje identifikaciju MAC, IP ili transportne adrese trenutno odabranog paketa. |
Go to Corresponding Packet |
Prebacuje fokus na korespondentni paket u listi uhvaćenih paketa. |
Tablica 5.2.- Popis funkcionalnosti izbornika za rad s elementima u listi uhvaćenih paketa
Pronalaženje određenog paketa provodi se stiskom na stavku glavne alatne trake koja pokreće prozor za traženje paketa. U ovom prozoru moguće je specificirati uvijete pretraživanja. Primjer ovog prozora dan je na slici 5.4. .
5.4.-Find Packet prozor
U prozoru je moguće postaviti filtar pretraživanja, područje odnosno dubinu pretraživanja, traženje određenog tekstualnog zapisa u podacima te smjer pretraživanja u listi uhvaćenih paketa.
5.5.- Find packet prozor s naznačenim dijelovima
Za pozicioniranje na određeni paket moguće je koristiti i Go to naredbe glavne alatne trake. Go to naredbe će usmjeravati pretraživanje po zadnjim postavljenim postavkama u Find Packet prozoru ili ukoliko nikakve postavke nisu unesene po osnovnim postavkama pretraživanja.
TCP je jedan od osnovnih protokola transportnog sloja. Korištenjem ovog protokola aplikacija stvara virtualni kanal prema odredištu te komunicira preko tog virtualnog kanala. Ovaj protokol se koristi kada je cilj postići podatkovno ispravnu vezu odnosno kada je cilj da svi isporučeni podaci budu točno preneseni kroz komunikacijski kanal. Ukoliko se analiziraju TCP protokoli tumačenje podataka koji se njima prenose može biti od velike pomoći. Wireshark pruža mogućnost praćenja TCP komunikacije te tumačenja njenih podataka na način kako ih tumači aplikacijski sloj. Kako bi se pratio TCP protok informacije dovoljno je na odabrani paket koji primjenjuje TCP protokol kliknuti desni klik te izabrati opciju praćenja TCP komunikacije. Prilikom odabira spomenute opcije pokreće se prozor koji prikazuje podatke razmijenjene u TCP komunikaciji. Primjer ovog prozora dan je na slici 5.6. .
5.6.- Primjer praćenja TCP toka
Podaci prikazani u odabranom TCP toku poredani su redoslijedom kako su se pojavljivali u mreži. Podaci mogu biti prikazani u crvenoj ili plavoj boji ovisno o njihovom smjeru kretanja u komunikaciji.
UDP je jedan od osnovnih protokola transportnog sloja. UDP se koristi za slanje kratkih poruka između entiteta u mreži. Cilj UDP protokola je prijenos informacija u što kraćem vremenu. Za tumačenje podataka poslanih ovim protokolom Wireshark pruža jednaku opciju kao i za TCP protokol. Desnim klikom na izabrani UDP paket te odabirom opcije praćenja UDP toka pokreće se prozor s aplikacijskim prikazom interpretacije podataka razmijenjenih ovim protokolom. Primjer ovog prozora vidljiv je na slici 5.7. .
5.7.-Primjer praćenja UDP toka
Isto kao i kod TCP protokola prikazani podaci su poredani redoslijedom njihova pojavljivanja u mreži te se označavaju crvenom odnosno plavom bojom ovisno o smjer njihovog kretanja u komunikaciji.
Wireshark omogućuje detekciju prisutnosti zloćudnih programa. Iako on sam to ne radi na izravan način ukoliko postoji mrežna komunikacija, kada je ne bi trebalo biti, gotovo sigurno se radi o zloćudnom programu koji komunicira s mrežom. Pri analizi zloćudnih programa Wireshark se koristi za detekciju IP adrese s kojom zloćudni program želi komunicirati te identifikaciju podataka koje zloćudni program odašilje. Detekcija IP adrese može izuzetno pomoći pri identifikaciji autora zloćudnog programa, a identifikacija podataka je od velike važnosti pri određivanju djelovanja zloćudnog programa. Identifikacija podataka se provodi praćenjem sumnjivih TCP / UDP tokova. Prilikom analize korisno je prikupiti velike količine podataka potom od spojiti potencijalno kompromitirano računalo s mreže i obaviti analizu.
Sam proces analize dosta ovisi o konkretnom slučaju analize te ga je teško općenito opisati. Jednom kad se ustanovi postojanje zloćudne uporabe mreže idući korak je identificiranje programa koji ju izaziva. U ovu svrhu bolje je korištenje programa kao što je Microsoft Network Monitor koji nudi opciju filtriranja procesa koji komuniciraju s mrežom. Dalje slijedi opća analiza zloćudnog programa koja nije središnja tema ovog teksta.
Primjer izgleda liste uhvaćenih paketa prilikom Torrent komunikacije preko mreže dan je na slici 6.1. .
6.1.-Lista uhvaćenih paketa pri Torrent komunikaciji
Iz svega navedenog vidljivo je da je Wireshark moćan alat za praćenje događanja u mreži te njihovu analizu. Isto tako je vidljivo da primarna funkcija Wireskark alata nije analiza zloćudnih programa i njihovih djelovanja u mreži, iako može biti izuzetno koristan i u te svrhe. Važno je napomenuti da Wireshark alat pruža više funkcionalnosti nego što je navedeno u ovom tekstu. Za detaljno upoznavanje s Wireshark alatom čitatelja se upućuje na [1]. Smisleno korištenje Wireshark alata zahtijeva od korisnika poznavanje barem osnova komunikacijskih mreža. Iz tog razloga alat korisnicima koji ne poznaju koncepte komunikacijskim mreža može predstavljati nesavladivu zapreku tj. neshvatljiv problem. Za upoznavanje osnova komunikacijskih mreža čitatelja se upućuje na [3] i [4].
[1] Wireshark ; https://www.wireshark.org/
[2] Fakultet elektrotehnike i računarstva; Radovi iz područja računalne sigurnosti; 2014; http://os2.zemris.fer.hr/index.php?show=start
[3] Ignjac Lovrek, Maja Matijašević, Gordan Ježić, Dragan Jevtić; Komunikacijske mreže; Radna inačica udžbenika v.2.1. Dio 1; 2014;
[4] Vedran Podobnik, Ognjen Dobrijević, Tomislav Grgić, Krunoslav Ivešić; Internetski protokoli u primjeni; Zagreb 2014;