Što je tcpdump?

Što je tcpdump

Ako imate operativni sustav sličan Unixu (Linux, Mac OS), možete koristiti tcpdump za ispitivanje mrežnog prometa. Program tcpdump je uslužni program naredbenog retka koji se može besplatno instalirati. Nije uobičajeno integriran u operativne sustave, pa ga morate instalirati iz tcpdump GitHub registra ili s službene web stranice tcpdump.

Elementi tcpdump-a

Uslužni program hvatanja paketa koji koristi tcpdump pruža libpcab, što je C / C ++ knjižnica postupaka. Glavni tcpdump program je sučelje za postupak hvatanja paketa. Kada se pokrene, pokrenut će postupak libcap za hvatanje paketa, a zatim će njihov sadržaj prikazati na zaslonu. Ako nije određeno ograničenje broja paketa koje treba zarobiti kada se program pokrene, nastavit će se prikazivati ​​zauvijek. Obrada se zatim prekida prekidnim signalom (Control-C).

Program se pokreće u naredbenom retku i uključuje niz opcija koje su označene zastavicama. Te zastavice mijenjaju ponašanje programa kako bi ga natjerale da odabere pakete koji odgovaraju određenom uzorku, ograniči mu vrijeme rada ili ga natjera da čita pohranjene pakete iz datoteke, a ne s mrežnog sučelja..

Tcpdump format

Naredba tcpdump može se izdati sama ili s opcijama, parametrima i / ili regularnim izrazima. Nijedan od ovih elemenata nije obvezan i redoslijed nije važan.

tcpdump <-option_identifier>

Opcije Tcpdump

Naredba tcpdump slijedi opcije koje su također poznate kao zastave. Svaki od njih označen je crticom, a zatim slovo. Ispod je popis svake od ovih zastava.

–        ispisuje pakete u ASCII bez zaglavlja na razini veze

-b         pokaži AS broj je ASDOT format

-B        buffer_size u jedinicama KiB (1024 bajta

-c         računati – ograničenje paketa za hvatanje

-C        veličina datoteke – proces će stvoriti novu datoteku nakon što se popuni ograničenje veličine datoteke; Veličina je 1 milion bajta

-d        Izbacite sastavljeni kod za podudaranje paketa u ASCII

-dd      Izbacujte kôd za podudaranje paketa kao C programski fragment

-ddd    Izbacuje kôd za podudaranje paketa kao decimalne brojeve kojima prethodi brojanje

-D        Popis svih dostupnih sučelja

-e         Ispišite zaglavlje na razini veze na svaki redak izbacivanja

-E         spi @ ipaddr algo: tajna – za dešifriranje IPsec ESP paketa:

             SPI je indeks sigurnosnih parametara

              IPadr je odredišna adresa na paketu

              algo je algoritam za koji se ne može platiti des-CBC a polje nije obavezno.

              Moguće vrijednosti su:

  • des-CBC
  • 3DES-CBC
  • Blowfish-CBC
  • RC3-CBC
  • cast128-CBC

tajna je ASCII tekst za ESP tajni ključ. Ako mu prethodi 0x, to je heksna vrijednost

-f          Ispisujte “strane” IPv4 adrese numerički, a ne simbolično

-F         datoteka – koristiti datoteka kao ulaz za izraz filtra

-G        rotate_seconds – razdoblje za okretanje datoteke za spremanje opcije -w, imenu će dodati vremensku oznaku

-h         Ispišite nizove verzije tcpdump i libpcap, ispisujte poruku o upotrebi i izađite

-H        Otkrijte zaglavlje skica 802.11s

-ja          sučelje – sučelje za slušanje, abecedno se postavlja najniže ime

-ja          način rada monitora | trenutačnom načinu – uklanja puferiranje

-j          tstamp_type – postaviti vrstu vremenske oznake za snimanje na tstamp_type

-J         tstamp_precision – postaviti preciznost vremenske oznake (mikro ili nano) zadano je mikro. Ako tstamp_precision je nula, navedite vrste vremenskih oznaka i izađite

-K        Ne provjeravajte kontrolne sume

-l          Izbačeni linijski sloj. pr. tcpdump -l | tee dat ili                                                                                                   tcpdump -l > dat & rep -f dat

-L         Navedi poznate vrste veza podataka za sučelje, u navedenom načinu i izađite

-m       modul – učitajte definicije SMI MIB modula iz datoteke modul.

-M       tajna – zajednička tajna vrijednost za provjeru valjanosti s opcijom TCP-MD5

-n        Nemojte pretvarati adrese (tj. Adrese računala, brojeve vrata itd.) U imena

-N        Ne ispisujte kvalifikaciju naziva domena domaćina

-#         Ispišite izborni broj paketa na početku retka

-O        Ne pokrenite alat za optimizaciju koda za podudaranje paketa

-p         Ne stavljajte sučelje u promiskuitetni način rada

-P        smjer – smjer slanja / primanja. Može biti u, van, ili INOUT

-q         Ispis manje podataka o protokolu

-r          datoteka – čitanje paketa s datoteka. Navedite za standardni ulaz

-S         Ispis apsolutnih brojeva TCP-a

-a         snaplen – snarf snaplen bajtova iz svakog paketa, a ne zadanih 262144 bajtova

-T         tip – interpretirati pakete kao što je navedeno tip. Opcije su:

  • aodv                   Ad-hoc protokol vektora na daljinu na zahtjev
  • šaran                    Protokol zajedničkog rješavanja zaliha
  • cnfp                    Cisco NetFlow Protocol
  • LMP                     Protokol za upravljanje vezama
  • PGM                    Pragmatična opća multicast
  • pgm_zmtp1       ZMTP / 1.0 unutar PGM / EPGM)
  • resp                   REdis protokol za serializaciju
  • radius                RADIUS
  • RPC                     Poziv na daljinski postupak
  • RTP                      Protokol aplikacija u stvarnom vremenu
  • RTCP                    Protokol upravljanja aplikacijama u stvarnom vremenu
  • SNMP                 Jednostavan protokol upravljanja mrežom
  • TFTP                     Trivialni protokol za prijenos datoteka
  • PDV                      Alat za vizualni audio
  • WB                      raspodijeljena bijela ploča
  • zmtp1                 ZeroMQ protokol za prijenos poruka 1.0
  • vxlan                  Virtualna eXtensible lokalna mreža

