Mi a tcpdump?

Mi a tcpdump?

Ha rendelkezik Unix vagy Unix-szerű (Linux, Mac OS) operációs rendszerrel, a tcpdump használatával megvizsgálhatja a hálózati forgalmat. A tcpdump program egy olyan parancssori segédprogram, amely ingyen telepíthető. Általában nem integrálják az operációs rendszerekbe, ezért telepítenie kell a tcpdump GitHub beállításjegyzékből vagy a hivatalos tcpdump webhelyről..

A tcpdump elemei

A tcpdump által használt csomagrögzítő segédprogramot a libpcab biztosítja, amely egy C / C ++ eljáráskönyvtár. A fő tcpdump program a csomagmegfogási folyamat felülete. Futás után elindul a libcap folyamat a csomagok rögzítéséhez, majd tartalmuk megjelenítéséhez a képernyőn. Ha a program indulásakor nem határozza meg a rögzítendő csomagok számának korlátozását, akkor az örökké fut. A feldolgozást ezután megszakító jelzéssel fejezzük be (Control-C).

A program a parancssorban fut, és számos lehetőséget tartalmaz, amelyeket zászlók jelölnek. Ezek a zászlók megváltoztatják a program viselkedését, amikor arra kényszerítik, hogy válasszon egy adott mintának megfelelő csomagokat, korlátozza annak futási idejét, vagy arra késztesse, hogy a tárolt csomagokat a fájlból, a hálózati interfész helyett olvassa el..

Tcpdump formátum

A tcpdump parancs kiadható önmagában vagy opciókkal, paraméterekkel és / vagy reguláris kifejezésekkel. Ezen elemek egyike sem kötelező, és a sorrend nem fontos.

tcpdump <-option_identifier>

Tcpdump lehetőségek

A tcpdump parancsot opciók követik, amelyeket más néven is ismert zászlók. Mindegyiket kötőjel jelöli, majd egy betű követ. Az alábbiakban felsoroljuk ezeket a zászlókat.

-A        nyomtasson csomagokat ASCII-ban link-szintű fejlécek nélkül

-b         mutassa az AS szám ASDOT formátumú

-B        buffer_size egységben KiB (1024 bájt)

-c         számol – az elfogható csomagok száma

-C        fájl méret – a folyamat új fájlt hoz létre, miután a fájlméret-korlátot kitöltötték; A méret x 1 millió bájt

-d        A lefordított csomagmegfelelős kódot az ASCII fájlba dobja

-dd      Dump csomag-egyezési kódot, mint a C a program töredéke

-ddd    Dump csomagmegfelelő kód decimális számként, amelyet egy szám előz meg

-D        Sorolja fel az összes elérhető felületet

-e         Minden linkre nyomtassa ki a hivatkozás szintű fejlécet

-E         spi @ ipaddr algo: titkos – IPsec ESP csomagok dekódolásához:

             spi a biztonsági paraméter-index

              ipaddr a csomag címének címe

              algo az algoritmus, alapértelmezés szerint des-CBC és a mező nem kötelező.

              Lehetséges értékek:

  • des-CBC
  • 3des-CBC
  • gömbhal-CBC
  • RC3-CBC
  • CAST128-CBC

titok az ASPII szöveg az ESP titkos kulcsához. Ha 0x előzi meg, akkor ez egy hexa érték

-f          Az „idegen” IPv4 címeket inkább numerikus, mint szimbolikus módon nyomtassa ki

-F         fájl – használja fájl a szűrő kifejezés bemeneteként

-G        rotate_seconds – A -w opció mentési fájljának forgatásának periódusa időbélyeggel bővíti a nevet

-h         Nyomtassa ki a tcpdump és a libpcap verzió karakterláncokat, nyomtasson ki egy használati üzenetet, és lépjen ki

-H        Érzékelje a 802.11-es háló hálófejléceit

-én          felület – az a felület, amelyen hallgatható, alapértelmezés szerint a legalacsonyabb név betűrendben van

-én          monitor-mód | azonnali módú – eltávolítja a pufferelést

-j          tstamp_type – állítsa be a rögzítés időbélyeg típusát tstamp_type

-J         tstamp_precision – állítsa be az időbélyeg pontosságát (micro vagy nano) alapértelmezés: mikro. Ha tstamp_precision null, listázza az időbélyegző-típusokat és lépjen ki

-K        Ne ellenőrizze az ellenőrző összegeket

-l          A Stdout vonal pufferelt. Például. tcpdump -l | tee dat vagy                                                                                                   tcpdump -l > dat & farok-dat

-L         Sorolja fel az interfész ismert adatkapcsolat-típusait a megadott módban, és lépjen ki

-m       modul – az SMI MIB moduldefiníciók betöltése a fájlból modul.

