Wireshark: Analiza saobraćaja za Linux i Windows. Wireshark poznanik, šta se nalazi u ovom programu! Analiziranje paketa sa wireshark-om

Analizatori mrežnih paketa se često koriste za istraživanje ponašanja mrežnih aplikacija i čvorova, kao i za dijagnosticiranje mrežnih problema. Ključne karakteristike takvog softvera su, prvo, mogućnosti svestrane analitike, a drugo, multifunkcionalno filtriranje paketa, koje vam omogućava da izvučete zrnca informacija od interesa u beskrajnom toku mrežnog saobraćaja. To je posljednji aspekt kojem je posvećen ovaj članak.

Uvod

Od svih metoda za proučavanje kompjuterskih mreža, analiza saobraćaja je možda najmukotrpnija i dugotrajnija. Intenzivni tokovi modernih mreža stvaraju mnogo "sirovog" materijala, u kojem je daleko od lakog pronalaženja zrna korisnih informacija. Tokom svog postojanja, TCP/IP stek je obrastao brojnim aplikacijama i dodacima, čiji broj ide na stotine i hiljade. To su aplikacijski i servisni protokoli, protokoli za autentifikaciju, tuneliranje, pristup mreži i tako dalje. Pored poznavanja osnova mrežnih interakcija, istraživač saobraćaja (to jest, vi) treba da bude slobodan da se kreće u čitavoj ovoj raznolikosti protokola i da bude u stanju da radi sa specifičnim softverskim alatima - njuškarima, ili, naučno, analizatorima saobraćaja (protokoli ).

Funkcionalnost njuškanja nije samo mogućnost korištenja promiskuoznog načina mrežne kartice za presretanje. Takav softver treba da bude u stanju da efikasno filtrira saobraćaj kako u fazi prikupljanja tako i tokom proučavanja pojedinačnih jedinica prenosa (okviri, paketi, segmenti, datagrami, poruke). Štaviše, što više protokola njuškalo "zna", to bolje.

Moderni analizatori protokola mogu mnogo toga: čitati statistiku prometa, crtati grafove napretka mrežnih interakcija, izdvajati podatke protokola aplikacije, izvoziti rezultate rada u različite formate... Stoga je izbor alata za analizu mrežnog prometa tema za poseban razgovor. Ako ne znate što odabrati, ili ne želite trošiti novac na plaćeni softver, koristite jednostavan savjet: instalirajte Wireshark.

Upoznavanje sa filterima

Wireshark podržava dvije vrste filtera:

  • presretanje prometa (filteri za snimanje);
  • filteri za prikaz.

Prvi podsistem je naslijedio Wireshark iz Pcap biblioteke, koja obezbjeđuje API niskog nivoa za rad sa mrežnim interfejsima. Uzorkovanje saobraćaja u hodu tokom presretanja štedi RAM i prostor na hard disku. Filter je izraz koji se sastoji od grupe primitiva, opciono kombinovanih sa logičkim funkcijama (i, ili, ne). Ovaj izraz se upisuje u polje Filter snimanja dijaloškog okvira Opcije snimanja. Najčešće korišteni filteri mogu se sačuvati u profilu za ponovnu upotrebu (slika 1).

Rice. 1. Profil filtera za presretanje

Jezik filtera za presretanje je standardan za svijet otvorenog koda i koriste ga mnogi proizvodi bazirani na Pcap-u (na primjer, uslužni program tcpdump ili sistem za otkrivanje/prevenciju upada Snort). Stoga, nema smisla ovdje opisivati ​​sintaksu, jer ste je najvjerovatnije upoznati. A pojedinosti se mogu naći u dokumentaciji, na primjer na Linux stranici pcap-filter (7).

Filtri ekrana rade s već presretnutim prometom i izvorni su za Wireshark. Razlike od Pcap-a - u formatu snimanja (posebno, tačka se koristi kao separator polja); takođe je dodao englesku notaciju za operacije poređenja i podršku za podnizove.

Filter za prikaz možete uneti direktno u odgovarajuće polje (pažnja, padajuća lista-hint radi) glavnog prozora programa nakon dugmeta "Filter" (usput, profil za često korišćene izraze je skriven ispod ovog dugmeta ). A ako kliknete na dugme "Izraz ..." koje se nalazi u blizini, otvoriće se multifunkcionalni konstruktor izraza (slika 2).