-t          Ne ispisujte vremensku oznaku na svakom retku saniranja

-file        Ispisujte vremensku oznaku kao pomak od 1. siječnja 1970. na svaki red za odbacivanje

-TTT       Ispišite deltu (razlučivost mikro sekunde) između trenutnog i prethodnog retka

-tttt      Ispišite vremensku oznaku: datum, sat, minutu i sekundu na svakom ispisnom retku

-ttttt     Ispišite deltu (razlučivost mikro sekunde) između trenutnog i prvog retka

-u         Ispis nekodiranih NFS ručica

-U        Paket puferiran

-v         Neznatno višestruki izlaz

-vv       Više detaljnijeg ispisa

-VVV     Većina verbalnog ispisa

-V        datoteka – pročitajte popis datoteka s datoteka. Standardni se ulaz koristi ako datoteka je

-w        datoteka Zapisati izlaz u datoteka

-W       ograničiti – maksimalni broj datoteka koje treba stvoriti -C i -G opcije

-x         Ispišite podatke svakog paketa minus zaglavlje na razini veze u šestkome

-xx       Ispišite podatke svakog paketa, uključujući zaglavlje na razini veze, u šestkutniku

-x         Ispišite podatke svakog paketa minus njegovo zaglavlje na razini veze u hex i ASCII

-XX       Ispišite podatke svakog paketa, uključujući zaglavlje na razini veze u hex i ASCII.

-y         datalinktype – Postavite vrstu podatkovne veze koja će se koristiti tijekom hvatanja paketa na                          datalinktype

-z         postrotate-naredba – obrađivati ​​datoteke obično sažimanjem, npr -z gzip

-Z         korisnik – promijenite ID korisnika u korisnik i ID grupe primarnoj grupi korisnik

Tcpdump parametri

Parametri za tcpdump su također poznati kao primitivci. One određuju treba li se za hvatanje paketa dobiti izvor podataka samo iz određenih računala. Ovi se parametri mogu izraziti i kao uvjeti pomoću Boolovih operatora i, ili, i ne.  Ne trebate postavljati znak jednake vrijednosti (=) između naziva parametra i njegove vrijednosti i ne morate parametre postavljati interpunkcijom. U svakom slučaju trebate samo prostor.