-M       titok – megosztott titkos érték az érvényesítéshez a TCP-MD5 opcióval

-n        Ne konvertáljon címeket (azaz gazdacímeket, portszámokat stb.) Nevekre

-N        Ne nyomtassa ki a gazdanevek domain névminősítését

-#         Nyomtasson egy opcionális csomagszámot a sor elejére

-O        Ne futtassa a csomagmegfelelő kód-optimalizálót

-p         Ne tegye az interfészt ígéretes módba

-Q        irány – irány / küldés / fogadás. Lehet ban ben, ki, vagy be ki

-q         Kevesebb protokoll információt nyomtasson

-r          fájl – olvassa el a csomagokat fájl. Bővített normál bemenethez

-S         Nyomtasson ki abszolút TCP sorszámot

-s         snaplen – vicsorog snaplen minden egyes csomag bájtjainál, nem az alapértelmezett 262144 bájtnál

-T         típus – értelmezze a csomagokat a megadottak szerint típus. Opciók:

  • AODV                   Ad-hoc igény szerinti távolságvektor-protokoll
  • ponty                    Közös cím redundancia protokoll
  • cnfp                    Cisco NetFlow protokoll
  • LMP                     Linkkezelési protokoll
  • PGM                    Pragmatikus általános multicast
  • pgm_zmtp1       ZMTP / 1.0 a PGM / EPGM-en belül)
  • ill                   REdis sorosítási protokoll
  • sugár                SUGÁR
  • RPC                     Távoli eljáráshívás
  • rtp                      Valós idejű alkalmazások protokoll
  • rtcp                    Valós idejű alkalmazások vezérlő protokollja
  • SNMP                 Egyszerű hálózatkezelési protokoll
  • tftp                     Triviális fájlátviteli protokoll
  • áfa                      Visual Audio eszköz
  • wb                      elosztott Fehér tábla
  • zmtp1                 ZeroMQ Message Transport Protocol 1.0
  • vxlan                  Virtuálisan bővíthető helyi hálózat

-t          Ne nyomtasson időbélyegzőt minden egyes sorra

-tt        Az időbélyegzőt 1970. január 1-je óta eltolásként nyomtassa minden egyes sorra

-ttt       Nyomtasson egy delta-értéket (mikrosekundumos felbontás) az aktuális és az előző sor között

-tttt      Időbélyeg nyomtatása: dátum, óra, perc, másodperc minden dump sort

-ttttt     Nyomtasson egy delta-értéket (mikrosekundumos felbontás) az aktuális és az első sor között

-u         Nem dekódolt NFS fogantyúk nyomtatása

-U        Csomagolt puffer

-v         Kissé több szóbeszéd

-vv       Több szóbeszéd

-VVV     A legtöbb szóbeszéd

-V        fájl – olvassa el a fájlnevek listáját fájl. A standard bemenetet akkor kell használni, ha fájl jelentése

-w        fájl – a kimenet írása a fájl

-W       határ – a. Által létrehozandó fájlok maximális száma -C és -G opciók

-x         Nyomtassa ki az egyes csomagok adatait, mínusz a linkszintű fejléc hexadecimálisan

-xx       Nyomtassa ki az egyes csomagok adatait, beleértve annak linkszintű fejléce, hexadecimálisan

-x         Nyomtassa ki az egyes csomagok adatait, levonva a kapcsolati szint fejlécét hexa és ASCII formátumban

-XX       Nyomtassa ki az egyes csomagok adatait, beleértve a link szintű fejléc hexadecimális és ASCII formátumban.

-y         datalinktype – Állítsa be a használni kívánt adatkapcsolat típusát, miközben a csomagokat rögzíti                          datalinktype

-Z         postrotate-irányító – mentse a fájlokat általában tömörítéssel, pl -z gzip

-Z         használó – változtassa meg a felhasználói azonosítót használó és a csoport azonosítója a használó

Tcpdump paraméterek

A tcpdump paraméterei szintén ismertek primitívek. Ezek meghatározzák, hogy a csomaggyűjtés csak meghatározott erőforrásokból származzon-e adatokat. Ezek a paraméterek feltételekként is kifejezhetők a logikai operátorok segítségével és, vagy, és nem.  Nem kell egyenlőségjelet (=) helyeznie a paraméter neve és annak értéke közé, és nem kell szóközt megadni a szóközökkel. Mindegyik esetben csak egy helyre van szüksége.