Na lijevoj strani (Ime polja) je abecedno stablo polja poruka protokola poznatih Wiresharku. Za ovo polje možete odrediti logički operator (Relation), uneti vrijednost (Vrijednost), odrediti raspon (Raspon) ili odabrati vrijednost sa liste (Unaprijed definirana vrijednost). Općenito, kompletna mrežna enciklopedija u jednom prozoru.

Evo logičkih operatora koji se koriste u filterima prikaza:

  • i (&&) - "I";
  • ili (||) - "ILI";
  • xor (^^) - ekskluzivno "OR";
  • ne (!) - negacija;
  • [...] - izbor podniza. # Filtriranjem prema MAC adresi vašeg mrežnog adaptera, isključujemo sav lokalni promet ne (eth.addr eq aa: bb: cc: 22: 33: 44) # Uklonimo svu "uslužnu buku" da se koncentrišemo na promet kamata! (Arp ili icmp ili dns)

Što se tiče odabira podniza, ovo nije sasvim logična operacija, ali vrlo korisna opcija. Omogućava vam da dobijete određeni dio niza. Na primjer, ovako možete koristiti prva (prvi broj u uglastim zagradama je pomak) tri bajta (broj iza dvotočke je dužina podniza) polja izvorne MAC adrese:

Eth.src == 00: 19: 5b

U odabirima sa dvotočkom, jedan od parametara se može izostaviti. Ako preskočite pomak, uzorak će početi od bajta nula. Ako je dužina - onda dobijamo sve bajtove od ofseta do kraja polja.

Usput, zgodno je koristiti dohvaćanje podniza za otkrivanje zlonamjernog softvera ako je poznat niz bajtova nakon zaglavlja (na primjer, "0x90, 0x90, 0x90, 0x04" u UDP paketu):

Udp == 90: 90: 90: 04

Operacije poređenja koje se koriste u booleovim izrazima:

  • eq (==) - jednako;
  • ne (! =) - nije jednako;
  • gt (>) - više;
  • lt (<) - меньше;
  • ge (> =) - više ili jednako;
  • le (<=) - меньше или равно.tcp.dstport ne 8080 && tcp.len gt 0 && data eq A0

Zapravo, teorija je dovoljna za početak. Zatim koristite zdrav razum i zagrade po potrebi i bez toga. Takođe, ne zaboravite da je filter u suštini logički izraz: ako je istinit, onda će paket biti prikazan na ekranu, ako je lažan, neće.

PCap filter za otkrivanje skeniranja Netbios portova

dst port 135 ili dst port 445 ili dst port 1433 i tcp & (tcp-syn)! = 0 i tcp & (tcp-ack) = 0 i src net 192.168.56.0/24

Tražim otmičara IP-a

U segmentu lokalne mreže postoje (iz ovih ili onih razloga) podudarnosti IP adresa za dva ili više čvorova. Metoda "hvatanja" (određivanja MAC adresa) konfliktnih sistema je dobro poznata: pokrećemo njuškalo na trećem računaru, brišemo ARP keš memoriju i stimulišemo zahtev da se reši MAC željene IP adrese, na primer, pingovanjem. :

# arp -d 192.168.56.5 # ping -n -c 1 192.168.56.5

A onda gledamo presretnuti saobraćaj iz kojeg su MAC-ovi stigli odgovori. Ako je Wireshark uhvatio previše paketa, koristite konstruktor da kreirate filter za prikaz. U prvom dijelu izraza biramo ARP odgovore, u drugom one poruke u kojima je izvorna IP adresa jednaka željenoj. Kombinujemo primitive sa && operatorom, pošto je neophodno da su oba uslova ispunjena istovremeno:

(arp.opcode == odgovor) && (arp.src.proto_ipv4 == 192.168.56.5)

Uzgred, nijedna računarska mreža nije oštećena u ovom scenariju jer su korištene dvije virtualne mašine Oracle VirtualBox i mrežna veza Virtual Host Adaptera.

Provjeravamo mrežne i transportne slojeve

Do sada je ICMP protokol ostao prilično efikasan alat za dijagnosticiranje mrežnog steka. Poruke iz ovog protokola mogu pružiti vrijedne informacije o mrežnim problemima.

Kao što ste možda pretpostavili, filtriranje ICMP-a u Wiresharku je vrlo jednostavno. Dovoljno je upisati u red za filtriranje u glavnom prozoru programa: icmp. Osim icmp-a, rade mnoge druge ključne riječi koje su imena protokola, na primjer arp, ip, tcp, udp, snmp, smb, http, ftp, ssh i druge.

