Primjeri Linux tcpdump

Pin
Send
Share
Send

Ako trebate analizirati ili presresti mrežne pakete u Linuxu, onda je najbolje koristiti uslužni program za konzolu tcpdump. Ali problem nastaje u njegovom prilično kompliciranom upravljanju. Prosječnom će se korisniku činiti da je rad s uslužnim programom nezgodan, ali to je samo na prvi pogled. U članku će se objasniti kako tcpdump funkcionira, koju sintaksu ima, kako se koristi, te će se dati brojni primjeri njegove uporabe.

Pogledajte također: Vodiči za podešavanje internetske veze u Ubuntu, Debianu, Ubuntu poslužitelju

Instalacija

Većina programera Linux operativnih sistema uključuje uslužni program tcpdump na listu unaprijed instaliranih, ali ako iz nekog razloga nije u vašoj distribuciji, uvijek ga možete preuzeti i instalirati putem "Terminal". Ako je vaš OS zasnovan na Debianu, a to su Ubuntu, Linux Mint, Kali Linux i slično, trebate pokrenuti ovu naredbu:

sudo apt install tcpdump

Prilikom instaliranja trebate unijeti lozinku. Imajte na umu da se prilikom biranja ne prikazuje, takođe da biste potvrdili postavku koja je potrebna za unos znaka D i kliknite Unesite.

Ako imate Red Hat, Fedora ili CentOS, naredba za instalaciju će izgledati ovako:

sudo yam install tcpdump

Nakon što se uslužni program instalira, može se odmah koristiti. O ovome i mnogim drugim bit će govora kasnije u tekstu.

Pogledajte također: Vodič za instalaciju PHP-a na Ubuntu poslužitelju

Sintaksa

Kao i svaka druga naredba, i tcpdump ima svoju sintaksu. Znajući ga, možete postaviti sve potrebne parametre koji će se uzeti u obzir pri izvršavanju naredbe. Sintaksa je sljedeća:

tcpdump opcije -i sučelja filtri

Kada koristite naredbu, morate navesti sučelje za praćenje. Filtri i opcije su izborne varijable, ali omogućuju fleksibilnije prilagođavanje.

Opcije

Iako nije potrebno navesti opciju, ipak morate navesti dostupne. Tablica ne prikazuje njihov cijeli popis, već samo one najpopularnije, ali oni su više nego dovoljni za rješavanje većine zadataka.

OpcijaDefinicija
-AOmogućuje vam sortiranje paketa u ASCII formatu
-lDodaje funkciju za pomicanje.
-iNakon ulaska morate odrediti mrežno sučelje koje će se nadzirati. Za početak praćenja svih sučelja, nakon opcije unesite riječ "bilo koja"
-cZavršava postupak praćenja nakon provjere određenog broja paketa
-wGeneriše tekstualnu datoteku sa izveštajem o verifikaciji
-ePrikazuje razinu internetske veze podataka
-LPrikazuje samo one protokole koje definirano mrežno sučelje podržava.
-CStvara drugu datoteku za vrijeme snimanja u paketu ako je njegova veličina veća od navedene
-rOtvara datoteku za čitanje koja je kreirana pomoću opcije -w
-jFormat TimeStamp koristiće se za snimanje paketa
-JOmogućuje vam pregled svih dostupnih formata TimeStamp
-GSluži za kreiranje datoteke dnevnika. Opcija također zahtijeva privremenu vrijednost nakon koje će se stvoriti novi dnevnik
-v, -vv, -vvvOvisno o broju znakova u opciji, izlaz naredbe postat će detaljniji (povećanje je izravno proporcionalno broju znakova)
-fIzlaz prikazuje naziv domene IP adresa
-FOmogućuje čitanje informacija ne s mrežnog sučelja, već iz navedene datoteke
-DDemonstrira sva mrežna sučelja koja se mogu koristiti.
-nDeaktivira prikaz imena domena
-ZOdređuje korisnika pod čijim računom će se stvoriti sve datoteke.
-KPreskakanje analize provjere
-qIzlog izloga
-HOtkriva zaglavlja 802.11s
-JaKoristi se prilikom snimanja paketa u načinu rada monitora

Ispitajući opcije, malo niže preći ćemo izravno na njihove aplikacije. U međuvremenu će se razmatrati filtri.

Filteri

Kao što je navedeno na samom početku članka, možete dodati filtre u sintaksu tcpdump. Sada će se smatrati da su najpopularnije od njih:

FilterDefinicija
domaćinOdređuje ime domaćina
netoOznačava IP podmreže i mreže
ipOdređuje adresu protokola
srcPrikazuje pakete koji su poslani sa navedene adrese
dstPrikazuje pakete koji su primljeni navedenom adresom
arp, udp, tcpFiltriranje po jednom od protokola
lukaPrikazuje informacije povezane sa određenim priključkom
i, iliKombinuje nekoliko filtera u naredbi.
manje većiIzlazni paketi manji ili veći od navedene veličine