Od ovih parametara najčešće se koristi domaćin, koji vam omogućuje da ograničenje hvatanja na prijenose iz samo jednog izvora. U svakom slučaju ime uređaja kao vrijednost parametra može se zamijeniti njegovom adresom. Ako parametar ima a DST verzije, ta varijacija ograničava izlaz na samo pakete koji taj atribut imaju za svoje odredište. Parametri koji uključuju src potražite pakete koji imaju određenu vrijednost u podacima koji se odnose na njihovo podrijetlo.

Ovdje su opcije parametara:

domaćin host_name – također dst domaćin ili src domaćin.

Može se pripremiti i s IP, aRP, ili rarp

eter            ehost – vrijednost iz / etc / etera ili broja. Također eter src i eter dest.

prolaz       domaćin – dobiti pakete koji su prošli kroz gateway domaćin

neto                network_num – IP izvor ili odredište uključuje network_num                                               Također dst net i src net

luka               broj | ime – također dst port i src port.                                                                                   Može se sa TCP ili UDP ograničiti protokol

ip proto          protokol – hvatanje IP paketa imenovanog protokola. Naziv mora biti u / etc / protokolima

eter proto    protokol – hvatanje paketa eterskog protokola. Opcije za protokol su broj ili:

  • IP
  • IP6
  • aRP
  • rarp
  • razgovor
  • atalkarp
  • dekodirati
  • decdts
  • decdns
  • lanbridge
  • lat
  • mopdl
  • moprc
  • štene
  • SCA
  • duh
  • STP
  • vexp
  • vprod
  • xns

emitiranje     Snima Ethernet emitiranje paketa. Također napisano kao eterska emisija

ip emitiranje Snima ip emitiranje paketa

multicast       Snima Ethernet pakete za višestruko slanje. Također napisano kao eter multicast

ip multicast   Snima IP multicast pakete

deknet domaćin   host_name – ako je ili DECNET izvor ili odredište host_name

decnet src     host_name – snimanje ako je izvor DECNET host_name

decnet dst     host_name – snimanje ako je DECNET odredište host_name

wlan domaćin      ehost – ako je prva, druga, treća ili četvrta IEEE 802.11 adresa                                             ehost

wlan addr1    ehost – snimanje ako je prva IEEE 802.11 adresa ehost

wlan addr2    ehost – snimanje ako je druga IEEE 802.11 adresa ehost

wlan addr3    ehost – snimanje ako je treća IEEE 802.11 adresa ehost

wlan addr4    ehost – ako je četvrta IEEE 802.11 adresa ehost. Koristi se samo za WDS

tip                tip – snimanje ako je IEEE 802.11 vrsta okvira tip, koji je broj ili:

  • podaci
  • MGT
  • CTL

podtip           podtip – snimanje ako je IEEE 802.11 okvir podtip, koji je broj ili:

  • assocreq
  • assocresp
  • reassocreq
  • reassocresp
  • probereq
  • proberesp
  • far
  • atim
  • disassoc
  • auth
  • deauth
  • podaci

dir                    dir – snimanje ako je smjer okvira IEEE 802.11 dir, koji je broj ili:

  • kima glavom
  • tods
  • fromds
  • dstods

Tcpdump izraz

Segment izraza naredbe tcpdump pruža vam mogućnost dodavanja malo programiranja vašem odabiru paketa. Za razliku od redovnog programa, međutim, ovaj skup uputa mora biti napisan u jednom retku. Ako ste čest korisnik Unixa ili Linuxa, naviknut ćete se na regularne izraze skripti školjki i ne bi trebalo imati problema s razumijevanjem formata ovih filtera.  

Paketi koji ispunjavaju test postavljen izrazom bit će snimljeni. Dakle, rezultat svakog izraza mora biti “istinit”.

Postoji nekoliko uvjeta izraza koji se obično ne susreću kod skriptiranja školjki, a navedeni su u nastavku:

Len

Ovo vraća dužinu paketa. Primjer upotrebe: len! = 5.

proto [Expr: veličina]

U ovom objektu:

proto je naziv sloja protokola. To može biti:

  • eter
  • FDDI
  • IP
  • aRP
  • rarp
  • TCP
  • UDP
  • ICMP

Expr je pomak bajta. To treba uključiti, ali može se dati kao 0 kako bi se vrijednost preuzela od početka objekta.

veličina nije izborno i predstavlja broj bajtova u opciji. Zadana vrijednost je 1, ali može biti i 2, 3 ili 4.

