|
||
|
||||||||||||||||
Hálózati forgalom monitorozása
A hálózati protokollok működésének megismeréséhez a jegyzet idevonatkozó fejezetének átolvasása szükséges.
A Wireshark (régi nevén Ethereal) protokoll analizátor program, amelyet a hálózat adminisztrátorok a hálózati hibák behatárolására, a forgalom analizálására használnak. A labor során ennek a programnak a segítségével megvizsgáljuk néhány hálózati protokoll pontos működését. Lehetőség nyílik arra, hogy az elméleti órákon tanultakat a gyakorlatban ellenőrizhessük.
A labor során a Wireshark program funkcióinak csak egy részét használjuk ki, így az ismertetés is csak ezen funkciókra szorítkozik.
A program elindítás után az alkalmazás fő ablakát láthatjuk magunk előtt. Ezen ablak menüsorából elsősorban a Capture és az Analyze lenyíló menük elemeit használjuk a labor során. A Capture menü tartalmazza a hálózati csomagok monitorozásának beállításait és a monitorozás elindítását. Az Analyze menü a monitorozás során vett csomagok értelmezésének beállításait tartalmazza.
Amennyiben a számítógépünkön nem futattunk semmilyen hálózaton forgalmazó programot, 848j97i akkor is gépünk folyamatosan kap hálózati csomagokat. Ezek broadcast csomagok, többnyire ARP címlekérések, illetve ha MS Windowst használó gépek is vannak a hálózaton, akkor SMB csomagok. A monitorozás kipróbálására ezeket a csomagokat fogjuk megvizsgálni.
A monitorozás elindításához válasszuk ki a Capture menü Options elemét. Ekkor a következő ablakot láthatjuk:
A dialógusablak Interface mezőjében megadhatjuk a vizsgálandó hálózati interfészt. Az eth0 interfész a Linux rendszerek első ethernet interfészét jelenti. A vizsgálataink folyamán ennek az interfésznek a forgalmát figyeljük.
A Capture Filter mezőben szűrési feltételeket állíthatunk be, amellyel a hálózati interfészen átvitt számos csomag közül kiválaszthatjuk azt a halmazt, amely számunkra érdekes. Helyes megválasztásával nagyban megkönnyíthetjük a munkánkat. Míg helytelen megválasztása sok fejtörést okozhat.
Az esetek többségében csak ezt a két paramétert állítjuk, azonban érdekesek lehetnek a Stop Capture beállítások, amellyel a monitorozás végének feltételét adhatjuk meg, vagy a Display Options csoporton belüli Update list of packets in real time opció, amely jelentős terhelést jelenthet, azonban lehetővé teszi a beérkező csomagok folyamatos követését. Ezen kívül a Name Resolution csoportban található opciókkal megadhatjuk, hogy mely címeket fejtse vissza a program.
A paraméterek beállítása után a Start gombbal indíthatjuk a monitorozást. A megjelenő dialógus ablakon szám szerint követhetjük az elkapott csomagok számát. Amennyiben szeretnénk a monitorozást leállítani a Stop gombbal tehetjük meg.
A monitorozás leállítása után a program főablaka a következő képen néz ki:
A felület 3 részre tagolódik. A felső részben egy listát találhatunk, amely az elkapott csomagokat tartalmazza. Ha ebből a listából kiválasztunk egy csomagot. akkor az alsó részben láthatjuk a bináris tartalmát, míg a középső rész értelmezett formában mutatja. A vizsgálódásaink során elsősorban a középső részt használjuk.
A középső mező a kiválasztott csomag által tartalmazott keretek listáját mutatja. Ahogy a csomag az egyes hálózati rétegeken keresztül haladva felépül, minden réteg egy új keretet alkot belőle. Minden keret rendelkezik néhány fejléc mezővel és egy adat résszel. A lista elemeit lenyitva a fejléc mezők tartalmát tekinthetjük meg. Példaként a képen egy ARP kérés csomag felépítését láthatjuk. A csomagban található egy Ethernet keret, amely tartalmazza a forrás MAC címét, míg a cél MAC cím helyén egy broadcast cím található. Az Ethernet keret tartalmaz egy ARP keretet, amelynek mezői megadják a forrás MAC címet, IP címet, illetve a cél IP címét. A cél MAC címe a kérdés így annak értéke implementációfüggő, esetünkben (Linux esetén) a broadcast cím.
Az előzőekben ismertetett módon bármikor megismételhetjük a monitorozást. Ilyenkor a program a monitorozás elindításakor felteszi a kérdést, hogy a korábban vett csomagokat lementse-e, vagy törölje. Döntsünk belátásunk szerint!
A TCP protokoll egy stream jellegű kommunikációt tesz lehetővé. Ez a kommunikáció a két program között, mint egy csővezeték funkcionál, amelyen mindkét irányba közlekedhetnek protokoll üzenetek vagy adatok. Ugyanakkor a hálózati modell alsóbb rétegeiben ez a kommunikáció is csomagokra tördelve jelenik meg, az üzenetek csomagok láncolatában továbbítódnak. Ha az előzőekben ismertetett módon egy TCP kommunikáció csomagjait monitorozzuk le, akkor azt az ablak felső részében, mint csomagok listája láthatjuk. Ezeket a csomagokat egyenként megvizsgálhatjuk, azonban ha az alkalmazási réteg protokoll üzeneteire vagyunk kíváncsiak, akkor célszerű a csomagokat összefűzni.
A TCP kommunikáció összefűzésére az Analyze menü Follow TCP Stream menüpontját használhatjuk. Ehhez ki kell választanunk a TCP kapcsolat egy csomagját, majd aktiválnunk a menüpontot. Ezt a menüpontot úgy is elérhetjük, ha az adott csomagot kiválasztva az egér jobb gombjával kattintunk.
A megjelenő ablakban olvashatjuk a két oldal üzeneteit. Az egyes irányokat színek különböztetik meg.
Megfigyelhetjük, hogy a menüpont kiválasztása módosítja a Filter opció értékét. Ha újra az összes vett csomagot szeretnénk látni, akkor a Clear gombbal törölhetjük a szűrést.
A mérési feladatok megvalósításához szükség van a Wireshark és egy terminál program használatára.
A mérési feladat megvalósításához a Wireshark programban a következő Capture Filter beállítással indítsuk el a monitorozást: "arp host <saját ip cím>"
A terminálban futtassuk le a ping programot a mérésvezető által megadott IP címmel. Azonban mielőtt ezt megtennénk, ellenőrizzük az arp paranccsal, hogy az adott IP cím nem szerepel-e már az ARP gyorsító tárban. Amennyiben szerepel, akkor meg kell várnunk, amíg kiürül a gyorsító tár, különben a vizsgálódásunk eredménytelen lesz.
A ping parancs kiadása után állítsuk le a monitorozást és elemezzük a kapott csomagokat!
A mérési feladat megvalósításához a Wireshark programban a következő Capture Filter beállítással indítsuk el a monitorozást: "icmp"
A terminálban futtassuk le a ping programot a mérésvezető által megadott IP címmel.
A ping parancs kiadása után állítsuk le a monitorozást és elemezzük a kapott csomagokat!
A mérési feladat megvalósításához a Wireshark programban a következő Capture Filter beállítással indítsuk el a monitorozást: "port 53"
A terminálban futtassuk le az nslookup programot a mérésvezető által megadott gép névvel.
Az nslookup parancs kiadása után állítsuk le a monitorozást és elemezzük a kapott csomagokat!
A mérési feladat megvalósításához a Wireshark programban a következő Capture Filter beállítással indítsuk el a monitorozást: "not broadcast and not multicast and not arp"
A terminálban futtassuk le a traceroute programot a mérésvezető által megadott IP címmel a következő módon: traceroute -n -q 1 <ip cím>
A miután véget ért a parancs állítsuk le a monitorozást és elemezzük a kapott csomagokat!
A mérési feladat megvalósításához a Wireshark programban a következő Capture Filter beállítással indítsuk el a monitorozást: "tcp port 80"
A terminálban építsünk fel, majd bontsunk le egy TCP kapcsolatot a mérésvezető által megadott web szerverrel a következő parancsokkal:
telnet gépnév
<CTRL+]>
quit
A miután véget ért a parancs állítsuk le a monitorozást és elemezzük a kapott csomagokat!
A mérési feladat megvalósításához a Wireshark programban a következő Capture Filter beállítással indítsuk el a monitorozást: "tcp port 80"
Nyissunk meg egy web böngészőt és hozzuk be a mérésvezető által megadott weboldalt!
A miután véget ért a weboldal betöltése állítsuk le a monitorozást és nézzük meg a kapott csomagokat. A TCP kommunikáció egy csomagját kiválasztva fűzzük össze a kommunikáció csomagjait a Follow TCP Stream menüpont használatával.
A megjelenő ablakban vizsgáljuk meg a kliens és a szerver üzeneteti!
Találat: 9199