Ezek közül a paraméterek közül a leggyakrabban használt gazdagép, amely lehetővé teszi a rögzítés korlátozását csak egy forrásból származó átvitelre. Mindegyik esetben az eszköz neve paraméterértékként helyettesíthető a címével. Ahol egy paraméter a dst verzió esetén ez a variáció csak a csomagokat korlátozza, amelyek rendelkeznek az attribútummal a rendeltetési hely számára. Paraméterek, amelyek tartalmazzák: src keressen olyan csomagokat, amelyeknek megadott értékük van az eredetükhöz kapcsolódó adatokban.

Itt vannak a paraméter-beállítások:

házigazda host_name – is dst host vagy src host.

Előre is felcsatolható ip, arp, vagy rarp

éter            ehost – érték az / etc / éterekből vagy egy számból. Is éter src és éter cél.

átjáró       házigazda – az átjárón áthaladó csomagok beszerzése házigazda

háló                network_num – a forrás vagy a cél IP tartalmazza network_num                                               Is dst net és src net

kikötő               szám | neve – is dst port és src port.                                                                                   Lehet vele tcp vagy udp hogy korlátozza a protokollt

ip proto          jegyzőkönyv – az elnevezett protokoll IP-csomagjainak rögzítése. A névnek az / etc / protokollokban kell lennie

éter proto    jegyzőkönyv – éter protokoll típusú rögzítő csomag. Opciók jegyzőkönyv szám vagy:

  • ip
  • ip6
  • arp
  • rarp
  • egy beszélgetés
  • atalkarp
  • DECnet
  • decdts
  • decdns
  • lanbridge
  • lat
  • mopdl
  • moprc
  • kölyökkutya
  • SCA
  • kobold
  • stp
  • vexp
  • vprod
  • xns

Adás     Rögzíti az Ethernet műsorszóró csomagokat. Szintén írta éter adás

ip adás Rögzíti az IP sugárzott csomagokat

multicast       Rögzíti az Ethernet csoportos küldési csomagokat. Éter-multicast-ként is írva

ip multicast   Rögzíti az IP csoportos küldési csomagokat

dekódoló host   host_name – ha a DECNET forrás vagy a cél host_name

decnet src     host_name – rögzítse, ha van a DECNET forrás host_name

decnet dst     host_name – rögzítse, ha a DECNET rendeltetési hely host_name

wlan házigazda      ehost – ha az első, második, harmadik vagy negyedik IEEE 802.11 cím                                             ehost

wlan addr1    ehost – rögzítse, ha az első IEEE 802.11 cím van ehost

wlan addr2    ehost – rögzítse, ha a második IEEE 802.11 cím van ehost

wlan addr3    ehost – rögzítse, ha a harmadik IEEE 802.11 cím van ehost

wlan addr4    ehost – ha a negyedik IEEE 802.11 cím ehost. Csak WDS esetén használható

típus                típus – rögzítse, ha az IEEE 802.11 keret típusa van típus, amely szám vagy:

  • adat
  • MGT
  • CTL

altípus           altípus – rögzítse, ha az IEEE 802.11 keret van altípus, amely szám vagy:

  • assocreq
  • assocresp
  • reassocreq
  • reassocresp
  • probereq
  • proberesp
  • jeladó
  • ATIM
  • disassoc
  • auth
  • deauth
  • adat

dir                    dir – rögzítse, ha az IEEE 802.11 keret iránya van dir, amely szám vagy:

  • bólint
  • TODS
  • fromds
  • dstods

Tcpdump kifejezés

A tcpdump parancs kifejezési szegmense lehetőséget ad arra, hogy hozzáadjon egy kis programozást a csomagválasztáshoz. A szokásos programtól eltérően azonban ezt az utasításokat egy sorban kell írni. Ha Ön gyakran használja az Unix vagy Linux rendszert, akkor hozzászokik a shell parancsfájl szokásos kifejezéseihez, és ne legyen probléma a szűrők formátumának megértésével..  

Azokat a csomagokat, amelyek megfelelnek a kifejezés által meghatározott tesztnek, rögzítjük. Tehát minden kifejezés eredményének “igaznak” kell lennie.

Van néhány kifejezési feltétel, amelyekkel általában nem találkozik a shell parancsfájlokkal, és ezeket alább soroljuk fel:

len

Ez egy csomag hosszát adja vissza. Példa felhasználásra: len! = 5.

proto [expr: méret]

Ebben az objektumban:

proto a protokoll réteg neve. Lehet:

  • éter
  • FDDI
  • ip
  • arp
  • rarp
  • tcp
  • udp
  • iCMP

expr a byte eltolás. Ezt bele kell foglalni, de megadható nullával, hogy az értéket az objektum elejétől megkapjuk.

méret opcionális, és jelöli az opció bájtjainak számát. Az alapértelmezett érték 1, de lehet 2, 3 vagy 4.

Használati példák:

étert [0] & 1! = 0 igaz az összes multicast forgalomra.

