Pokušavate li uhvatiti podatkovne pakete kako biste analizirali promet na svojoj mreži? Možda ste administrator poslužitelja koji je nabasao na problem i želi nadzirati prenesene podatke na mreži. Bez obzira na situaciju, uslužni program tcpdump Linux je ono što vam treba.

U ovom ćemo članku detaljno razgovarati o naredbi tcpdump, zajedno s nekim vodičima o tome kako instalirati i koristiti tcpdump na vašem Linux sustavu.

Što je naredba tcpdump?

Tcpdump moćan je alat za nadzor mreže koji korisniku omogućuje učinkovito filtriranje paketa i prometa na mreži. Možete dobiti detaljne informacije vezane uz TCP / IP i pakete koji se prenose na vašoj mreži. Tcpdump je uslužni program naredbenog retka, što znači da ga možete pokrenuti na Linux poslužiteljima bez zaslona.

Administratori sustava također mogu integrirati uslužni program tcpdump s cron kako bi se automatizirali razni zadaci poput bilježenja. Budući da ga brojne značajke čine prilično svestranim, tcpdump djeluje i kao rješavanje problema i kao sigurnosni alat.

instagram viewer

Kako instalirati tcpdump na Linux

Iako ćete većinu vremena naći tcpdump unaprijed instaliran na vašem sustavu, neke se Linux distribucije ne isporučuju s paketom. Stoga ćete možda morati ručno instalirati uslužni program na svoj sustav.

Možete provjeriti je li tcpdump instaliran na vašem sustavu pomoću koji naredba.

koji tcpdump

Ako izlaz prikazuje stazu direktorija (/usr/bin/tcpdump), tada je na vašem sustavu instaliran paket. Međutim, ako ne, to možete učiniti lako koristeći zadani upravitelj paketa na vašem sustavu.

Da biste instalirali tcpdump na distribucije zasnovane na Debianu, poput Ubuntu:

sudo apt-get instalirati tcpdump

Instalacija tcpdumpa na CentOS je također jednostavna.

sudo yum instaliraj tcpdump

O distribucijama zasnovanim na Archu:

sudo pacman -S tcpdump

Da biste instalirali na Fedoru:

sudo dnf instalirati tcpdump

Imajte na umu da paket tcpdump zahtijeva lipcap kao ovisnost, pa ga svakako instalirajte i na svoj sustav.

Primjeri Tcpdump za hvatanje mrežnih paketa na Linuxu

Sada kada ste uspješno instalirali tcpdump na svoj Linux stroj, vrijeme je da nadgledate neke pakete. Budući da tcpdump za izvršavanje većine operacija zahtijeva dozvole superkorisnika, morat ćete dodati sudo na vaše naredbe.

1. Popis svih mrežnih sučelja

Da biste provjerili koja su mrežna sučelja dostupna za snimanje, upotrijebite -D zastava s naredbom tcpdump.

tcpdump -D

Prolazeći --list-sučelja zastava kao argument vratit će isti izlaz.

tcpdump --list-sučelja

Rezultat će biti popis svih mrežnih sučelja koja su prisutna u vašem sustavu.

Nakon dobivanja popisa mrežnih sučelja, vrijeme je za nadgledanje vaše mreže hvatanjem paketa u vašem sustavu. Iako možete odrediti koje sučelje želite koristiti, bilo koji argument naredbe tcpdump za hvatanje mrežnih paketa pomoću bilo kojeg aktivnog sučelja.

tcpdump - sučelje bilo koje

Sustav će prikazati sljedeći izlaz.

Povezano: Što je model međusobnog povezivanja otvorenih sustava?

2. Izlazni format tcpdump

Polazeći od trećeg retka, svaki redak izlaza označava određeni paket koji je uhvatio tcpdump. Evo kako izgleda izlaz jednog paketa.

17: 00: 25.369138 wlp0s20f3 Izlazni lokalni sustav IP.40310> kul01s10-in-f46.1e100.net.https: Zastave [P.], seq. 196: 568, ack 1, win 309, opcije [nop, nop, TS val 117964079 ecr 816509256], duljina 33

Imajte na umu da nisu svi paketi zarobljeni na ovaj način, ali ovo je opći format koji slijedi većina njih.

Izlaz sadrži sljedeće informacije.

  1. Vremenska oznaka primljenog paketa
  2. Naziv sučelja
  3. Protok paketa
  4. Naziv mrežnog protokola
  5. Pojedinosti o IP adresi i portu
  6. TCP zastave
  7. Redni broj podataka u paketu
  8. Ack podaci
  9. Veličina prozora
  10. Duljina paketa

Prvo polje (17:00:25.369138) prikazuje vremensku oznaku kada je vaš sustav poslao ili primio paket. Snimljeno vrijeme izdvaja se iz lokalnog vremena vašeg sustava.

Drugo i treće polje označavaju sučelje koje se koristi i protok paketa. U gornjem isječku, wlp0s20f3 je naziv bežičnog sučelja i Van je protok paketa.

Četvrto polje uključuje informacije povezane s nazivom mrežnog protokola. Općenito ćete pronaći dva protokola - IP i IP6, gdje IP označava IPV4, a IP6 je za IPV6.

Sljedeće polje sadrži IP adrese ili naziv izvornog i odredišnog sustava. Nakon IP adresa slijedi broj porta.

Šesto polje u izlazu sastoji se od TCP zastavica. Postoje razne zastave koje se koriste u izlazu tcpdump.

Naziv zastave Vrijednost Opis
SINH S Veza je započela
PERAJE F Veza je završena
GURNUTI Str Podaci se guraju
RST R Veza se resetira
ACK . Priznanje

Izlaz može sadržavati i kombinaciju nekoliko TCP zastavica. Na primjer, ZASTAVA [f.] označava FIN-ACK paket.

