A Tcpdump bemutatása

A Tcpdump bemutatása

Ha kiszolgálót futtat, kétségtelenül eljut arra a pontra, ahol meg kell szögezni néhány hálózattal kapcsolatos problémát. Természetesen könnyű lenne levelet küldeni a támogatási osztálynak, de néha be kell piszkolni a kezét. Ebben az esetben tcpdumpaz eszköz az adott feladathoz. A Tcpdump egy hálózati csomagelemző, amely a parancssor alatt fut.

Ez a cikk három részre oszlik:

  • Alapvető funkciók.
  • Szűrés bizonyos forgalmi jellemzők alapján.
  • Egy rövid részlet a fejlettebb szolgáltatásokból (például logikai kifejezések, szűrés TCP-jelzők alapján).

Mivel a tcpdump nem szerepel a legtöbb alaprendszerben, telepítenie kell. Azonban szinte minden Linux-disztribúciónak van tcpdump az alapvető tárolójában. Debian alapú disztribúciók esetén a tcpdump telepítésének parancsa a következő:

apt-get install tcpdump

CentOS/RedHat esetén használja a következő parancsot:

yum install tcpdump

A FreeBSD egy előre elkészített csomagot kínál, amely a következő kiadással telepíthető:

pkg install tcpdump

Rendelkezésre áll egy port is, net/tcpdumpamely a következőn keresztül telepíthető:

cd /usr/ports/net/tcpdump
make install clean

Ha tcpdumpminden érvek nélkül futsz , akkor megtépáznak az eredmények. Ha öt másodpercnél rövidebb ideig fut egy frissen felpörgetett példányon a Vultr-on, a következő eredményeket kapja:

2661 packets captured
2663 packets received by filter
0 packets dropped by kernel

Mielőtt további részletekbe menne a bemenet szűrésével kapcsolatban, nézzen meg néhány paramétert, amelyek átadhatók a tcpdumpnak:

  • -i- Meghatározza a hallgatni kívánt felületet, például: tcpdump -i eth0.
  • -n- Ne próbáljon fordított keresést végezni az IP-címeken, például: tcpdump -n(ha hozzáad egy másikat, a ntcpdump portszámokat fog mutatni nevek helyett).
  • -X- Mutassa meg az összegyűjtött csomagok tartalmát: tcpdump -X.
  • -c- Csak a xcsomagok rögzítése , xmivel tetszőleges szám, például tcpdump -c 10pontosan 10 csomagot rögzít.
  • -v- Növelje a megjelenített csomaginformációk mennyiségét, több vs adjon több szóhasználatot.

Az itt említett paraméterek mindegyike kombinálható. Ha 100 csomagot szeretne rögzíteni, de csak a tun0 VPN-interfészen, akkor a tcpdump parancs így néz ki:

tcpdump -i tun0 -c 100 -X

Ezen a néhányon kívül több tucat (ha nem több száz) lehetőség létezik, de ezek a leggyakoribbak. Nyugodtan olvassa el a tcpdump kézikönyvét a rendszerén.

Most, hogy már rendelkezik a tcpdump alapvető ismereteivel, ideje megvizsgálni a tcpdump egyik legfantasztikusabb funkcióját: a kifejezéseket. A kifejezések sokkal könnyebbé teszik az életét. BPF vagy Berkeley csomagszűrőként is ismertek. A kifejezések használata lehetővé teszi a csomagok szelektív megjelenítését (vagy figyelmen kívül hagyását) bizonyos jellemzők – például eredet, cél, méret vagy akár TCP sorozatszám – alapján.

Eddig sikerült korlátoznia a keresést egy bizonyos mennyiségű csomagra egy bizonyos felületen, de legyünk őszinték: ez még mindig túl sok háttérzajt hagy az összegyűjtött adatok hatékony kezeléséhez. Itt jönnek képbe a kifejezések. A koncepció meglehetősen egyszerű, ezért itt hagyjuk ki a száraz elméletet, és néhány gyakorlati példával támogassuk a megértést.

A leggyakrabban használt kifejezések a következők:

  • host - Keresse a forgalmat gazdagépnevek vagy IP-címek alapján.
  • srcvagy dst- Keresse meg a forgalmat egy adott gazdagépről vagy egy adott gazdagépről.
  • proto- Keressen egy bizonyos protokoll forgalmát. Működik a tcp, udp, icmp és mások számára. A protokulcsszó elhagyása is lehetséges.
  • net - Keresse meg az IP-címek bizonyos tartományára irányuló/irányuló forgalmat.
  • port - Keresse meg a forgalmat egy adott kikötőbe/kikötőből.
  • greatervagy less- Keressen egy bizonyos bájtnál nagyobb vagy kisebb forgalmat.

