12 анализатора мрежних пакета за Сисадмин и безбедносне аналитичаре

Razumevanje Vaše Mreže: Ključni Alati za Analizu Paketa

Vaša mreža predstavlja srce vašeg poslovanja. Stoga je od suštinskog značaja da imate dubok uvid u sve što se u njoj dešava.

Digitalni svet je doživeo značajne promene. Od jednostavnih CGI skripti napisanih u Perlu, danas imamo složene aplikacije koje rade potpuno automatizovano na Kubernetes-u i sličnim platformama za orkestraciju. Tehnologija je napredovala neverovatnom brzinom.

Tipična moderna web aplikacija zasnovana na kontejnerima i distribuciji (izvor: medium.com)

Ipak, osnove su i dalje iste kao 1970-ih. Sve se svodi na apstrakcije koje leže na fizičkim kablovima koji formiraju mrežu (da, virtuelne mreže su takođe bitne). Mrežu možemo podeliti na slojeve prema OSI modelu, ali se uvek vraćamo na TCP/IP protokole, pingove, rutere – sve sa ciljem prenosa podataka u paketima.

Šta je Mrežni Paket?

Bez obzira da li razgovaramo, gledamo video, igramo igre, ili kupujemo online, u suštini razmenjujemo pakete podataka između dva računara (ili mreža). Paket je najmanja jedinica informacija koja se prenosi mrežom. Postoji jasno definisan način formiranja i verifikacije tih paketa (više o tome možete pronaći ovde).

Protok paketa u mreži (izvor: training.ukdw.ac.id)

Svaki paket je karika u lancu, propisno se prenosi na izvoru i proverava na odredištu. Ako samo jedan paket izostane ili stigne van reda, proces se zaustavlja dok svi paketi ne stignu u ispravnom redosledu. Tek tada se spajaju kako bi formirali originalne podatke (npr. sliku).

Kada razumemo šta je mreža, lako je razumeti svrhu mrežnog analizatora. To je alat koji nam omogućava da zavirimo u pojedinačne pakete u mreži.

Ali zašto bismo uopšte to radili? Hajde da vidimo.

Zašto Analizirati Pakete?

Paketi su osnovni gradivni blokovi u mrežnom protoku podataka, kao atomi u materiji. Međutim, ne brinemo se o pojedinačnom atomu; zašto bismo brinuli o pojedinačnom mrežnom paketu? Šta možemo saznati što već ne znamo?

Teško je uvideti značaj analize paketa dok vas ne zadesi problem. Analiza paketa dolazi u obzir kada druge metode ne daju rezultate. Tipični scenariji uključuju:

  • Neobjašnjivi gubitak poverljivih podataka
  • Dijagnostikovanje sporih aplikacija
  • Potvrda sigurnosti vašeg računara/mreže
  • Otkrivanje da li neko zloupotrebljava vašu WiFi mrežu bez dozvole
  • Otkrivanje uskog grla na serveru

Analiza paketa pruža konkretne, dokazive činjenice. Ako znate kako analizirati pakete, možete izbeći neopravdane optužbe za hakovanje ili greške u kodiranju.

Sve je u mozgu! (izvor: dailydot.com)

Jedan bloger je odlično opisao situaciju:

Aplikacija kritična za moju kompaniju je imala probleme sa performansama. Radilo se o aplikaciji za određivanje cena akcija koja se koristila u finansijskim kompanijama širom sveta. Analizom TCP ponašanja, utvrdio sam da je problem bio u implementaciji TCP-a od strane proizvođača OS-a. Greška je bila da se, kada bi stek za slanje ušao u kontrolu zagušenja, nikada ne bi oporavio. Zbog toga je prozor za slanje bio komično mali.

Trebalo je mnogo vremena i ubeđivanja da uverim ljude iz podrške proizvođača OS-a da problem *nije* u aplikaciji. Na kraju, sam kontaktirao programera koji je implementirao RFC1323 ekstenzije u stek. Sledećeg dana sam dobio zakrpu za OS i aplikacija je počela da funkcioniše savršeno. Greška je bila što su dolazeći ACK-ovi *sa korisnim opterećenjem* bili pogrešno kategorisani kao DUPACK-ovi kada je stek bio pod kontrolom zagušenja.

Ovaj problem se ne bi pojavio kod poludupleks aplikacija kao što je HTTP, ali je aplikacija koju sam podržavao slala podatke dvosmerno na soketu u svakom trenutku.

U to vreme menadžment nije bio naklonjen mojim metodama, a niko osim mene nije verovao da je problem u implementaciji TCP-a dobavljača OS-a. Ipak, ispravljanje greške od strane proizvođača operativnog sistema mi je donelo veliki prestiž i poverenje da rešavam kompleksne probleme.

Ukratko, problemi sa performansama su pripisani pogrešnoj aplikaciji. Samo je temeljna analiza paketa dokazala da problem nije u aplikaciji, već u načinu na koji operativni sistem obrađuje mrežni protokol.