Svi gornji filtri mogu se kombinovati jedan s drugim, tako da ćete u izdavanju naredbe vidjeti samo one podatke koje želite vidjeti. Da biste detaljnije razumjeli upotrebu gore navedenih filtera, vrijedi dati primjere.

Pogledajte također: Često korištene naredbe na Linux terminalu

Primjeri upotrebe

Sada će se prikazati često korištene mogućnosti sintakse za naredbu tcpdump. Ne mogu se nabrojiti svi, jer može postojati beskonačan broj njihovih varijacija.

Pogledajte popis sučelja

Preporučuje se svakom korisniku u početku provjeriti popis svih njegovih mrežnih sučelja koja se mogu pratiti. Iz gornje tablice znamo da za to trebate koristiti opciju -D, pa u terminalu pokrenite sljedeću naredbu:

sudo tcpdump -D

Primjer:

Kao što vidite, primjer ima osam sučelja koja se mogu pregledati pomoću naredbe tcpdump. U članku ćemo naći primjere sa ppp0Možete koristiti bilo koju drugu.

Normalno zauzimanje prometa

Ako trebate pratiti jedno mrežno sučelje, to možete učiniti pomoću opcije -i. Ne zaboravite nakon unosa unijeti ime sučelja. Evo primjera takve naredbe:

sudo tcpdump -i ppp0

Napominjemo: prije naredbe trebate unijeti "sudo", jer zahtijeva prava superuse.

Primjer:

Napomena: nakon pritiska na Enter u "Terminalu" neprekidno će se prikazivati ​​presretnuti paketi. Da biste zaustavili njihov protok, morate pritisnuti kombinaciju tipki Ctrl + C.

Ako naredbu izvršite bez dodatnih opcija i filtera, vidjet ćete sljedeći format za prikaz nadziranih paketa:

22: 18: 52.597573 IP vrrp-topf2.p.mail.ru.https> 10.0.6.67.35482: Zastave [P.], red 1: 595, ack 1118, win 6494, opcije [nop, nop, TS val 257060077 ecr 697597623], dužina 594

Gdje je istaknuta boja:

  • plava - vrijeme prijema paketa;
  • narandžasta - verzija protokola;
  • zelena - adresa pošiljatelja;
  • ljubičasta - adresa primaoca;
  • siva - dodatne informacije o tcp;
  • crvena - veličina paketa (prikazana u bajtovima).

Ova sintaksa ima mogućnost prikaza u prozoru. "Terminal" bez upotrebe dodatnih opcija.

Snimanje prometa sa opcijom -v

Kao što je poznato iz tabele, opcija -v omogućava vam povećavanje količine informacija. Uzmimo primjer. Provjerite isti interfejs:

sudo tcpdump -v -i ppp0

Primjer:

Ovdje možete vidjeti da se u izlazu pojavio sljedeći redak:

