A Linux számos hálózati segédprogrammal rendelkezik, amelyek közül választhat. A tcpdump az egyik ilyen hatékony hálózati eszköz, amely képes rögzíteni és elemezni a hálózati forgalmat, ha hálózati hibákat kell elhárítania Linuxon.

Ismerkedjünk meg a tcpdump paranccsal, és fedezzük fel, hogyan használhatjuk fel a hálózati forgalom rögzítésére.

A tcpdump telepítése Linux alatt

A tcpdump általában előre telepítve érkezik minden mainstream Linux disztribúció és biztonsági alapú alternatívák. Tehát begépelve azonnal használhatja tcpdump val,-vel sudo előtag.

Ha nem tudja futtatni a tcpdump parancsot, és elakad a "tcpdump: a parancs nem található" hiba, akkor tanuljuk meg, hogyan kell telepíteni a tcpdump-ot a Linux gépére.

A tcpdump telepítéséhez indítsa el a terminált, és futtassa az éppen használt Linux disztribúciónak megfelelő parancsot:

Debian/Ubuntu származékokon futtassa:

sudo apt-kap tcpdump telepítése

Tovább Arch alapú rendszerek, fuss:

sudo pacman -S tcpdump

A tcpdump segédprogram Fedora, CentOS és RHEL rendszeren történő telepítéséhez adja ki a következő parancsot:

instagram viewer
sudo dnf telepítés tcpdump

Vegye figyelembe, hogy ha a rendszer felkéri a telepítésre libcap, begépel Igen vagy Y mivel ez egy alapvető függőség, amely nélkül a tcpdump nem hajlandó elindulni. Ennek telepítenie kell a tcpdump segédprogramot, és meg kell oldania a "parancs nem található" hibát.

Most, hogy a tcpdump telepítve van a rendszerére, nézzük meg az általa kínált lehetőségeket és funkciókat.

Hálózati forgalom rögzítése tcpdump segítségével

A tcpdump számos jelzőt kínál a végrehajtás módosítására, de önálló parancsként is futtatható. A tcpdump jelzők és argumentumok nélküli futtatása azonban figyelmen kívül hagyná a benne rejlő lehetőségeket. Mindig jobb néhány jelző használata a végrehajtás és a kimenet szükség szerinti módosításához.

Írja be ezt a parancsot a hálózati átvitelek tcpdump segítségével történő figyeléséhez:

sudo tcpdump

Most a tcpdump elkezdi automatikusan rögzíteni a hálózati csomagokat egészen addig megszakító jel -vel küldik Ctrl + Z a folyamat manuális megszakításához. A rögzített csomagok teljes számának korlátozásához használja a -c jelölje be, és írja be mellé a kívánt csomagkorlátot:

sudo tcpdump -c 5

Ha most nem tudja értelmezni a kimenetet, akkor meg kell tennie ismerkedjen meg a tcpdump kimeneti formátummal első.

Ellenőrizze az elérhető hálózati csatolókat a tcpdump segítségével

Alapértelmezés szerint a tcpdump az elérhető hálózati interfészek bármelyikéről rögzíti a forgalmat. Ha több aktív hálózati interfész van használatban, érdemes lehet megadni azt a hálózati interfészt, amelyről a tcpdump-nak rögzítenie kell a csomagokat. A tcpdump egy adott felületen történő elindításához először meg kell tanulnia az interfész nevét.

A következőképpen listázhatja ki az összes elérhető hálózati interfészt a tcpdump segítségével:

sudo tcpdump -D

Vagy hozzáadhatja a --list-interfaces jelölje meg a parancsot:

sudo tcpdump --lista- interfészek

A visszaadott kimenet tartalmazza azon aktív hálózati interfészek listáját, amelyekre a tcpdump képes figyelni. A tcpdump beállításához egy adott hálózati interfészről érkező átvitelek rögzítésére írja be ezt a parancsot:

sudo tcpdump -i interface_id

Vagy hozzáadhatja a --felület jelölje meg a parancsot:

sudo tcpdump --felületinterface_id

Most, hogy rögzítettünk néhány csomagot, tanulmányozzuk alaposan őket, és tanuljuk meg, hogyan módosíthatja a kimenetet olvashatóbbá.

A tcpdump szűrők felfedezése

A tcpdump hatalmas mennyiségű forgalmat képes rögzíteni egyetlen futással. Az ilyen információs túlterheltség letérítheti a pályáról egy adott gazdagép vagy hálózati protokoll problémáinak kivizsgálása vagy hibaelhárítása során.

Itt lépnek életbe a tcpdump szűrők. A tcpdump parancsot hozzáfűzheti bizonyos jelzőkhöz, hogy kiszűrje a hálózati forgalmat és rögzítse az adott csomagokat. Ezután tárolhatja ezeket a csomagokat, és később elemezheti őket, hogy megtalálja a hálózattal kapcsolatos problémák gyökerét. Tanuljuk meg a szűrők használatát a tcpdumpban.

Csomagok szűrése a használt hálózati protokoll alapján