ip [0] & 0xf! = 5 igaz az összes opciós IP-csomagra.

ip [6: 2] & 0x1fff = 0 igaz a nem töredezett datagramokra és a fragmentált datagramokra.

Tcpdump példák

Ezen esetek mindegyikében a parancs eredményei megjelennek a képernyőn, kivéve ha egy fájlhoz kapcsolódó opció van benne, vagy ha a parancs egy állványkimeneti átirányítással vagy egy fájlba történő elindításával indul el.

A lab1-ként azonosított számítógépre vagy a számítógépre utazó csomagok megjelenítése:

tcpdump host lab1

A lab1 és a fogadás kivételével bármely csomópont között utazó összes IP csomag megjelenítése:

tcpdump ip host lab1 és nem vétel

Az összes ftp forgalom megjelenítése az internetes átjárón keresztül styx:

tcpdump „gateway styx and (port ftp vagy ftp-data)”

Jelenítse meg a SYN és FIN csomagokat minden egyes TCP beszélgetésben, amely nem helyi gazdagépet tartalmaz:

tcpdump ‘tcp [tcpflags] & (tcp-syn | tcp-fin)! = 0, és nem src és dst net localnet ”

Jelenítse meg azokat az IP műsorszóró vagy multicast csomagokat, amelyeket nem Ethernet sugárzás vagy multicast közvetítés útján küldtek el:

tcpdump ‘éter [0] & 1 = 0 és ip [16] >= 224 ”

Tcpdump kimeneti formátum

A csomagok fájlokba történő írására használt rekord formátum standardvá vált, amelyet sok újabb csomagmegfigyelő és forgalom elemző fogadott el..

A szabvány nem egyértelmű, és minden protokollhoz adaptálva van. Azon alkalmazások, amelyek elfogadták a formátumot, szintén figyelembe veszik ezeket a variációkat. A formátumot hívják pcap, ez a tcpdump által használt csomagrögzítési folyamat neve. Az ilyen formátumú fájlok általában a következők: .pcap kiterjesztés.

Tcpdump Windows

Van egy tcpdump adaptáció, amely Windows rendszeren fut. Ezt úgy hívják WinDump és támaszkodik rá WinPcap ugyanúgy, mint a tcpdump a libpcap pcap függvényében. A WinPcap tulajdonosa a Riverbed Technology. Ugyanez a társaság a Wireshark elsődleges finanszírozója, amely valószínűleg a leghíresebb és legszélesebb körben használt csomagmegfigyelő a világon. Van egy vezeték nélküli WinPcap verzió, amelyet úgy hívnak AirPcap. A WinPump, a WinPcap és az AirPcap ingyenesen letölthető a WinPcap webhelyről.

Csomagszippantók használata

A tcpdump parancssori segédprogram hasznos azok számára, akik ismerik a Unix és Linux operációs rendszerek és élvezze a shell parancsfájlok írását. Azok számára, akik nem tapasztaltak meg olyan parancsok összeállítását a reguláris kifejezésekkel a parancssorban, nehezen fogják használni ezt a programot.

Más lehetőségei vannak, mert számos csomagszedő elérhető, például a fent említett Wireshark. A tcpdump alternatíváiról a csomag-szippantókról szóló áttekintésben többet megtudhat.

Van kedvenc csomagszippantója? Te a tcpdump rajongója vagy, vagy inkább felhasználóbarát alternatívákat szeretsz? Hagy egy üzenetet a Hozzászólások alább, és ossza meg tapasztalatait.

Kép: tcpdump csomag elfog a Linux képernyőképeiről a Flickr-en keresztül. A CC BY 2.0 alapján engedélyezett

About the author

Comments

  1. A tcpdump egy nagyon hasznos parancssori segédprogram, amelyet Unix vagy Unix-szerű (Linux, Mac OS) operációs rendszerrel rendelkező felhasználók használhatnak a hálózati forgalom megfigyelésére. A tcpdump ingyenesen telepíthető, és általában nem integrálják az operációs rendszerekbe, ezért telepítenie kell a tcpdump GitHub beállításjegyzékből vagy a hivatalos tcpdump webhelyről. A tcpdump elemi a libpcab biztosítja, amely egy C / C eljáráskönyvtár. A tcpdump parancs kiadható önmagában vagy opciókkal, paraméterekkel és / vagy reguláris kifejezésekkel. A tcpdump lehetőségei közé tartozik az elfogható csomagok számának korlátozása, a futási idő korlátozása, a tárolt csomagok fájlból történő olvasása és sok más. A tcpdump nagyon hasznos eszköz a hálózati forgalom megfigyelésére, és mindenkinek ajánlom, aki Unix vagy Unix-szerű operációs rendszerrel rendelkezik.

Comments are closed.