A
Wireshark
A Wireshark a világ legnépszerűbb nyílt forráskódú
hálózati forgalom-elemző eszköze, amellyel valós időben vizsgálhatók és
elemezhetők a hálózati csomagok.
Alapvető lépések és használat
• Telepítés:
Töltsd le a hivatalos oldalról. Windows rendszeren szükség van hozzá az Npcap
illesztőprogramra is a csomagok rögzítéséhez.
• Felület
kiválasztása: Indítás után válaszd ki azt a hálózati kártyát (Wi-Fi vagy
Ethernet), amelynek a forgalmát figyelni szeretnéd.
• Rögzítés
indítása: Kattints a bal felső sarokban található kék cápauszony ikonra (Start)
a csomagok gyűjtésének elindításához.
• Szűrés:
Használd a szűrősávot (Display Filter), hogy ne láss minden adatot. Például írd
be, hogy http, dns vagy ip.addr == 192.168.1.1.
• Elemzés:
Kattints egy sorra a csomaglistában, alul pedig megtekintheted a részleteit
([Packet Details]) és nyers bájtjait ([Packet Bytes])
A Wireshark leghasznosabb funkciója a kijelzőszűrők
(Display Filters) használata, amelyek segítségével másodpercek alatt
megtalálhatod a keresett hálózati forgalmat a több ezer csomag között.
Legfontosabb alapvető szűrők
• ip.addr
== 192.168.1.50 – Egy adott IP-cím összes bejövő és kimenő forgalma.
• ip.src
== 10.0.0.5 – Csak a megadott IP-címről induló (forrás) csomagok.
• ip.dst
== 8.8.8.8 – Csak a megadott IP-címre tartó (cél) csomagok.
• tcp.port
== 443 – A HTTPS (biztonságos weboldalak) forgalma.
• udp.port
== 53 – A DNS (névfeloldási) forgalom.
A szűrőket logikai kapcsolatokkal is kombinálhatod:
• and
(és): ip.addr == 192.168.1.50 and tcp (csak a megadott IP TCP forgalma).
• or
(vagy): http or dns (csak a HTTP vagy DNS csomagok mutatása).
• ! vagy
not (nem): !arp (elrejti az összes ARP csomagot).
________________________________________
DNS és HTTP protokollok elemzése
1. DNS (Domain Name System) vizsgálata
A DNS fordítja le a weboldalak neveit (pl. google.com)
IP-címekre.
• Szűrő:
Írd be a szűrősávba:
• Mit
keress?
o Keress
egy Standard query sort (ez a kérés, pl. "Hova költözött a
google.com?").
o Kattints
rá, majd alul nyisd le a Domain Name System (query) részt.
o Keresd
meg a Queries fület, itt láthatod a pontos domain nevet.
o A
Standard query response (válasz) csomagban a Queries alatt megjelenik az
Answers fül is, ahol látható a weboldal tényleges IP-címe.
2. HTTP (nem titkosított webforgalom) vizsgálata
Mivel a modern web (HTTPS) titkosított, a Wiresharkban
a sima http szűrővel a régi, nem biztonságos weboldalak vagy API-k adatait
láthatod tisztán.
• Szűrő:
Írd be a szűrősávba: http
•
• Szűrő:
Írd be a szűrősávba: http
• Mit
keress?
o Keresd
meg a GET (oldal letöltése) vagy POST (adatküldés, pl. űrlapok) metódusú
sorokat.
o Kattints
jobb gombbal egy HTTP sorra, válaszd a Follow -> TCP Stream lehetőséget.
o Egy új
ablakban egyben láthatod a teljes beszélgetést a böngésződ és a szerver között
(a kért szövegeket, sőt, akár a beírt jelszavakat is, ha az oldal nem használt
HTTPS-t).
________________________________________
Ahhoz, hogy élesben is lásd a Wireshark működését,
generáljunk egy tiszta, könnyen azonosítható DNS és Ping forgalmat, amit aztán
megkeresünk a programban.
Kövesd az alábbi lépéseket:
1. lépés: A Wireshark előkészítése
1. Indítsd
el a Wiresharkot, és kattints duplán az aktív hálózati kártyádra (Wi-Fi vagy
Ethernet) a rögzítés indításához.
2. A felső
szűrősávba írd be: dns or icmp (majd nyomj Entert).
(Az ICMP a ping parancs által használt protokoll. Most
még üres lesz a képernyő, ez így a jó!)
2. lépés: Tesztforgalom generálása (Parancssorból)
Nyisd meg a számítógéped parancssorát:
• Windows-on:
Nyomd meg a Win + R billentyűket, írd be: cmd, majd Enter.
• Mac /
Linux-on: Nyisd meg a Terminált.
Másold be és futtasd le a következő parancsot:
bash
ping -n 4 wikipedia.org
Körültekintően használja a kódot.
(Mac/Linux esetén a -n 4 helyett használd a -c 4
kapcsolót).
3. lépés: Mit kell látnod a Wiresharkban?
Amint lefutott a parancs, a Wireshark ablakában
azonnal meg kell jelenniük a színes soroknak. Állítsd le a rögzítést a bal
felső piros négyzet (Stop) gombbal, és vizsgáld meg az eredményt:
1. A DNS
kérés (A névfeloldás):
o Keresd
meg a lista tetején az első DNS típusú sorokat.
o Az egyik
sorban ezt fogod látni: Standard query 0x... A wikipedia.org. Ez az a pillanat,
amikor a géped megkérdezte a DNS szervertől, hogy mi a Wikipedia IP-címe.
o Közvetlenül
alatta lesz a Standard query response... sor, amire ha rákattintasz, az alsó
részletnézetben az Answers fül alatt láthatod a Wikipedia valódi IP-címét.
2. A Ping
csomagok (ICMP):
o A DNS
sorok után látni fogsz 8 darab ICMP típusú sort.
o Keresd
meg az Echo (ping) request (kérés) és az Echo (ping) reply (válasz) párokat.
o Ha
rákattintasz az egyik request sorra, láthatod, hogy a forrás IP-cím (Source) a
te saját géped, a cél IP-cím (Destination) pedig a Wikipedia előbb lekérdezett
címe.
Nézzük meg, hogyan tudod ellenőrizni a csomagvesztést
(packet loss) és a hálózati késleltetést (latency), mert a valóságban a legtöbb
hibakeresésnél (pl. szakadozó online játékok, akadozó videóhívások) ezt a
módszert használják.
Csomagvesztés és késleltetés keresése
Ha a hálózat tökéletesen működik, a Wiresharkban
minden kérést azonnal követ egy válasz. Ha probléma van, a program fekete színű
figyelmeztető sorokat jelenít meg.
1. Speciális szűrők a hibák kiszűrésére
Gépeld be a felső szűrősávba az alábbi szűrők egyikét
a hibás csomagok kereséséhez:
• tcp.analysis.flags
– Ez a legfontosabb szűrő. Megmutatja az összes olyan TCP csomagot, ahol a
Wireshark valamilyen hálózati problémát észlelt.
• tcp.analysis.retransmission
– Csak azokat a csomagokat mutatja meg, amelyeket a gépednek újra el kellett
küldenie, mert az első próbálkozásnál elvesztek a hálózaton (packet loss).
• icmp.type
== 3 – Ha pingelsz valamit, és ez a kód jelenik meg, az azt jelenti: "A
cél nem érhető el" (Destination Unreachable) – például mert lehalt a
szerver vagy rossz az IP-cím.
2. Hogyan mérd meg a pontos késleltetést (Ping idő)?
1. Írd be a
szűrőbe: icmp (az előző tesztünk alapján).
2. Kattints
rá az egyik Echo (ping) request sorra.
3. Alul a
részletes nézetben nyisd le az Internet Control Message Protocol fület.
4. Keresd
meg a [Response time: ... ms] sort. (Ez a zárójeles rész a Wireshark saját
számítása, ami megmutatja, pontosan hány ezredmásodperc telt el a kérés és a
válasz között).
________________________________________
Nézzük meg, hogyan tudsz automatikus grafikonokat
generálni a Wiresharkban. Ez a módszer zseniális, mert több ezer sornyi száraz
adat helyett azonnal kirajzolja a hálózati forgalom hullámzásait, így egyből
láthatóvá válnak a hirtelen terhelési tüskék (például egy nagy letöltés
indítása).
Forgalmi grafikonok készítése (I/O Graphs)
1. A felső
menüsorban kattints a Statistics (Statisztika) menüre.
2. Válaszd
ki az I/O Graphs (I/O Grafikonok) lehetőséget.
Egy új ablak fog megnyílni, amely valós időben mutatja
a hálózatod forgalmát (alapértelmezetten csomag/másodperc vagy bit/másodperc
alapon).
Hogyan szűrj rá konkrét dolgokra a grafikonon?
Az ablak alján található táblázatban saját egyedi
vonalakat adhatsz hozzá a grafikonhoz:
• Összes
TCP forgalom: Kattints a + gombra új vonal hozzáadásához, majd a Display Filter
oszlopba írd be: tcp. Adj neki egy egyedi színt (pl. piros).
• Összes
UDP/Streaming forgalom: Adj hozzá még egy vonalat, és a szűrőhöz írd be: udp.
Legyen ez a vonal például kék.
• Hibás
csomagok: Ha látni akarod, hogy mikor ugrott meg a csomagvesztés, adj hozzá egy
vonalat ezzel a szűrővel: tcp.analysis.flags.
Miért hasznos ez? Ha a piros (TCP) vagy kék (UDP)
vonal hirtelen kilő a magasba, és ezzel egy időben a hibás csomagok száma is
megugrik, azonnal látni fogod a grafikonon a hálózati túlterhelődés pontos
másodpercét.
________________________________________
Biztonsági tipp: A jelszavak vizsgálata
A grafikonok mellett a Wireshark kiválóan alkalmas
arra, hogy ellenőrizd, biztonságosak-e az alkalmazásaid.
Ha a szűrősávba beírod, hogy ftp vagy telnet (ezek
régi, titkosítatlan protokollok), és rákattintasz a csomagokra, az alsó
részletes nézetben konkrétan olvasható szövegként (Plain text) fogod látni a
felhasználóneveket és jelszavakat, amiket a hálózaton küldtek. Ezzel szemben,
ha a modern http2 vagy tls szűrőt használod, ott csak értelmezhetetlen,
titkosított karakterhalmazt fogsz látni.
Nézzük meg, hogyan tudod másodpercek alatt kideríteni,
hogy melyik IP-cím vagy weboldal generálta a legnagyobb forgalmat a gépeden, és
hogyan tudod elmenteni ezt a jelentést. Ez a leghasznosabb módszer, amikor azt
keresed, hogy mi lassítja az internetet.
Forgalom csoportosítása IP-címek szerint
(Conversations)
A Wireshark automatikusan összesíti, hogy ki kivel és
mennyi adatot cserélt.
1. A felső
menüsorban kattints a Statistics (Statisztika) menüre.
2. Válaszd
ki a Conversations (Beszélgetések) opciót.
3. A
megnyíló ablakban kattints az IPv4 fülre.
Itt egy letisztult táblázatot látsz. A két
legfontosabb oszlop, amire érdemes rákattintanod a rendezéshez:
• Packets
(Csomagok): Megmutatja, melyik kapcsolaton keresztül utazott a legtöbb
adatcsomag.
• Bytes
(Bájtok): Megmutatja a pontos adatforgalmat. Amelyik sor tetején a legnagyobb
szám áll (pl. több megabájt), az az IP-cím felelős a hálózat leterheléséért.
Tipp: Ha egy sorra jobb gombbal rákattintasz, és
kiválasztod az Apply as Filter -> Selected opciót, a Wireshark főablakában
azonnal csak annak az egyetlen gyanús IP-címnek a forgalmát fogod látni.
________________________________________
A rögzített adatok mentése és megosztása
Ha találtál egy hibát vagy gyanús forgalmat, azt
érdemes elmenteni, hogy később is meg tudd vizsgálni, vagy el tudd küldeni egy
szakértőnek.
• A teljes
mentés: Kattints a File -> Save As menüre. A fájl formátuma .pcapng vagy
.pcap lesz. Ezt a fájlt bármelyik másik Wireshark programmal meg lehet nyitni a
világon, és pontosan ugyanazokat a csomagokat fogja mutatni.
• Csak a
kiszűrt csomagok mentése: Ha beállítottál egy szűrőt (pl. csak a Wikipedia ping
csomagjait), és nem akarod a többi felesleges adatot elmenteni, válaszd a File
-> Export Specified Packets... opciót. Itt győződj meg róla, hogy az All
packets helyett a Captured / Displayed opció van kijelölve, így csak a szűrt,
tiszta eredményt menti el a program.
________________________________________
A Wireshark egy elképesztően sokoldalú svájci bicska,
amelyet az alapvető hibakeresésen kívül a kiberbiztonsági szakértők, etikus
hackerek, szoftverfejlesztők és rendszergazdák a legkülönfélébb haladó
feladatokra használnak. [1, 2]
Íme a legfontosabb területek, amikre a Wiresharkot még
használják:
1. Kiberbiztonság és kibertámadások felderítése
• Malware
(kártevők) elemzése: Ha egy gép megfertőződik, a Wireshark megmutatja, hova
küld adatokat. A gyanús, titkosított vagy ismeretlen külföldi IP-címekre induló
folyamatos adatforgalom leleplezi a háttérben futó vírusokat. [1, 2, 3]
• Hálózati
támadások azonosítása: Azonnal észrevehető vele, ha valaki szkenneli a
hálózatot (pl. Nmap segítségével), vagy ha túlterheléses támadás (DDoS / SYN
flood) ér egy szervert. Utóbbi esetben kismillió azonos típusú TCP csomag
árasztja el a listát ezredmásodpercek alatt. [1, 2]
• Közbeékelődéses
támadások (MitM): Kiszűrhető vele az ARP spoofing, amikor egy hacker
megpróbálja magát a routernek kiadni, hogy minden adat rajta haladjon
keresztül. [1, 2]
2. VoIP (Internetes telefonálás) lehallgatása és
visszajátszása
A Wireshark rendelkezik beépített VoIP elemzővel a SIP
és RTP protokollokhoz: [1, 2, 3]
• Ha a
hálózaton nem titkosított internetes hívás zajlik, a Wireshark képes összerakni
a hangcsomagokat.
• A
Telephony -> VoIP Calls menüpont alatt konkrétan vissza lehet játszani és
meg lehet hallgatni a beszélgetést, mintha egy diktafon felvétele lenne. [1]
3. Szoftverfejlesztés és API tesztelés
• Amikor a
programozók egy applikációt vagy weboldalt fejlesztenek, a Wiresharkkal
ellenőrzik, hogy az app pontosan azt küldi-e a szervernek, amit kell (pl.
megfelelő formátumú-e a JSON vagy XML adatbázis-kérés).
• Segít
kideríteni, ha egy mobilalkalmazás feleslegesen pazarolja a sávszélességet a
háttérben. [1]
4. Fájlok kinyerése a hálózati forgalomból (Data
Carving)
• Ha
valaki a hálózaton letölt egy képet, dokumentumot vagy egy programot (nem
titkosított csatornán), a Wireshark rögzíti a fájl darabkáit.
• A File
-> Export Objects -> HTTP (vagy SMB/FTP) menüponttal ezek a fájlok újra
összeállíthatók és lementhetők a merevlemezre, mintha mi magunk töltöttük volna
le őket a böngészőből. [1]
5. Titkosított forgalom (HTTPS/TLS) megfejtése
• Bár a
HTTPS titkosított, ha a saját gépeden beállítasz egy környezeti változót
(SSLKEYLOGFILE), a böngésződ egy külön fájlba menti a titkosítási kulcsokat.
[1, 2]
• Ezt a
kulcsfájlt beolvassa a Wireshark (Preferences -> Protocols -> TLS), és
képes élőben feltörni és olvashatóvá tenni a saját titkosított HTTPS
forgalmadat a képernyőn, ami hatalmas segítség a mélyreható hibakeresésnél.
Nincsenek megjegyzések:
Megjegyzés küldése