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!

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

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.

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 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.

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é.