Krajnja popravka nije bila podešavanje aplikacije, već zakrpa proizvođača operativnog sistema! Šta mislite gde bi programer bio bez analize paketa? Verovatno bez posla.

Analiza paketa je moćan alat, a dobra vest je da nije komplikovano naučiti je. Uz prave alate i malo osnovnog znanja o mrežama, možete brzo postati stručnjak.

Wireshark

Wireshark je projekat koji postoji od 1998. godine i predstavlja industrijski standard za dubinsku analizu mreža. Impresivno je da je u pitanju volonterska organizacija, podržana od strane sponzora. Wireshark je otvorenog koda (kod se nalazi ovde) i ima svoje konferencije.

Wireshark nudi brojne mogućnosti, uključujući:

  • Podrška za stotine mrežnih protokola.
  • Kompatibilnost sa raznim formatima datoteka (tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (kompresovani i nekompresovani), Sniffer® Pro i NetXray®).
  • Radi na svim glavnim platformama (Linux, Windows, macOS, Solaris, FreeBSD i druge).
  • Čitanje podataka uživo sa Etherneta, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring, i drugih.
  • Gzip dekompresija u realnom vremenu.
  • Dekripcija raznih protokola (WPA/WPA2, SNMPv3, itd.).
  • Opsežna analiza VoIP-a.
  • Pravila za bojenje radi brže vizuelne inspekcije.

Ako želite da savladate Wireshark, pogledajte ovaj online kurs.

Tražite Wireshark u terminalu? Probajte Termshark.

tcpdump

Ako ste ljubitelj komandne linije, tcpdump je pravi izbor za vas.

To je jedan od legendarnih Linux alata koji ostaje relevantan, na kojem su zasnovani mnogi drugi analitički alati. Nema grafičko okruženje, ali to nadoknađuje svojom efikasnošću.

Instalacija može biti izazovna; iako je tcpdump uključen u većinu Linux distribucija, u suprotnom ćete ga morati kompajlirati iz izvornog koda.

tcpdump komande su jednostavne i direktne, fokusirane na rešavanje konkretnih problema:

  • Prikaz svih dostupnih interfejsa
  • Snimanje sa samo jednog interfejsa
  • Čuvanje snimljenih paketa u datoteku
  • Hvatanje samo problematičnih paketa

Ako vam treba brzo skeniranje, tcpdump je odlična opcija, posebno ako je već instaliran. Pogledajte ovaj post za primere tcpdump komandi.

Tproxy

Tproxy je jednostavan alat otvorenog koda za proxy TCP konekcija. Napisan je u programskom jeziku Go i dostupan je na svim modernim Linux i macOS platformama.

Slika ispod prikazuje komandnu liniju za praćenje MySQL veza:

Primarna namena je da proksira HTTP konekcije i analizira sadržaj HTTP zahteva i odgovora. Koristi se i za druge protokole kao što su SOCKS ili TCP. Tproxy se može koristiti za analizu saobraćaja na aktivnoj vezi. Koristan je za debagovanje i testiranje aplikacija koje koriste TCP i za izgradnju TCP proxy servisa.

Tproxy pojednostavljuje složenu mrežnu analizu bez potrebe za dubokim razumevanjem TCP protokola.

Sledeća slika prikazuje komandnu liniju za praćenje gRPC veza:

Tproxy radi kao TCP proxy, omogućavajući povezivanje sa udaljenim servisima kao da su lokalno. Takođe omogućava poboljšanja u pogledu sigurnosti, rešavanja problema i performansi.

Dodatne upotrebe Tproxy-a:

  • Debagovanje i optimizacija TCP veza.
  • Razumevanje funkcionisanja proxy programa kao što su Burp Suite i ZAP.
  • Praćenje MySQL i gRPC veza i provera pouzdanosti veze.

Tproxy pojednostavljuje radni tok i omogućava kompleksnu mrežnu analizu. Alat je dostupan na GitHub-u.

NetworkMiner

NetworkMiner, promovisan kao alat za forenzičku analizu mreže (NFAT), je open-source alat za pasivnu analizu mreže. Poseduje impresivan GUI interfejs za prikaz pojedinačnih slika i drugih prenetih datoteka.

NetworkMiner nudi sledeće funkcije:

  • Podrška za IPv6.
  • Parsiranje PCAP datoteka.
  • Izvlačenje X.509 sertifikata iz SSL enkriptovanog saobraćaja.
  • PCap-over-IP.
  • Podrška za više tipova saobraćaja (FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3 itd.).
  • OS fingerprinting.
  • Geo IP lokacija.
  • Podrška za komandnu liniju.

Napominjemo da su neke funkcije dostupne samo u komercijalnoj verziji.

Fiddler

Za razliku od drugih pasivnih njuškala, Fiddler se nalazi između vašeg uređaja i spoljašnjeg sveta, stoga zahteva dodatno podešavanje.

To je besplatan alat (prilagodljiv sa FiddlerScript-om) sa dugom istorijom, idealan za analizu HTTP/HTTPS saobraćaja.

