Zadaci za samostalan rad – Modul 19 – Wireshark i analiza mrežnog saobraćaja
Rešenja se nalaze u
/resenja/modul-19/05-zadaci-resenja.md— pokušajte da rešite zadatke samostalno pre nego što pogledate rešenja.
Nivo: Početni
Zadatak 1. Objasnite zašto Wireshark ne može da snima saobraćaj bez dodatne komponente poput Npcap-a ili libpcap-a.
Zadatak 2. Objasnite razliku između capture filtera i display filtera.
Zadatak 3. Napišite display filter koji prikazuje isključivo ICMP saobraćaj.
Nivo: Srednji
Zadatak 4. Napišite capture filter koji snima isključivo saobraćaj ka/od adrese 10.0.0.5 na TCP protokolu.
Zadatak 5. Objasnite koje polje povezuje ARP Request sa odgovarajućim ARP Reply-jem, i koje polje to radi za DNS Query/Response par.
Zadatak 6. Objasnite zašto DORA proces neće biti vidljiv u Wireshark snimku ako klijent već ima važeću, aktivnu IP adresu.
Zadatak 7. Poređajte tačnim redosledom tri paketa TCP three-way handshake-a i objasnite ulogu svakog.
Zadatak 8. Objasnite šta znači kada Wireshark klasifikuje paket kao [TCP Retransmission], i navedite dva tipična uzroka.
Nivo: Napredni
Zadatak 9. Objasnite zašto Wireshark može da prikaže kompletan sadržaj HTTP zahteva/odgovora preko Follow HTTP Stream, ali ne i sadržaj HTTPS/TLS konekcije preko iste tehnike.
Zadatak 10. Objasnite šta je SNI polje, zašto ostaje vidljivo u čistom tekstu čak i u TLS Client Hello paketu, i kako se to može iskoristiti u bezbednosnoj dijagnostici.
Zadatak 11. Data je situacija: TCP handshake za konekciju ka portu 443 na udaljenom serveru pokazuje samo ponavljane SYN pakete od klijenta, bez ijednog SYN-ACK odgovora. Navedite dva moguća uzroka.
Zadatak 12. Objasnite sistematski redosled koji biste pratili u Wireshark-u da utvrdite da li je uzrok sporog rada aplikacije mrežni problem ili problem same serverske aplikacije.
Praktičan zadatak u laboratorijskoj vežbi
Zadatak 13. Proširite laboratorijsku vežbu ovog modula tako što ćete umesto loss parametra u tc netem koristiti delay 300ms 50ms (kašnjenje sa varijacijom, simulirajući jitter iz Modula 15). Snimite SCP prenos fajla i dokumentujte da li se pojavljuju TCP retransmisije, i objasnite zašto se rezultat razlikuje (ili ne razlikuje) od loss scenarija iz laboratorijske vežbe.
Zadatak zasnovan na izlazu komande
Zadatak 14. Dat je sledeći opis snimka: filter tcp.analysis.retransmission na snimku od 5.000 ukupnih paketa vraća 2 rezultata; filter dns pokazuje da svaki DNS upit dobija odgovor za manje od 10ms; filter tcp.flags.syn == 1 pokazuje da se za svaku konekciju SYN-ACK vraća odmah nakon SYN-a. Na osnovu ovih rezultata odgovorite: (a) da li mrežna infrastruktura izgleda kao verovatan uzrok bilo kakvog problema sa sporošću? (b) gde biste dalje usmerili istragu ako korisnici i dalje prijavljuju da je aplikacija spora?
Zadatak 15. Dat je sledeći opis Client Hello paketa u snimku: polje Server Name pokazuje „mail.firma.rs", dok je odredišna IP adresa u istom paketu 203.0.113.50. Objasnite: (a) šta ova kombinacija informacija otkriva o komunikaciji, i pored toga što je sav naredni saobraćaj enkriptovan preko TLS-a? (b) zašto bi bezbednosni analitičar mogao da koristi baš ovu kombinaciju polja u istrazi, umesto da pokušava da dekriptuje sadržaj?
📖 Prikaži rešenje
Rešenja zadataka za samostalan rad – Modul 19 – Wireshark i analiza mrežnog saobraćaja
Nivo: Početni
Zadatak 1. Wireshark je samo prikazivač/analizator paketa — stvarno hvatanje saobraćaja sa mrežne kartice na niskom nivou zahteva poseban drajver (Npcap na Windows-u, libpcap na Linux/macOS-u) koji ima pristup interfejsu ispod nivoa običnih aplikacija.
Zadatak 2. Capture filter se primenjuje pre snimanja, na nivou operativnog sistema/drajvera — paketi koji ne odgovaraju se nikad ne zapisuju. Display filter se primenjuje posle snimanja, na već uhvaćene pakete — samo kontroliše šta se prikazuje, može se menjati proizvoljno bez gubitka podataka.
Zadatak 3. icmp.
Nivo: Srednji
Zadatak 4. host 10.0.0.5 and tcp.
Zadatak 5. ARP nema eksplicitno „ID" polje — povezivanje se vrši implicitno kroz IP/MAC adrese u Sender/Target poljima i vremensku blizinu. DNS koristi eksplicitno Transaction ID polje da poveže upit sa odgovarajućim odgovorom.
Zadatak 6. DORA proces se dešava samo kada klijent traži novu IP adresu — ako klijent već ima važeću, aktivnu adresu, neće ponovo pokretati ceo proces dok se lease ne oslobodi/istekne ili se eksplicitno ne zatraži obnavljanje (release/renew).
Zadatak 7. (1) SYN — klijent predlaže svoj inicijalni sequence number; (2) SYN-ACK — server potvrđuje klijentov sequence number (+1) i predlaže svoj; (3) ACK — klijent potvrđuje serverov sequence number (+1), konekcija je uspostavljena.
Zadatak 8. [TCP Retransmission] znači da je Wireshark prepoznao da je isti TCP segment poslat više puta, jer pošiljalac nije primio ACK potvrdu u očekivanom roku. Dva tipična uzroka: gubitak paketa (packet loss) na mreži, i preopterećenje/zagušenje linka ili uređaja na putu.
Nivo: Napredni
Zadatak 9. HTTP prenosi podatke neenkriptovano, u čistom tekstu — Wireshark direktno čita sadržaj. HTTPS/TLS enkriptuje sadržaj preko kriptografskih ključeva razmenjenih tokom handshake-a — bez privatnog ključa servera (ili session ključeva), Wireshark vidi samo nečitljive, enkriptovane bajtove, po dizajnu TLS protokola.
Zadatak 10. SNI (Server Name Indication) je polje u TLS Client Hello paketu koje sadrži ime domena koji klijent pokušava da dosegne. Ostaje vidljivo u čistom tekstu jer je serveru potrebno da zna koje ime domena (i time koji sertifikat/sajt) klijent traži pre nego što je enkriptovani kanal uopšte uspostavljen (bitno kod servera koji hostuju više sajtova na istoj IP adresi). Bezbednosni analitičar može koristiti SNI da identifikuje koje domene je uređaj kontaktirao, čak i bez mogućnosti dekriptovanja stvarnog sadržaja.
Zadatak 11. (1) Servis uopšte ne sluša na tom portu na serveru (npr. aplikacija nije pokrenuta); (2) firewall (na serveru, ili mrežni uređaj na putu) blokira dolazne SYN pakete ka tom portu.
Zadatak 12. (1) Statistics → I/O Graph za širok pregled i lociranje perioda anomalije; (2) tcp.analysis.retransmission za proveru gubitka paketa/zagušenja; (3) dns za proveru brzine DNS rezolucije; (4) tcp.flags.syn == 1 za proveru da li TCP handshake uspeva brzo; (5) Follow TCP/HTTP Stream za proveru da li server sam sporo generiše odgovor (aplikativni, ne mrežni problem).
Praktičan zadatak u laboratorijskoj vežbi
Zadatak 13. tc netem delay 300ms 50ms uvodi kašnjenje sa varijacijom (jitter), ne gubitak paketa. Očekivano, broj TCP retransmisija ostaje nizak/zanemarljiv (za razliku od loss scenarija) — paketi i dalje stižu, samo sa varijabilnim kašnjenjem. Prenos je sporiji zbog povećanog RTT-a (Round Trip Time) koji usporava TCP potvrde, ali mehanizam usporavanja je drugačiji od onog kod gubitka paketa: ovde nema ponovnog slanja segmenata, samo duže čekanje na svaku potvrdu, što ograničava koliko brzo TCP prozor (congestion window) može da raste.
Zadatak zasnovan na izlazu komande
Zadatak 14. (a) Ne, mrežna infrastruktura ne izgleda kao verovatan uzrok — svega 2 retransmisije na 5.000 paketa je zanemarljivo (znatno ispod 0.1%), DNS je brz, a TCP handshake uspeva odmah bez ponavljanja. (b) Istragu treba usmeriti ka serverskoj aplikaciji — koristeći Follow HTTP Stream da se proveri vreme između zahteva i prvog bajta odgovora (Time to First Byte); ako je to vreme dugo uprkos zdravoj mreži, uzrok je u serverskoj obradi zahteva (baza podataka, backend kod), ne u mreži.
Zadatak 15. (a) Ova kombinacija otkriva da je uređaj komunicirao sa serverom na IP adresi 203.0.113.50 tražeći konkretno ime „mail.firma.rs" — čak i bez uvida u sam sadržaj enkriptovane komunikacije, poznato je koji servis/domen je kontaktiran i kada (vreme paketa), samo na osnovu metapodataka u Client Hello paketu. (b) Analitičar koristi ovu kombinaciju jer je dekriptovanje TLS sadržaja bez privatnog ključa servera praktično nemoguće (po dizajnu protokola) — SNI i IP adresa pružaju dovoljno informacija (koji domen, koji server, obrazac komunikacije) da se izvede korisna bezbednosna analiza (npr. potvrda kontakta sa poznatim zlonamernim domenom) bez potrebe da se ikada probije sama enkripcija.