Ako ima puno ICMP prometa, tada se mapiranje može detaljizirati isključivanjem, na primjer, eho zahtjeva (tip 0) i eho odgovora (tip 8):

Icmp i ((icmp.type ne 0) i (icmp.type ne 8))

Na sl. Slika 4 prikazuje primjer malog uzorka ICMP poruka koje je generirao testni Linux ruter. Poruka "Port nedostupan" je obično podrazumevana. Također ga generiše mrežni stog kada primi UDP datagram na neiskorištenom portu. Da bi virtualni usmjerivač baziran na Debianu počeo slati poruke "Host nedostupan" i "Komunikacija administrativno filtrirana", morao sam se pozabaviti. Cisco obaveštava o administrativnom filtriranju obično podrazumevano. Poruka "premašeno vrijeme života" ukazuje na prisustvo petlje na nekom dijelu mreže (pa, takvi paketi se mogu pojaviti i prilikom praćenja rute).

Usput, o zaštitnim zidovima. Možete kreirati pravila za popularne firewall direktno u Wiresharku koristeći stavku Firewall ACL Rules u meniju Alati. Prvo, trebate odabrati paket sa liste, čije će se informacije koristiti. Dostupni su Cisco standardni i prošireni ACL-ovi, pravila slična UNIX-u za IP filter, IPFirewall (ipfw), Netfilter (iptables), filter paketa (pf) i Windows zaštitni zid (netsh).

A sada ukratko o osnovama filtriranja na nivou mreže, koje se zasniva na poljima zaglavlja IP paketa – adresa pošiljaoca (ip.src) i adresa primaoca (ip.dst):

(ip.src == 192.168.56.6) || (ip.dst == 192.168.56.6)

Tako ćemo vidjeti sve pakete koje je data IP adresa primila ili poslala. Možete filtrirati cijele podmreže koristeći CIDR notaciju za unos maske. Na primjer, hajde da identifikujemo zaraženi host koji šalje neželjenu poštu (ovdje je 192.168.56.251 IP adresa našeg SMTP servera):

Ip.src == 192.168.56.0/24 i tcp.dstport == 25 i! (Ip.dst == 192.168.56.251)

Usput, primitive eth.src, eth.dst i eth.addr treba koristiti za dohvaćanje po MAC adresama. Ponekad su problemi mrežnog sloja mnogo bliže povezani sa Ethernet slojem nego što teorija sugerira. Konkretno, prilikom postavljanja rutiranja, može biti vrlo korisno pogledati na koju MAC adresu rutera tvrdoglavi čvor šalje pakete. Međutim, za tako jednostavan zadatak dovoljan je uslužni program tcpdump, koji je skoro standardan za sisteme slične UNIX-u.

Wireshark također nema pitanja o filtriranju portova. Za TCP su vam na usluzi ključne riječi tcp.srcport, tcp.dstport i tcp.port, za UDP - udp.srcport, udp.dstport i udp.port. Istina, ugrađeni jezik filtera Wireshark nije imao analognu primitivu porta u Pcap-u, koji označava i UDP i TCP portove. Ali to se može lako popraviti pomoću booleovog izraza, na primjer:

Tcp.port == 53 || udp.port == 53

Improvizacija sa HTTP saobraćajem

Aplikacioni protokoli, posebno HTTP, su vječna tema u kontekstu njuškanja. Radi pravednosti, mora se reći da su stvoreni mnogi specijalizirani softverski alati za proučavanje web prometa. Ali čak i tako svestran alat kao što je Wireshark, sa svojim fleksibilnim sistemom filtriranja, nije nimalo suvišan na ovom polju.

Prvo, hajde da prikupimo malo web prometa posjetom prve stranice koja vam padne na pamet. Pogledajmo sada u porukama TCP protokola, koji služi kao transport za HTTP, za reference na naš omiljeni Internet resurs:

Tcp sadrži "site"

Operator contains provjerava prisustvo podniza u datom polju. Tu je i operator matches, koji vam omogućava da koristite regularne izraze kompatibilne sa Perl-om.