Primjeri upotrebe:

eter [0] & 1! = 0 vrijedi za sav višestruki promet.

ip [0] & 0xf! = 5 vrijedi za sve IP pakete s opcijama.

IP [6: 2] & 0x1fff = 0 vrijedi za fragmentirane datagrame i fragmentirana nula fragmentiranih datagrama.

Primjeri Tcpdump

U svim tim slučajevima, rezultati naredbe prikazat će se na zaslonu, osim ako nije uključena opcija koja se odnosi na datoteku ili ako se naredba ne pokrene s preusmjeravanjem izlaza standata ili slanjem u datoteku.

Prikaz paketa koji putuju od ili do računala identificirani kao lab1:

tcpdump laboratorij domaćina1

Prikažite sve IP pakete koji putuju između lab1 i bilo kojeg čvora osim prijema:

tcpdump ip host lab1 a ne prijem

Prikažite sav ftp promet putem internetskog prolaza:

tcpdump ‘gateway styx i (port ftp ili ftp-podaci)’

Prikažite SYN i FIN pakete svakog TCP razgovora koji uključuje ne-lokalni host:

tcpdump ‘tcp [tcpflags] & (tcp-syn | tcp-fin)! = 0, a ne src i dst net localnet ‘

Prikažite IP emisiju ili multicast pakete koji nisu poslani putem Ethernet emitiranja ili multicast:

tcpdump ‘eter [0] & 1 = 0 i ip [16] >= 224 ‘

Tcpdump izlazni format

Format zapisa koji se koristi za pisanje paketa u datoteke postao je standard koji su usvojili mnogi noviji snaffers paketi i analizatori prometa.

Standard nije jednostavan i prilagođava se svakom protokolu. Međutim, one aplikacije koje su prihvatile format također uzimaju u obzir ove varijacije. Format se zove PCAP, što je naziv postupka hvatanja paketa koji koristi tcpdump. Datoteke u ovom formatu obično imaju .PCAP nastavak.

Tcpdump za Windows

Tu je prilagodba tcpdump koji se izvodi na Windows. Ovo se zove WinDump a oslanja se WinPcap za hvatanje paketa na isti način na koji tcpdump koristi pcap funkciju libpcap. WinPcap je u stvarnom vlasništvu Riverbed Technology. Ta ista tvrtka glavni je osnivač Wiresharka, koji je vjerojatno najpoznatiji i najkorišteniji snajperista na svijetu. Postoji bežična verzija WinPcapa, koja se zove AirPcap. WinDump, WinPcap i AirPcap možete besplatno preuzeti sa web mjesta WinPcap.

Korištenje paketskih njuška

Uslužni program tcpdump naredbeni redak koristan je za one koji su upoznati s Unix i Linux operativnim sustavima i uživajte u pisanju skripti školjki. Onima koji nisu toliko iskusni u sastavljanju naredbi s redovitim izrazima u naredbenu liniju, teško će koristiti ovaj program.

Imate i druge mogućnosti jer je na raspolaganju mnogo snajpera za paket, poput Wiresharka, koji je spomenut gore. Više o alternativama tcpdump možete saznati u ovom pregledu paketskih njuška.

Imate li omiljeni njuškalo za paket? Da li ste ljubitelj tcpdump ili preferirate više prilagođene alternative? Ostavite poruku u komentari odjeljak ispod i podijelite svoja iskustva.

Slika: tcpdump hvatanje paketa pomoću Linux Screenshots putem Flickr-a. Licencirano pod CC BY 2.0

About the author

Comments

  1. Croatian:

    Tcpdump je uslužni program naredbenog retka koji se može koristiti za ispitivanje mrežnog prometa na operativnim sustavima sličnim Unixu (Linux, Mac OS). Program se može besplatno instalirati, ali nije uobičajeno integriran u operativne sustave, pa ga morate instalirati iz tcpdump GitHub registra ili s službene web stranice tcpdump. Tcpdump koristi libpcab, što je C / C knjižnica postupaka, a glavni program je sučelje za postupak hvatanja paketa. Naredba tcpdump može se izdati sama ili s opcijama, parametrima i / ili regularnim izrazima. Opcije se označavaju zastavicama, a svaka od njih mijenja ponašanje programa. Tcpdump je koristan alat za analizu mrežnog prometa i može se koristiti za različite svrhe.

Comments are closed.