IP (tos 0x0, ttl 58, id 30675, pomak 0, zastave [DF], proto TCP (6), dužina 52

Gdje je istaknuta boja:

  • narandžasta - verzija protokola;
  • plava - životni vijek protokola;
  • zelena - dužina zaglavlja polja;
  • ljubičasta - verzija paketa tcp;
  • crvena - veličina paketa.

Također u sintaksi naredbi možete napisati opciju -vv ili -vvv, što će dodatno povećati količinu informacija prikazanih na ekranu.

Opcija -w i -r

Tablica opcija spominjala je mogućnost spremanja svih rezultata u zasebnu datoteku kako biste ih kasnije mogli pogledati. Za to je odgovorna opcija. -w. Korištenje je prilično jednostavno, samo ga navedite u naredbi, a zatim unesite ime buduće datoteke s nastavkom ".pcap". Pogledajmo primjer:

sudo tcpdump -i ppp0 -w file.pcap

Primjer:

Napomena: dok pišete zapise u datoteku, na ekranu "Terminal" ne prikazuje se tekst.

Kad želite pregledati snimljeni izlaz, morate koristiti opciju -r, nakon čega napišite ime prethodno snimljene datoteke. Koristi se bez drugih opcija i filtera:

sudo tcpdump -r file.pcap

Primjer:

Obje su ove mogućnosti odlične u slučajevima kada trebate spremiti velike količine teksta za kasniji raščlanjivanje.

IP filtriranje

Iz tablice filtera to znamo dst omogućava vam da se na ekranu konzole prikazuju samo oni paketi koji su primljeni po adresi koja je navedena u sintaksi naredbe. Stoga je vrlo prikladno pregledati pakete koji su primljeni od vašeg računara. Da bi to postigao, tim treba samo da navede svoju IP adresu:

sudo tcpdump -i ppp0 ip dst 10.0.6.67

Primjer:

Kao što vidite, pored dst, registrovali smo i filter u timu ip. Drugim riječima, rekli smo računalu da će prilikom odabira paketa obratiti pažnju na njihovu IP adresu, a ne na ostale parametre.

Prema IP-u možete filtrirati i odlazne pakete. U primjeru ćemo ponovo dati našu IP adresu. Odnosno, sada ćemo pratiti koji paketi se šalju s našeg računara na druge adrese. Da biste to učinili, pokrenite sljedeću naredbu:

sudo tcpdump -i ppp0 ip src 10.0.6.67

Primjer:

Kao što vidite, u sintaksi naredbe promijenili smo filter dst na src, na taj način naredi mašini da traži pošiljatelja preko IP-a.

HOST Filtriranje

Analogno IP-u u naredbi možemo odrediti filter domaćinfiltrirati pakete prema domaćinu koji vas zanima. Odnosno, u sintaksi, umjesto IP adrese pošiljatelja / primatelja, morat ćete odrediti njegovog domaćina. To izgleda ovako:

sudo tcpdump -i ppp0 dst host google-public-dns-a.google.com

Primjer:

Na slici to možete videti u "Terminal" prikazuju se samo oni paketi koji su s našeg IP adrese poslani na host google.com. Kao što možete razumjeti, umjesto google hosta, možete unijeti bilo koji drugi.

Kao i kod filtriranja IP-a, sintaksa dst može se zameniti sa srcDa biste vidjeli pakete koji se šalju na vaš računar:

sudo tcpdump -i ppp0 src host google-public-dns-a.google.com

Napomena: glavni filter mora biti nakon dst ili src, u protivnom naredba će dovesti do pogreške. U slučaju filtriranja po IP-u, naprotiv, dst i src su ispred ip filtra.

Primjena i i ili filtra

Ako trebate koristiti nekoliko filtera u jednoj naredbi odjednom, tada morate primijeniti filtar i ili ili (ovisi o slučaju). Određivanjem filtera u sintaksi i razdvajajući ih s ovim operatorima, učinit ćete da djeluju kao jedan. Na primjer, izgleda ovako:

sudo tcpdump -i ppp0 ip dst 95.47.144.254 ili ip src 95.47.144.254

Primjer:

Sintaksa naredbi pokazuje što želimo prikazati "Terminal" svi paketi koji su poslani na adresu 95.47.144.254 i paketi primljeni na istu adresu. Možete promijeniti i neke varijable u ovom izrazu. Na primjer, umjesto IP-a, navedite HOST ili direktno zamijenite same adrese.

Priključak i portrange filter

Filter luka savršeni u slučajevima kada trebate dobiti informacije o paketima s određenim priključkom. Dakle, ako samo trebate vidjeti odgovore ili DNS upite, morate odrediti port 53:

sudo tcpdump -vv -i ppp0 port 53

Primjer:

Ako želite vidjeti http pakete, morate unijeti port 80:

sudo tcpdump -vv -i ppp0 port 80

Primjer:

Između ostalog, moguće je odmah pratiti domet portova. Za to se primjenjuje filter. portrange:

sudo tcpdump portrange 50-80

Kao što vidite, u kombinaciji s filterom portrange opcionalne opcije su potrebne. Samo podesite raspon.

Filtriranje protokola

Možete prikazati i samo promet koji se podudara s bilo kojim protokolom. Da biste to učinili, koristite naziv ovog protokola kao filtra. Pogledajmo primjer udp:

sudo tcpdump -vvv -i ppp0 udp

Primjer:

Kao što možete vidjeti na slici, nakon što ste izvršili naredbu u "Terminal" prikazani su samo paketi sa protokolom udp. Prema tome možete filtrirati i druge, npr. arp:

sudo tcpdump -vvv -i ppp0 arp

ili tcp:

sudo tcpdump -vvv -i ppp0 tcp

Neto filter

Operator neto pomaže filtriranje paketa na temelju njihove mrežne oznake. Pomoću njega je jednostavno kao i ostalo - morate odrediti atribut u sintaksi neto, a zatim unesite mrežnu adresu. Evo primjera takve naredbe:

sudo tcpdump -i ppp0 neto 192.168.1.1

Primjer:

Filtriranje veličine paketa

Nismo razmotrili još dva zanimljiva filtera: manje i veći. Iz tablice s filtrima znamo da oni služe za izlaz više paketa podataka (manje) ili manje (veći) veličina navedena nakon unosa atributa.

Pretpostavimo da želimo nadzirati samo pakete koji ne prelaze 50-bitnu marku, tada će naredba izgledati ovako:

sudo tcpdump -i ppp0 manje 50

Primjer:

Sada da prikažemo "Terminal" paketi veći od 50 bita:

sudo tcpdump -i ppp0 veći 50

Primjer:

Kao što vidite, oni se primjenjuju na isti način, jedina razlika je naziv filtra.

Zaključak

Na kraju članka možemo zaključiti da je tim tcpdump - Ovo je odličan alat s kojim možete pratiti bilo koji paket podataka koji se prenosi putem Interneta. Ali za to nije dovoljno samo ući u samu naredbu "Terminal". Željeni rezultat će se dobiti samo ako koristite sve vrste opcija i filtera, kao i njihove kombinacije.

Pin
Send
Share
Send