Egy adott protokollon keresztül továbbított csomagok szűréséhez írja be a protokoll nevét a tcpdump paranccsal, és csak a meghatározott hálózati protokollon keresztül utazó csomagokat fogja rögzíteni.

Például az ICMP-alapú csomagok rögzítéséhez egyszerűen csatolnia kell icmp a tcpdump parancs végén. A folyamat ugyanaz, ha csak UDP vagy TCP csomagokat szeretne rögzíteni.

sudo tcpdump -c 5 icmp

Ez a parancs csak akkor ad vissza kimenetet, ha adatcsere történik az ICMP protokollon keresztül.

Csomagok szűrése a gazdagép alapján

Beállíthatja, hogy a tcpdump egyetlen gazdagéphez kapcsolódó csomagokat rögzítsen a házigazda paraméter. Ez különösen akkor hasznos, ha a hálózat összes rendszere működik, egy kivételével. Ezzel a szűrővel célzott vizsgálatokat végezhet, és felgyorsítja az általános hibaelhárítási munkafolyamatot, mivel Önt nem vonják el a felesleges adatok.

Egy adott gazdagéphez kapcsolódó csomagok rögzítéséhez adja meg a gazdagép hálózati címét a gombbal házigazda paraméter:

sudotcpdump-c 5 házigazda 192.168.2.1

A hálózati protokollszűrőhöz hasonlóan ez a parancs csak akkor ad vissza kimenetet, ha folyamatban lévő átvitel kapcsolódik a meghatározott gazdagéphez.

Csomagok szűrése az aktív port alapján

A tcpdump olyan paraméterrel rendelkezik, amely lehetővé teszi a hálózati forgalom szűrését, és csak az adott portra vagy adott portról továbbított csomagok rögzítését.

Egy adott portról érkező csomagok rögzítéséhez fűzze hozzá a kikötő jelölje be a tcpdump parancsot, és adja meg a portszámot mellette. Például a bejövő vagy kimenő HTTP-forgalom rögzítéséhez adja meg a 80-as portot:

sudo tcpdump -c 5 80-as port

A tcpdump a 80-as porton figyel, várva a HTTP-átvitelt. Miután észleli a HTTP-csomagokat a hálózatban, rögzíti azokat.

Kombinálja a szűrőket a speciális rendezés érdekében

Az előző szakaszok azt tárgyalták, hogyan szűrheti a forgalmat port, protokoll vagy gazdagép alapján, de mi van, ha egy adott gazdagép egyetlen portjáról akart forgalmat rögzíteni egy adott hálózat használatával jegyzőkönyv? Nos, szerencséje van, mert ez lehetséges, ami a logikai operátorok tcpdump paranccsal való használatának képességének tulajdonítható.

Csomagok rögzítéséhez egy egyedi gazdagépről a 443-as porton használja ezt a parancsot:

sudotcpdump-c 5 házigazda 192.168.2.1éskikötő 443

Ellenőrizze a rögzített csomagok tartalmát

Alapértelmezés szerint a tcpdump egy csomag fejléceit jeleníti meg a kimenetben. Bár ez a legtöbb esetben bőven elegendő, néha érdemes lehet mélyebben megvizsgálni a rögzített adatokat. Bizonyos paramétereket átadhat a tcpdump paranccsal a rögzített csomag tartalmának ellenőrzéséhez.

Így nézheti meg a csomagok tartalmát:

sudo tcpdump -c 5 -x

Ez a parancs a tartalom hexadecimális változatát adja vissza egy rögzített csomagban. Ha meg szeretné tekinteni az adatok ASCII formátumát, átadhatja a -A paraméter a következővel:

sudo tcpdump -A

Mentse el a tcpdump kimenetet egy fájlba

Mint szinte minden más Linux parancssori eszköz, a tcpdump által előállított kimenetet eltárolhatja egy fájlban, amelyre később hivatkozhat.

Ezt úgy teheti meg, hogy hozzáadja a -w zászlót a parancsnak. Végrehajtáskor a tcpdump eltárolja a rögzített adatokat a .pcap fájl, amely később elemezhető a tcpdump vagy más hálózati megfigyelő eszközök, például a Wireshark segítségével.

Írja be ezt a parancsot, hogy a tcpdump parancs kimenetét fájlban tárolja:

sudotcpdump-welfog.pcap

Olvasni a .pcap fájlt, használhatja a tcpdump-ot a -r paraméter:

sudotcpdump-relfog.pcap

A Linuxot rengeteg hálózati eszközzel szállítják, amelyek minden hálózati problémát megoldanak, mindaddig, amíg a dolgok szoftveres oldaláról van szó. A Linux legjobb hálózati eszközeinek használatának ismerete minden bizonnyal jól jön, akár rendszergazda, aki megélhetési célú hálózatokat kezel, vagy csak egy mindennapi Linux-felhasználó.

Mivel a rendelkezésre álló hálózati parancsok listája túlságosan nehéz lehet, az alábbiakban felsoroljuk azokat a legfontosabb Linux hálózati eszközöket, amelyeket tudnia kell.