Míg a manoldal tcpdumpcsak néhány példát tartalmaz, a manoldal pcap-filternagyon részletes magyarázatokat tartalmaz az egyes szűrők működéséről és alkalmazásáról.

Ha látni szeretné, hogyan zajlik a kommunikáció egy bizonyos szerverrel, akkor használhatja hostpéldául a kulcsszót (beleértve néhány fenti paramétert):

tcpdump -i eth0 host vultr.com

Néha vannak olyan számítógépek a hálózaton, amelyek nem tartják tiszteletben az MTU-t, vagy nagy csomagokkal küldenek spamet; kiszűrésük néha nehéz lehet. A kifejezések lehetővé teszik bizonyos számú bájtnál nagyobb vagy kisebb csomagok kiszűrését:

tcpdump -i eth0 -nn greater 128
or
tcpdump -i eth0 -nn less 32

Talán csak egy bizonyos kikötő érdekli Önt. Ebben az esetben használja a következő portkifejezést:

tcpdump -i eth0 -X port 21

A porttartományokra is figyelhet:

tcdump -i eth0 -X portrange 22-25

Mivel a NAT-átjárók meglehetősen gyakoriak, csak célportokat kereshet:

tcpdump dst port 80

Ha a webszerverre irányuló forgalmat figyeli, csak a 80-as port TCP-forgalmát érdemes megnéznie:

tcpdump tcp and dst port 80

Valószínűleg felteszi magának a kérdést, hogy mit andcsinál ott a kulcsszó . Jó kérdés. Ezzel el is érkeztünk a cikk utolsó részéhez.

tcpdump alapvető támogatást nyújt a logikai kifejezésekhez, pontosabban:

  • and/ &&- Logikai "és".
  • or/ ||- Logikai "vagy".
  • not/ !- Logikus "nem".

A kifejezések csoportosításának lehetőségével együtt ez nagyon hatékony keresést tesz lehetővé a bejövő és kimenő forgalom számára. Tehát szűrjük ki a vultr.com webhelyről érkező forgalmat a 22-es vagy 443-as porton:

tcpdump -i eth0 src host vultr.com and (dst port 22 or 443)

Ha ezt a parancssorban futtatja, a következő hibaüzenet jelenik meg:

bash: syntax error near unexpected token `('

Ez azért van, mert van egy figyelmeztetés: bashmegpróbál minden karaktert értékelni, amit csak tud. Ez magában foglalja a (és )karaktereket. A hiba elkerülése érdekében egyetlen idézőjeleket kell használnia a kombinált kifejezés körül:

tcpdump -i eth0 'src host vultr.com and (dst port 22 or 443)'

Egy másik hasznos példa: Amikor SSH-problémákat keres az egyik felhasználónál, érdemes figyelmen kívül hagynia mindent, ami az SSH-munkamenettel kapcsolatos:

tcpdump '!(host $youripaddress) && port 22)'

A felhasználási esetek ismételten végtelenek, és extrém mélységig megadhatja, hogy milyen forgalmat szeretne látni. A következő parancs csak a TCP kézfogás SYNACK csomagjait jeleníti meg:

tcpdump -i eth0 'tcp[13]=18'

Ez úgy működik, hogy a TCP fejléc tizenharmadik eltolását és a benne lévő tizennyolcadik bájtot nézzük.

Ha egészen idáig eljutott, készen áll a legtöbb felmerülő felhasználási esetre. Alig tudom megérinteni a felületet anélkül, hogy túl sok részletbe belemennék. Erősen ajánlom, hogy kísérletezzen kicsit tovább a különböző opciókkal és kifejezésekkel; és szokás szerint: hivatkozzon a manoldalra, ha eltéved.

Végül, de nem utolsósorban – egy gyors visszatekintés. Emlékszel a cikk elejére? A pillanatok alatt rögzített több ezer csomaggal? Az ereje tcpdumpnagyon lecsökkentheti ezt:

tcpdump -i eth0 tcp port 22

Az eredmény most:

81 packets captured
114 packets received by filter
0 packets dropped by kerne

Ez sokkal értelmesebb és könnyebben hibakereshető. Boldog hálózatépítést!


Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Cacti beállítása a Debian Jessie-n

A Cacti beállítása a Debian Jessie-n

Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver

Az iRedMail beállítása a Debian Wheezy rendszeren

Az iRedMail beállítása a Debian Wheezy rendszeren

Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát

Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

Három ingyenes szervervezérlő panel (gyors telepítés)

Három ingyenes szervervezérlő panel (gyors telepítés)

1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.

Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A képernyő használata Ubuntu 14.04-en

A képernyő használata Ubuntu 14.04-en

A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál

A Logrotate használata naplófájlok kezelésére

A Logrotate használata naplófájlok kezelésére

Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed ​​modullal, amely lehetővé teszi a

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket