Wireshark je faktički alat za rješavanje nekoliko mrežnih problema koji se razlikuju od rješavanja mrežnih problema, ispitivanja sigurnosnih problema, pregledavanja mrežnog prometa sumnjive aplikacije, implementacije protokola za uklanjanje pogrešaka, zajedno sa svrhom učenja mrežnog protokola itd.
Projekt Wireshark pokrenut je 1998. Zahvaljujući dobrovoljnom doprinosu stručnjaka za globalno umrežavanje, nastavlja ažurirati nove tehnologije i standarde šifriranja. Stoga je to daleko jedan od najboljih alata za analizu paketa, a razne ga vladine agencije, obrazovni instituti i neprofitne organizacije koriste kao standardni komercijalni alat.
Alat Wireshark sastoji se od bogatog skupa značajki. Neki od njih su sljedeći:
- Multiplatform: dostupan je za Unix, Mac i Windows sustave.
- Hvata pakete s različitih mrežnih medija, tj.e., Bežični LAN, Ethernet, USB, Bluetooth itd.
- Otvara paketne datoteke koje su uhvatili drugi programi poput Oracle snoop i atmsnoop, Nmap, tcpdump, Microsoft Network Monitor, SNORT i mnogi drugi.
- Sprema i izvozi zarobljene paketne podatke u različitim formatima (CSV, XML, otvoreni tekst itd.).
- Pruža podršku za opis protokola, uključujući SSL, WPA / WPA2, IPsec i mnoge druge.
- Uključuje filtre za hvatanje i prikaz.
Međutim, Wireshark vas neće upozoriti na bilo kakvu zlonamjernu aktivnost. Samo će vam pomoći da pregledate i prepoznate što se događa na vašoj mreži. Štoviše, analizirat će samo mrežni protokol / aktivnosti i neće obavljati nikakve druge aktivnosti poput slanja / presretanja paketa.
Ovaj članak nudi detaljni vodič koji započinje s osnovama (tj.e., filtriranje, mrežni slojevi Wireshark itd.) i vodi vas u dubinu analize prometa.
Filteri Wiresharka
Wireshark dolazi s moćnim filtarskim mehanizmima, Capture Filters i Display Filters za uklanjanje šuma s mreže ili već zarobljenog prometa. Ovi filtri sužavaju neobvezan promet i prikazuju samo pakete koje želite vidjeti. Ova značajka pomaže mrežnim administratorima u rješavanju problema.
Prije ulaska u detalje filtara. U slučaju da se pitate kako uhvatiti mrežni promet bez ikakvog filtra, možete pritisnuti Ctrl + E ili prijeći na opciju Snimanje na sučelju Wireshark i kliknuti na Start.
Sada, zaronimo duboko u dostupne filtre.
Filtar za hvatanje
Wireshark pruža podršku u smanjenju veličine hvatanja neobrađenog paketa omogućavajući vam upotrebu filtra za hvatanje. Ali on bilježi samo paketni promet koji se podudara s filtrom i zanemaruje ostatak. Ova vam značajka pomaže u praćenju i analizi prometa određene aplikacije koja koristi mrežu.
Nemojte brkati ovaj filtar s prikaznim filtrima. To nije filter za prikaz. Ovaj se filtar pojavljuje u glavnom prozoru koji je potrebno postaviti prije početka hvatanja paketa. Štoviše, ovaj filtar ne možete mijenjati tijekom snimanja.
Možete ići na Uhvatiti opciju sučelja i odaberite Filteri za hvatanje.
Od vas će se zatražiti prozor, kao što je prikazano na snimci. Možete odabrati bilo koji filtar s popisa filtara ili dodati / stvoriti novi filtar klikom na + dugme.
Primjeri popisa korisnih filtara za hvatanje:
- host ip_address - bilježi promet, samo između određene IP adrese koja komunicira
- neto 192.168.0.0/24 - bilježi promet između raspona IP adresa / CIDR-ova
- luka 53 - bilježi DNS promet
- tcp port range 2051-3502 - bilježi TCP promet iz dometa porta 2051-3502
- luka ne 22 i ne 21 - uhvati sav promet osim SSH-a i FTP-a
Zaslonski filtar
Filteri prikaza omogućuju skrivanje nekih paketa od već zarobljenog mrežnog prometa. Ti se filtri mogu dodati iznad snimljenog popisa i mogu se mijenjati u letu. Sada možete kontrolirati i suziti pakete na koje se želite koncentrirati dok skrivate nepotrebne pakete.
Možete dodati filtre na alatnoj traci filtra za prikaz točno iznad prvog okna koji sadrži informacije o paketu. Ovaj se filtar može koristiti za prikaz paketa na temelju protokola, izvorne IP adrese, odredišne IP adrese, priključaka, vrijednosti i informacija polja, usporedbe između polja i puno više.
Tako je! Možete izgraditi kombinaciju filtara pomoću logičkih operatora poput ==.!=, ||, && itd.
Neki primjeri prikaznih filtara pojedinog TCP protokola i kombiniranog filtra prikazani su u nastavku:
Mrežni slojevi u Wiresharku
Osim pregleda paketa, Wireshark predstavlja OSI slojeve koji pomažu u procesu rješavanja problema. Wireshark prikazuje slojeve obrnutim redoslijedom, kao što su:
- Fizički sloj
- Sloj podatkovne veze
- Mrežni sloj
- Transportni sloj
- Sloj aplikacije
Imajte na umu da Wireshark ne prikazuje uvijek fizički sloj. Sada ćemo istražiti svaki sloj kako bismo razumjeli važan aspekt analize paketa i ono što svaki sloj predstavlja u Wiresharku.
Fizički sloj
Fizički sloj, kao što je prikazano na sljedećoj snimci, predstavlja fizički sažetak okvira, kao što su informacije o hardveru. Kao mrežni administrator, općenito ne izvlačite podatke iz ovog sloja.
Sloj podatkovne veze
Sljedeći sloj podatkovne veze sadrži izvornu i odredišnu adresu mrežne kartice. Relativno je jednostavan jer isporučuje samo okvir s prijenosnog računala na usmjerivač ili sljedeći susjedni kadar u fizičkom mediju.
Mrežni sloj
Mrežni sloj predstavlja izvornu i odredišnu IP adresu, IP verziju, duljinu zaglavlja, ukupnu duljinu paketa i hrpe ostalih informacija.
Transportni sloj
U ovom sloju Wireshark prikazuje informacije o transportnom sloju, koji se sastoji od SRC porta, DST porta, duljine zaglavlja i sekvencijskog broja koji se mijenja za svaki paket.
Sloj aplikacije
U posljednjem sloju možete vidjeti koju vrstu podataka šalju putem medija i koja se aplikacija koristi, kao što su FTP, HTTP, SSH itd.
Analiza prometa
ICMP analiza prometa
ICMP se koristi za izvještavanje i testiranje pogrešaka utvrđivanjem dosežu li podaci na predviđeno odredište na vrijeme ili ne. Uslužni program Ping koristi ICMP poruke za testiranje brzine veze između uređaja i izvještava koliko je potrebno paketu da stigne na odredište, a zatim se vrati.
Ping koristi ICMP_echo_request poruku uređaju na mreži, a uređaj odgovara ICMP_echo_reply porukom. Da biste uhvatili pakete na Wiresharku, pokrenite funkciju Hvatanje Wiresharka, otvorite terminal i pokrenite sljedeću naredbu:
ubuntu $ ubuntu: ~ $ ping google.comKoristiti Ctrl + C za prekid postupka hvatanja paketa u Wiresharku. Na snimci ispod možete primijetiti ICMP paket poslan = Primljen ICMP paket s 0% gubitka paketa.
U oknu za hvatanje Wireshark odaberite prvi paket ICMP_echo_request i promatrajte detalje otvaranjem srednjeg okna Wireshark.
U mrežnom sloju možete primijetiti izvor Src kao moju ip_address, dok je odredište Dst ip_address je Googleovog poslužitelja, dok IP sloj spominje protokol kao ICMP.
Sada zumiramo detalje ICMP paketa širenjem Internet Control Message Protocol-a i dekodiramo istaknute okvire na snimci u nastavku:
- Tip: 08-bitno polje postavljeno na 8 znači poruku eho zahtjeva
- Kod: uvijek nula za ICMP pakete
- kontrolna suma: 0x46c8
- Identifikacijski broj (BE): 19797
- Identifikacijski broj (LE): 21837
- Redni broj (BE): 1
- Redni broj (LE): 256
Identifikatori i sekvencijski brojevi podudaraju se kako bi se lakše identificirali odgovori na zahtjeve za odjekom. Slično tome, prije prijenosa paketa, izračunava se kontrolna suma i dodaje se u polje koje se uspoređuje s kontrolnom sumom u primljenom podatkovnom paketu.
Sada, u paketu odgovora ICMP, primijetite sloj IPv4. Izvorna i odredišna adresa zamijenjene su.
U ICMP sloju provjerite i usporedite sljedeća važna polja:
- Vrsta: 08-bitno polje postavljeno na 0 znači eho odgovor
- Kôd: uvijek 0 za ICMP pakete
- kontrolna suma: 0x46c8
- Identifikacijski broj (BE): 19797
- Identifikacijski broj (LE): 21837
- Redni broj (BE): 1
- Redni broj (LE): 256
Možete primijetiti da ICMP odgovor ponavlja isti kontrolni zbroj zahtjeva, identifikator i redni broj.
HTTP analiza prometa
HTTP je protokol aplikacijskog sloja za prijenos hiperteksta. Koristi ga svjetska mreža i definira pravila kada HTTP klijent / poslužitelj prenosi / prima HTTP naredbe. Najčešće korištene HTTP metode ae POST i GET:
POŠTA: ova se metoda koristi za sigurno slanje povjerljivih podataka poslužitelju koji se ne pojavljuju u URL-u.
DOBITI: ova se metoda obično koristi za dohvaćanje podataka s adresne trake s web poslužitelja.
Prije nego što dublje istražimo analizu HTTP paketa, prvo ćemo nakratko demonstrirati TCP trosmjerno rukovanje u Wiresharku.
TCP rukovanje u tri smjera
U trosmjernom rukovanju, klijent započinje vezu slanjem SYN paketa i primanjem SYN-ACK odgovora od poslužitelja, što klijent potvrđuje. Upotrijebit ćemo naredbu Nmap TCP connect scan za ilustraciju TCP rukovanja između klijenta i poslužitelja.
ubuntu $ ubuntu: ~ $ nmap -sT google.comU oknu za hvatanje paketa Wireshark pomaknite se do vrha prozora da biste primijetili razne trosmjerne rukovanja uspostavljene na temelju određenih priključaka.
Koristiti tcp.priključak == 80 filtar da biste vidjeli je li veza uspostavljena putem porta 80. Možete primijetiti potpuno trosmjerno rukovanje, t.j.e., SINH, SYN-ACK, i ACK, istaknuto na vrhu snimke, što ilustrira pouzdanu vezu.
Analiza HTTP paketa
Za HTTP analizu paketa idite u svoj preglednik i zalijepite URL dokumentacije za Wireshark: http: // www.vafla.com i preuzmite korisnički priručnik PDF. U međuvremenu, Wireshark mora hvatati sve pakete.
Primijenite HTTP filtar i potražite HTTP GET zahtjev koji je klijentu poslao na poslužitelj. Da biste pogledali HTTP paket, odaberite ga i proširite sloj aplikacije u srednjem oknu. U zahtjevu može biti puno zaglavlja, ovisno o web mjestu i pregledniku. Analizirat ćemo zaglavlja prisutna u našem zahtjevu u donjoj snimci.
- Način zahtjeva: metoda HTTP zahtjeva je GET
- Domaćin: identificira ime poslužitelja
- Korisnički agent: informira o vrsti preglednika na strani klijenta
- Prihvati, prihvati-kodiraj, prihvati jezik: obavještava poslužitelj o vrsti datoteke, prihvaćenom kodiranju na strani klijenta, tj.e., gzip itd., i prihvaćeni jezik
- Kontrola predmemorije: pokazuje kako se tražene informacije predmemoriraju
- Pragma: prikazuje ime kolačića i vrijednosti koje preglednik drži za web stranicu
- Veza: zaglavlje koje kontrolira ostaje li veza otvorena nakon transakcije
U HTTP je u redu paket s poslužitelja na klijenta, promatrajući informacije u sloju protokola za prijenos hiperteksta pokazuje "200 OK“. Ovi podaci ukazuju na normalan uspješan prijenos. U HTTP OK paketu možete promatrati različita zaglavlja u usporedbi s HTTP GET paket. Ova zaglavlja sadrže informacije o zatraženom sadržaju.
- Verzija odgovora: informira o HTTP verziji
- Statusni kôd, fraza odgovora: poslao poslužitelj
- Datum: vrijeme kada je poslužitelj primio HTTP GET paket
- Poslužitelj: detalji poslužitelja (Nginx, Apache, itd.)
- Vrsta sadržaja: vrsta sadržaja (json, txt / html, itd.)
- Duljina sadržaja: ukupna duljina sadržaja; naša je datoteka 39696 bajtova
U ovom ste odjeljku naučili kako funkcionira HTTP i što se događa kad god zatražimo sadržaj na webu.
Zaključak
Wireshark je najpopularniji i najsnažniji alat za njuškanje i analizu mreže. Široko se koristi u svakodnevnim zadacima analize paketa u raznim organizacijama i institutima. U ovom smo članku proučavali neke teme od Wiresharka od početnika do srednje razine u Ubuntuu. Naučili smo vrstu filtara koje Wireshark nudi za analizu paketa. Pokrili smo model mrežnog sloja u Wiresharku i izvršili detaljnu ICMP i HTTP analizu paketa.
Međutim, učenje i razumijevanje različitih aspekata ovog alata dug je naporan put. Stoga je na raspolaganju mnoštvo drugih mrežnih predavanja i vodiča koji će vam pomoći oko određenih tema Wiresharka. Možete slijediti službeni korisnički vodič dostupan na web mjestu Wireshark. Štoviše, nakon što ste izgradili osnovno razumijevanje analize protokola, savjetuje se i korištenje alata poput Varonisa koji vas usmjerava na potencijalnu prijetnju, a zatim pomoću Wiresharka istražite radi boljeg razumijevanja.