Dalje u izlaznom isječku, sljedeće polje sadrži redni broj (dalje 196: 568) podataka u paketu. Prvi paket uvijek ima pozitivnu cijelu vrijednost, a sljedeći paketi koriste relativni sekvencijski broj za poboljšanje protoka podataka.

Sljedeće polje sadrži broj potvrde (ack 1), ili jednostavni Ack broj. Paket zarobljen u pošiljateljevom stroju ima 1 kao broj potvrde. Na kraju prijemnika, broj Ack vrijednost je sljedećeg paketa.

Deveto polje na izlazu odgovara veličini prozora (pobjeda 309), što je broj bajtova dostupan u me uspremniku. Postoji nekoliko drugih polja koja slijede veličinu prozora, uključujući maksimalnu veličinu segmenta (MSS).

Posljednje polje (duljina 33) sadrži duljinu ukupnog paketa zarobljenog tcpdumpom.

3. Ograničite broj zarobljenih paketa

Dok prvi put pokrećete naredbu tcpdump, mogli biste primijetiti da sustav nastavlja hvatati mrežne pakete sve dok ne prođete signal prekida. Možete nadjačati ovo zadano ponašanje tako što ćete prethodno navesti broj paketa koje želite zarobiti pomoću -c zastava.

tcpdump --interface bilo koji -c 10

Spomenuta naredba snimit će deset paketa s bilo kojeg aktivnog mrežnog sučelja.

4. Filtrirajte pakete na temelju polja

Kada rješavate problem, dobivanje velikog bloka teksta na vašem terminalu to ne olakšava. Tu nastupa značajka filtriranja u tcpdump. Pakete možete filtrirati prema različitim poljima, uključujući hosta, protokol, broj porta i još mnogo toga.

Da biste uhvatili samo TCP pakete, upišite:

tcpdump - sučelje bilo koje -c 5 tcp

Slično tome, ako želite filtrirati izlaz pomoću broja porta:

tcpdump --interface bilo koji -c 5 port 50

Gore spomenuta naredba dohvatit će samo pakete koji se prenose kroz navedeni port.

Da biste dobili detalje o paketu za određeni host:

tcpdump --interface bilo koji -c 5 host 112.123.13.145

Ako želite filtrirati pakete koje je poslao ili primio određeni domaćin, upotrijebite src ili dst argument s naredbom.

tcpdump - sučelje bilo koje -c 5 src 112.123.13.145
tcpdump - sučelje bilo koje -c 5 dst 112.123.13.145

Također možete koristiti logičke operatore i i ili kombinirati dva ili više izraza zajedno. Na primjer, za dobivanje paketa koji pripadaju izvornom IP-u 112.123.13.145 i koristite luku 80:

tcpdump --interface bilo koji -c 10 src 112.123.13.145 i priključak 80

Složeni izrazi mogu se grupirati zajedno pomoću zagrade kako slijedi:

tcpdump - sučelje bilo koje -c 10 "(src 112.123.13.145 ili src 234.231.23.234) i (port 45 ili port 80)"

5. Pogledajte sadržaj paketa

Možete koristiti -A i -x zastavice s naredbom tcpdump za analizu sadržaja mrežnog paketa. The -A zastava znači ASCII format i -x označava heksadecimalni format.

Da biste pregledali sadržaj sljedećeg mrežnog paketa koji je sustav zarobio:

tcpdump --interface bilo koji -c 1 -A
tcpdump --interface bilo koji -c 1 -x

Povezano: Što je gubitak paketa i kako otkloniti njegov uzrok?

6. Spremi podatke snimanja u datoteku

Ako želite spremiti podatke za hvatanje u referentne svrhe, tcpdump je tu da vam pomogne. Samo prođi -w zastavicu sa zadanom naredbom za pisanje izlaza u datoteku umjesto prikazivanja na zaslonu.

tcpdump --interface bilo -c 10 -w data.pcap

The .pcap ekstenzija datoteke označava hvatanje paketa podaci. Također možete izdati spomenutu naredbu u opsežnom načinu rada pomoću -v zastava.

tcpdump --interface bilo -c 10 -w data.pcap -v

Za čitanje a .pcap datoteku pomoću tcpdump, koristite -r zastava nakon koje slijedi put do datoteke. The -r stoji za Čitati.

tcpdump -r data.pcap

Također možete filtrirati mrežne pakete iz paketnih podataka spremljenih u datoteci.

tcpdump -r data.pcap port 80

Praćenje mrežnog prometa na Linuxu

Ako vam je dodijeljen zadatak administriranja Linux poslužitelja, tada je naredba tcpdump izvrstan alat za uključivanje u vaš arsenal. Probleme povezane s mrežom možete jednostavno riješiti hvatanjem paketa koji se prenose na vašoj mreži u stvarnom vremenu.

Ali prije svega toga, vaš uređaj mora biti povezan s internetom. Za početnike Linuxa čak i povezivanje s Wi-Fi mrežom putem naredbenog retka može biti malo izazovno. Ali ako koristite prave alate, to je brzo.

E-mail
Kako se povezati na Wi-Fi putem Linux terminala pomoću Nmclija

Želite li se spojiti na Wi-Fi mrežu putem Linux naredbenog retka? Evo što trebate znati o naredbi nmcli.

Pročitajte Dalje

Povezane teme
  • Linux
  • Sigurnost
  • Mrežna forenzika
O autoru
Deepesh Sharma (Objavljeno 37 članaka)

Deepesh je mlađi urednik za Linux u MUO. Na internetu piše informativni sadržaj više od 3 godine. U slobodno vrijeme uživa u pisanju, slušanju glazbe i sviranju gitare.

Više od Deepesh Sharme

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Još jedan korak…!

Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.

.