Prozor "Izrazi filtera" je, naravno, dobar pomoćnik, ali ponekad je listanje dugačke liste u potrazi za potrebnim poljem prilično zamorno. Postoji lakši način za kreiranje/izmjenu filtera prikaza: korištenjem kontekstnog izbornika prilikom pregledavanja paketa. Da biste to uradili, potrebno je samo da kliknete desnim tasterom miša na polje od interesa i izaberete jednu od podstavki stavke Primeni kao filter ili Pripremi filter. U prvom slučaju promjene će odmah stupiti na snagu, au drugom će biti moguće ispraviti izraz. "Odabrano" znači da će vrijednost polja postati novi filter, "Nije odabrano" - isto, samo sa negacijom. Klauzule koje počinju sa "..." dodaju vrijednost polja postojećem izrazu, podložno Booleovim operatorima.

Kombinovanjem različitih alata Wireshark grafičkog interfejsa i poznavanja karakteristika HTTP protokola, možete lako doći do potrebnog nivoa prikaza saobraćaja u glavnom prozoru programa.

Na primjer, da biste vidjeli koje slike je pretraživač tražio od web servera prilikom generiranja stranice, radit će filter koji analizira sadržaj URI-ja koji se prenosi na server:

(http.host eq "www..request.uri sadrži" .jpg # 26759185 ") ili (http.request.uri sadrži" .png # 26759185 "))

Isto, ali koristeći šibice:

(http.host eq "www..request.uri odgovara" .jpg | .png # 26759185 ")

Naravno, polja poruka protokola različitih nivoa mogu se bezbedno mešati u jedan izraz. Na primjer, da bismo saznali koje slike je dati server prenio klijentu, koristimo izvornu adresu iz IP paketa i polje "Content-Type" HTTP odgovora:

(ip.src eq 178.248.232.27) i (http.content_type sadrži "image")

A uz pomoć polja HTTP zahtjeva "Referer" možete saznati s kojih drugih servera pretraživač preuzima sadržaj prilikom formiranja stranice vašeg omiljenog sajta:

(http.referer eq "http: //www..dst eq 178.248.232.27))

Pogledajmo još nekoliko korisnih filtera. Sljedeći izraz se može koristiti za izdvajanje HTTP zahtjeva napravljenih metodom GET iz prometa:

Http.request.method == GET

Filteri ekrana se manifestiraju u svoj svojoj ljepoti i jednostavnosti na razini aplikacije. Za poređenje: da bi se, na primjer, ovaj problem riješio pomoću Pcap-a, moralo bi se primijeniti sljedeća troetažna struktura:

Port 80 i tcp [((tcp & 0xf0) >> 2): 4] = 0x47455420

Da bismo saznali koje je www veze napravio korisnik hosta 192.168.56.8 u određenom vremenskom intervalu (recimo, u vrijeme ručka), koristimo primitiv frame.time:

Tcp.dstport == 80 && frame.time> = "09. januar 2013. 13:00:00" && frame.time< "Yan 9, 2013 14:00:00" && ip.src == 192.168.56.8

Pa, prikazivanje URI-ja zahtjeva koji sadrže riječi "login" i "user", plus "podsjetnik" na lozinke:

Http.request.uri odgovara "login. * = User" (http sadrži "password") || (pop sadrži "PASS")

Presretanje SSL sadržaja

Prava pošast istraživača mrežnog saobraćaja je enkripcija. Ali ako imate željenu datoteku sa certifikatom (usput, o njoj se morate brinuti kao o zenici oka), onda možete lako saznati šta korisnici ovog resursa kriju u SSL sesijama. Da biste to učinili, potrebno je da navedete parametre servera i datoteku certifikata u postavkama SSL protokola (stavka "Preferences" u izborniku "Edit", odaberite SSL na listi protokola s lijeve strane). Podržani su PKCS12 i PEM formati. U potonjem slučaju, morate ukloniti lozinku iz datoteke pomoću naredbi:

Openssl pkcs12 -export -u server.pem -out aa.pfx openssl pkcs12 -in aa.pfx -out serverNoPass.pem –čvorovi

INFO

Ekstrahiranje saobraćaja iz mrežnog saobraćaja za praćenje i otklanjanje grešaka vrši se filterom paketa. Filter paketa je dio kernela operativnog sistema i prima mrežne pakete od drajvera mrežne kartice.

Primeri filtera paketa za OS sličan UNIX-u su BPF (Berkeley Packet Filter) i LSF (Linux Socket Filter). U BPF-u, filtriranje je implementirano na osnovu primitivnog mašinskog jezika orijentisanog na mala slova, čiji je tumač BPF.


Analiziranje prometa sa udaljenih hostova

Korisnici Windows-a mogu da rade ne samo sa interfejsima računara na kojima je pokrenut Wireshark, već i da snimaju saobraćaj sa udaljenih mašina. Za to postoji posebna usluga (Remote Packet Capture Protocol) u isporuci WinPcap biblioteke. Prvo se mora omogućiti u dodatku za upravljanje uslugama (services.msc). Sada, nakon što ste pokrenuli Wireshark na udaljenom računaru, možete se povezati na čvor na kojem je pokrenuta usluga udaljenog presretanja saobraćaja (po defaultu koristi port 2002), a podaci će teći kao rijeka do vas preko RPCAP protokola.

Dat ću i opcije za povezivanje na kućni * nix ruter "spolja" za udaljenu analizu prometa:

$ ssh [email protected]"tshark -f" port! 22 "-i bilo koji -w -" | wireshark -k -i - $ ssh [email protected] tcpdump -U -s0 -w - "nije port 22" | wireshark -k -i -

Alat koji morate imati

Wireshark je dobro poznati alat za presretanje i interaktivnu analizu mrežnog prometa, zapravo standard za industriju i obrazovanje. Distribuirano pod GNU GPLv2 licencom. Wireshark radi sa većinom poznatih protokola, ima grafički korisnički interfejs zasnovan na GTK+, moćan sistem filtera saobraćaja i ugrađeni tumač programskog jezika Lua za kreiranje dekodera i rukovalaca događajima.

Preuzmi teret

U određenim krugovima nadaleko su poznati specijalizovani alati koji vam omogućavaju da „izvučete“ konačne informacione objekte iz saobraćaja: datoteke, slike, video i audio sadržaj itd. Zahvaljujući svom moćnom analitičkom podsistemu, Wireshark više nego pokriva ovu funkcionalnost, pa potražite dugme "Sačuvaj teret..." u odgovarajućim prozorima za analizu.

Zaključak

Na pozadini opšteg entuzijazma kompjuterskog podzemlja za sigurnost mrežnih aplikacija, monumentalni problemi nižih nivoa postepeno blede u drugi plan. Jasno je da su mreža i transportni slojevi proučavani i istraženi nadaleko. Ali problem je u tome što stručnjaci koji su odrasli na SQL injekcijama, cross-site skriptovima i inkluzijama nisu svjesni ogromnog sloja skrivenog ispod vrha ledenog brijega i često se prepuštaju naizgled elementarnim problemima.

Sniffer, poput debuggera i disassemblera, prikazuje detalje funkcionisanja sistema u velikim detaljima. Uz instaliran Wireshark i uz malo vještine, možete vidjeti mrežne interakcije kakve jesu - u nevinom, djevičanskom aktu. A filteri će vam pomoći!

Prije nego počnemo učiti kako hakovati druge mreže, moramo biti u mogućnosti kontrolirati našu mrežu i razumjeti šta je mrežni promet i kako ga filtrirati. Wireshark je idealan za to, jer ništa moćnije od njega do sada nije izmišljeno, a kao što možete pretpostaviti, radit će se o njemu. Wireshark je idealno oružje za analizu i hvatanje mrežnih paketa u realnom vremenu. Ali glavna stvar je da ih prikazuje u vrlo lako čitljivom formatu.

Wireshark je opremljen mnogim filterima, kodiranjem boja i mnogim drugim funkcijama koje vam omogućavaju da zaronite u mrežni promet i pregledate pojedinačne pakete.

Koristite svoju maštu!

dajem primjer:

Recimo da ste povezani na tuđu mrežu i trebate saznati šta koriste šta i kako prolazi kroz mrežu? Wireshark je savršeno rješenje. Nakon pregleda paketa, lako možete pronaći sve podatke koji su vam potrebni. Ali ovo je bio samo primjer, svako ga može slobodno koristiti prema svojim potrebama!

Aplikacije >> Internet >> Wireshark

Kao što vidite, ima lep jelovnik i sve je jasno. Ali ovo je zapravo vrlo složen atribut. Prvo, idemo kroz osnovne funkcije.

Odaberemo povezanu mrežu i pritisnemo start. Kao što vidite, počeo je hvatati pakete i prikazivati ​​sav promet iz vaše mreže.

Da biste zaustavili snimanje saobraćaja, kliknite na dugme " Zaustavite snimanje uživo "

Kao što vidite, boje u saobraćaju su različite i veoma je zanimljivo šta one znače. Wireshark koristi različite boje kako bi nam pomogao da prepoznamo različite vrste saobraćaja.

Saobraćaj koji nam je potreban za filtriranje možemo unijeti u odjeljak " filter:"I sam Wireshark će nam dati savjete ili možemo izabrati klikom na" Izraz "

Također možemo kreirati vlastiti filter klikom na Analiziraj >> Filteri za prikaz

Ako vidite paket koji želite, možete vidjeti njegov sadržaj.




Takođe možete vidjeti cijeli sadržaj paketa, kao i sve podatke o njemu.

Kao što ste već shvatili, ovo je veoma moćna stvar za gledanje saobraćaja. Naširoko ga koriste mnogi profesionalci za rješavanje mrežnih problema i dizajn mreže.

Ovo je samo početak, ostanite sa nama za ažuriranja dok objašnjavamo i razlažemo ovaj atribut u potpunosti.

Prije nego počnemo učiti kako hakovati druge mreže, moramo biti u mogućnosti kontrolirati našu mrežu i razumjeti šta je mrežni promet i kako ga filtrirati. Wireshark je idealan za to, jer ništa moćnije od njega do sada nije izmišljeno, a kao što možete pretpostaviti, radit će se o njemu. Wireshark je idealno oružje za analizu i hvatanje mrežnih paketa u realnom vremenu. Ali glavna stvar je da ih prikazuje u vrlo lako čitljivom formatu.

Wireshark je opremljen mnogim filterima, kodiranjem boja i mnogim drugim funkcijama koje vam omogućavaju da zaronite u mrežni promet i pregledate pojedinačne pakete.

Koristite svoju maštu!

dajem primjer:

Recimo da ste povezani na tuđu mrežu i trebate saznati šta koriste šta i kako prolazi kroz mrežu? Wireshark je savršeno rješenje. Nakon pregleda paketa, lako možete pronaći sve podatke koji su vam potrebni. Ali ovo je bio samo primjer, svako ga može slobodno koristiti prema svojim potrebama!

Aplikacije >> Internet >> Wireshark

Kao što vidite, ima lep jelovnik i sve je jasno. Ali ovo je zapravo vrlo složen atribut. Prvo, idemo kroz osnovne funkcije.

Odaberemo povezanu mrežu i pritisnemo start. Kao što vidite, počeo je hvatati pakete i prikazivati ​​sav promet iz vaše mreže.

Da biste zaustavili snimanje saobraćaja, kliknite na dugme " Zaustavite snimanje uživo "

Kao što vidite, boje u saobraćaju su različite i veoma je zanimljivo šta one znače. Wireshark koristi različite boje kako bi nam pomogao da prepoznamo različite vrste saobraćaja.

Saobraćaj koji nam je potreban za filtriranje možemo unijeti u odjeljak " filter:"I sam Wireshark će nam dati savjete ili možemo izabrati klikom na" Izraz "

Također možemo kreirati vlastiti filter klikom na Analiziraj >> Filteri za prikaz

Ako vidite paket koji želite, možete vidjeti njegov sadržaj.




Takođe možete vidjeti cijeli sadržaj paketa, kao i sve podatke o njemu.

Kao što ste već shvatili, ovo je veoma moćna stvar za gledanje saobraćaja. Naširoko ga koriste mnogi profesionalci za rješavanje mrežnih problema i dizajn mreže.

Ovo je samo početak, ostanite sa nama za ažuriranja dok objašnjavamo i razlažemo ovaj atribut u potpunosti.

Wireshark je moćan mrežni analizator koji se može koristiti za analizu saobraćaja koji prolazi kroz mrežni interfejs vašeg računara. Ovo će vam možda trebati za otkrivanje i rješavanje problema s mrežom, otklanjanje grešaka u vašim web aplikacijama, mrežnim programima ili web lokacijama. Wireshark vam omogućava da u potpunosti vidite sadržaj paketa na svim nivoima, tako da možete bolje razumjeti kako mreža radi na niskom nivou.

Svi paketi se snimaju u realnom vremenu i daju se u lako čitljivom formatu. Program podržava veoma moćan sistem filtriranja, isticanje boja i druge karakteristike koje će vam pomoći da pronađete pakete koje želite. U ovom vodiču ćemo pogledati kako koristiti Wireshark za analizu prometa. Nedavno su programeri prešli na rad na drugoj grani programa Wireshark 2.0, koji je donio mnoge promjene i poboljšanja, posebno za interfejs. To je ono što ćemo koristiti u ovom članku.

Ključne karakteristike Wiresharka

Prije nego što pređete na razmatranje metoda analize prometa, potrebno je detaljnije razmotriti koje mogućnosti program podržava, s kojim protokolima može raditi i što učiniti. Evo glavnih karakteristika programa:

  • Hvatanje paketa u realnom vremenu sa ožičenih ili bilo koje druge vrste mrežnih sučelja, kao i čitanje iz datoteke;
  • Podržani su sljedeći interfejsi za snimanje: Ethernet, IEEE 802.11, PPP i lokalni virtuelni interfejsi;
  • Paketi se mogu filtrirati po mnogim parametrima pomoću filtera;
  • Svi poznati protokoli su istaknuti na listi različitim bojama, na primjer TCP, HTTP, FTP, DNS, ICMP i tako dalje;
  • Podrška za hvatanje prometa VoIP poziva;
  • Podržava dešifriranje HTTPS prometa pomoću certifikata;
  • Dešifrovanje WEP, WPA saobraćaja bežičnih mreža u prisustvu ključa i rukovanja;
  • Prikaz statistike opterećenja mreže;
  • Pregledajte sadržaj paketa za sve mrežne slojeve;
  • Prikazuje vrijeme slanja i primanja paketa.

Program ima mnogo drugih funkcija, ali ovo su bile glavne koje bi vas mogle zanimati.

Kako koristiti Wireshark

Pretpostavljam da već imate instaliran program, ali ako nije, onda ga možete instalirati iz službenih spremišta. Da biste to učinili, ukucajte naredbu u Ubuntu:

$ sudo apt install wireshark

Nakon instalacije, program možete pronaći u glavnom meniju distribucije. Morate pokrenuti Wireshark sa pravima superkorisnika, jer u suprotnom program neće moći analizirati mrežne pakete. Ovo se može uraditi iz glavnog menija ili preko terminala koristeći naredbu za KDE:

$ kdesu wireshark

A za Gnome/Unity:

$ gksu wireshark

Glavni prozor programa podijeljen je na tri dijela, prvi stupac sadrži listu mrežnih sučelja dostupnih za analizu, drugi - opcije za otvaranje datoteka, a treći - pomoć.

Analiza mrežnog saobraćaja

Da biste započeli analizu, odaberite mrežno sučelje, na primjer eth0 i kliknite na dugme Počni.

Nakon toga, otvorit će se sljedeći prozor, već sa nizom paketa koji prolaze kroz interfejs. Ovaj prozor je također podijeljen na nekoliko dijelova:

  • Gornji dio- ovo su meniji i paneli sa raznim dugmadima;
  • Lista paketa- tada se prikazuje tok mrežnih paketa koje ćete analizirati;
  • Sadržaj paketa- odmah ispod se nalazi sadržaj odabranog paketa, podijeljen je u kategorije ovisno o transportnom sloju;
  • Pravo zastupanje- na samom dnu, sadržaj paketa je prikazan u stvarnom obliku, kao i u obliku HEX-a.

Možete kliknuti na bilo koji paket da analizirate njegov sadržaj:

Ovdje vidimo paket zahtjeva do DNS-a da dobijemo ip adresu stranice, domen se šalje u samom zahtjevu, a u paketu odgovora dobijamo naše pitanje, kao i odgovor.

Za lakši pregled, paket možete otvoriti u novom prozoru dvostrukim klikom na unos:

Wireshark filteri

Vrlo je nezgodno ručno prolaziti kroz pakete kako biste pronašli one koji su vam potrebni, posebno s aktivnim streamom. Stoga je bolje koristiti filtere za takav zadatak. Ispod menija postoji posebna linija za unos filtera. Možete kliknuti na Izraz da otvorite konstruktor filtera, ali ima ih mnogo, pa ćemo pokriti one najosnovnije:

  • ip.dst- ciljna IP adresa;
  • ip.src- IP adresa pošiljaoca;
  • ip.addr- ip pošiljaoca ili primaoca;
  • ip.proto- protokol;
  • tcp.dstport- odredišna luka;
  • tcp.srcport- luka pošiljaoca;
  • ip.ttl- filter po ttl, određuje udaljenost mreže;
  • http.request_uri- traženu adresu web stranice.

Možete koristiti sljedeće operatore da odredite odnos između polja i vrijednosti u filteru:

  • == - jednaki;
  • != - nije jednaka;
  • < - manji;
  • > - više;
  • <= - manje ili jednako;
  • >= - više ili jednako;
  • utakmice- regularni izraz;
  • sadrži- sadrži.

Za kombiniranje više izraza možete koristiti:

  • && - oba izraza moraju biti istinita za paket;
  • || - jedan od izraza može biti tačan.

Sada pogledajmo bliže nekoliko filtera koristeći primjere i pokušajmo razmotriti sve znakove odnosa.

Prvo, filtrirajmo sve pakete poslane na 194.67.215.125 (losst.ru). Unesite red u polje filtera i kliknite Prijavite se... Radi praktičnosti, Wireshark filteri se mogu sačuvati pomoću dugmeta Sačuvaj:

ip.dst == 194.67.215.125

A da biste primili ne samo poslane pakete, već i primljene kao odgovor od ovog čvora, možete kombinirati dva uvjeta:

ip.dst == 194.67.215.125 || ip.src == 194.67.215.125

Također možemo odabrati prenesene velike datoteke:

http.content_length> 5000

Nakon filtriranja Content-Type, možemo odabrati sve slike koje su postavljene, analizirati Wireshark promet, čiji paketi sadrže riječ image:

http.content_type sadrži sliku

Za brisanje filtera možete kliknuti na dugme Jasno... Dešava se da ne znate uvijek sve informacije potrebne za filtriranje, već samo želite proučiti mrežu. Možete dodati bilo koje polje paketa kao kolonu i vidjeti njegov sadržaj u općem prozoru za svaki paket.

Na primjer, želim prikazati ttl (životni vijek) paketa kao kolonu. Da biste to učinili, otvorite informacije o paketu, pronađite ovo polje u odjeljku IP. Zatim pozovite kontekstni meni i odaberite opciju Primijeni kao kolonu:

Također možete sami kreirati filter na osnovu bilo kojeg željenog polja. Odaberite željeno polje i otvorite kontekstni meni, a zatim pritisnite Primijeniti kao filter ili Pripremite kao filter zatim izaberite Odabrano za prikaz samo odabranih vrijednosti, ili Nije odabrano da ih uklonite:

Navedeno polje i njegova vrijednost će biti primijenjeni ili, u drugom slučaju, zamijenjeni u polje filtera:

Na ovaj način filteru možete dodati polje bilo kojeg paketa ili kolonu. Postoji i ova opcija u kontekstualnom meniju. Takođe možete koristiti jednostavnije uslove za filtriranje protokola. Na primjer, analizirajmo Wireshark promet za HTTP i DNS protokole:

Još jedna zanimljiva karakteristika programa je upotreba Wiresharka za praćenje određene sesije između računara korisnika i servera. Da biste to učinili, otvorite kontekstni meni za paket i odaberite Pratite TCP stream.

Zatim će se otvoriti prozor u kojem ćete pronaći sve podatke koji se prenose između servera i klijenta:

Dijagnostikovanje problema sa Wiresharkom

Možda se pitate kako koristiti Wireshark 2 za otkrivanje mrežnih problema. Da biste to učinili, u donjem lijevom kutu prozora nalazi se okruglo dugme, kada kliknete na njega, otvara se prozor. Expet Tools... U njemu Wireshark prikuplja sve poruke o greškama i mrežnim problemima:

Prozor je podeljen na kartice kao što su Greške, Upozorenja, Obaveštenja, Ćaskanja. Program može filtrirati i pronaći mnoge mrežne probleme i ovdje ih možete vidjeti vrlo brzo. Wireshark filteri su također podržani ovdje.

Wireshark analiza saobraćaja

Vrlo lako možete razumjeti šta su tačno korisnici preuzeli i koje fajlove su pregledali ako veza nije šifrovana. Program radi veoma dobar posao izdvajanja sadržaja.

Da biste to učinili, prvo morate zaustaviti snimanje prometa pomoću crvenog kvadrata na ploči. Zatim otvorite meni File -> Izvoz objekata -> HTTP:

To je vrlo moćan uslužni program koji ima puno funkcija. Nemoguće je sve njegove funkcionalnosti staviti u jedan članak, ali osnovne informacije koje su ovdje navedene bit će vam dovoljne da sami savladate sve što vam je potrebno.

Podijelite ovo