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