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