Fiddler vam omogućava:

  • Manipulaciju sesijom: otvaranje i modifikovanje HTTP zaglavlja i podataka o sesiji.
  • Testiranje sigurnosti: simuliranje napada „man-in-the-middle“ i dekripcija HTTPS saobraćaja.
  • Testiranje performansi: analiza vremena učitavanja stranica i API odgovora.

Za detaljnije informacije, pogledajte zvaničnu dokumentaciju.

WinDump

Ako vam nedostaje jednostavnost tcpdump-a na Windows sistemima, koristite WinDump. Nakon instalacije, pokreće se iz komandne linije ukucavanjem „tcpdump“, baš kao i na Linux sistemima.

Sam WinDump je izvršni fajl, pod uslovom da imate instaliranu Pcap biblioteku (npcap se preporučuje, jer se WinPcap više ne razvija).

BruteShark

BruteShark je efikasan alat za mrežnu forenzičku analizu (NFAT). Koristi se za obradu i proveru mrežnog saobraćaja iz PCAP datoteka ili direktno sa mrežnih interfejsa.

Omogućava rekonstrukciju TCP sesija, kreiranje mrežnih mapa, ekstrakciju haševa lozinki i njihovo prebacivanje u Hashcat format. Namenjen je mrežnim administratorima i bezbednosnim istraživačima.

BruteShark postoji u dve verzije: GUI aplikacija za Windows i CLI alat za Linux i Windows. Neki projekti se mogu koristiti i nezavisno.

BruteShark nudi funkcije poput ekstrakcije DNS upita, izdvajanja fajlova, VoIP poziva (SIP, RTP), pravljenja mrežnog dijagrama, izdvajanja haševa za autentifikaciju (NTLM, HTTP-Digest, CRAM-MD5, Kerberos, itd.) i preuzimanje lozinki i korisničkih imena.

Realizovan je kroz .Net Standard i .Net Core za cross-platform podršku. Koristi troslojnu arhitekturu (PL, BLL i DAL).

DAL (Data Access Layer) omogućava čitanje raw PCAP datoteka koristeći drajvere kao što su WinPcap, libpcap i omotačke biblioteke poput SharpPcap. BLL (Business Logic Layer) je odgovoran za analizu mrežnih informacija (TCP, paket, itd.), a PL koristi projekat koji obuhvata sve oblasti i povezuje BLL i DAL slojeve.

OmniPeek

Za velike mreže koje generišu velike količine podataka, OmniPeek je rešenje koje vredi razmotriti.

OmniPeek je alat za analizu performansi i forenzičku analizu mreža, pružajući i detaljnu analizu na niskom nivou i sveobuhvatne kontrolne table.

Izvor: sniffwifi.com

Capsa

Ako koristite isključivo Windows platformu, Capsa je ozbiljan kandidat. Dostupna je u tri verzije: besplatna, standardna i poslovna, svaka sa različitim mogućnostima.

Besplatna verzija podržava preko 300 protokola i ima funkcije poput upozorenja. Standardna verzija podržava 1000+ protokola i omogućava analizu razgovora i rekonstrukciju toka paketa.

Sve u svemu, solidna opcija za Windows korisnike.

EtherApe

Ako tražite moćne vizualizacije i open-source alat, EtherApe je odličan izbor. Iako su pre-built binarni fajlovi dostupni za nekoliko Linux distribucija, izvorni kod je dostupan (na SourceForge i GitHub-u).

EtherApe nudi sledeće:

  • Praćenje sa više čvorova, kodirano bojama.
  • Podrška za brojne formate paketa (ETH_II, 802.2, 803.3, IP, IPv6, ARP, X25L3, REVARP, ATALK, AARP, IPX, VINES, TRAIN, LOOP, VLAN itd.).
  • Čitanje podataka uživo sa mreže ili iz tcpdump datoteke.
  • Podrška za standardnu rezoluciju imena.
  • GUI je prešao na GTK3, što pruža bolje iskustvo.

CommView

Ako koristite isključivo Windows i cenite prioritetnu podršku, CommView je preporučljiv. To je moćan alat za analizu mrežnog saobraćaja sa funkcijama poput VoIP analize, daljinskog praćenja itd.

CommView omogućava izvoz podataka u različite formate, uključujući Sniffer®, EtherPeek™, AiroPeek™, Observer®, NetMon, Wireshark/Tcpdump i Wireshark/pcapng, kao i obične heksadecimalne dump-ove.

WiFi Explorer

Poslednji na listi je WiFi Explorer, koji ima besplatnu verziju za Windows i standardnu verziju za Windows i macOS. Ako vam treba samo analiza WiFi mreže, WiFi Explorer će vam olakšati posao.

To je lepo dizajniran i bogat alat za dubinsku analizu mreže.

Važno je pomenuti i macOS-ekskluzivni analizator mreže – Little Snitch. On ima ugrađen firewall koji omogućava kontrolu nad celim mrežnim saobraćajem.

Šta je sledeće?

Takođe biste trebali istražiti ovaj softver za nadgledanje mreže radi bolje vidljivosti infrastrukture. Za karijeru u mreži i bezbednosti, razmotrite online kurseve.