"Tcpdump" je analizator paketa i koristi se za dijagnozu i analizu mrežnih problema. Snima mrežni promet koji prolazi kroz vaš uređaj i gleda preko njega. Alat "tcpdump" moćan je alat za rješavanje mrežnih problema. Dolazi s mnogim opcijama, što ga čini svestranim uslužnim programom naredbenog retka za rješavanje mrežnih problema.
Ovaj je post detaljan vodič o uslužnom programu "tcpdump" koji uključuje njegovu instalaciju, zajedničke značajke i upotrebu s različitim opcijama. Krenimo s instalacijom:
Kako instalirati “tcpdump”:
U mnogim distribucijama "tcpdump" izlazi iz okvira i da biste ga provjerili, upotrijebite:
$ koji tcpdump
Ako ga nema u vašoj distribuciji, instalirajte ga pomoću:
$ sudo apt instalirati tcpdumpGornja naredba će se koristiti za distribucije temeljene na Debianu, poput Ubuntu i LinuxMint. Za "Redhat" i "CentOS" upotrijebite:
$ sudo dnf instaliraj tcpdumpKako hvatati pakete pomoću tcpdumpa:
Za hvatanje paketa mogu se koristiti razna sučelja. Da biste dobili popis sučelja, upotrijebite:
$ sudo tcpdump -D
Ili jednostavno upotrijebite "bilo" s naredbom "tcpdump" da biste preuzeli pakete iz aktivnog sučelja. Da biste započeli s hvatanjem paketa:
$ sudo tcpdump --interface bilo koji
Gornja naredba prati pakete sa svih aktivnih sučelja. Paketi će se neprestano hvatati dok korisnik ne dobije prekid (ctrl-c).
Također možemo ograničiti broj paketa koji će biti zarobljeni pomoću zastavice "-c" koja označava "brojanje".”Da biste uhvatili 3 paketa, upotrijebite:
$ sudo tcpdump -i bilo koji -c3
Gornja naredba korisna je za filtriranje određenog paketa. Štoviše, za rješavanje problema s povezivanjem potrebno je uhvatiti samo nekoliko početnih paketa.
"tcpdump”Naredba prema zadanim postavkama bilježi pakete s imenima IP-a i porta, ali radi čišćenja, nereda i olakšavanja razumijevanja rezultata; imena se mogu onemogućiti pomoću "-n"I"-br"Za opciju luke:
$ sudo tcpdump -i bilo koji -c3 -nn
Kao što je prikazano u gornjem izlazu, izvađeni su nazivi IP-a i porta.
Kako razumjeti informacije o snimljenom paketu:
Da bismo saznali više o raznim poljima zarobljenog paketa, uzmimo primjer TCP paketa:
Paket može imati razna polja, ali općenita su prikazana gore. Prvo polje, "09:48:18.960683,”Predstavlja vrijeme kada je paket primljen. Slijede IP adrese; prva IP [216.58.209.130] je izvorni IP, a drugi IP [10.0.2.15.55812] je IP adresa odredišta. Tada ćete dobiti zastavu [Str.]; popis tipičnih zastava dan je u nastavku:
Zastava | Tip | Opis |
“." | ACK | Označava potvrdu |
S | SINH | Oznaka za uspostavljanje veze |
F | PERAJE | Zastava za zatvorenu vezu |
Str | GURNUTI | Označava slanje podataka od pošiljatelja |
R | RST | Resetiranje veze |
I slijedi redni broj “dalje 185: 255". Klijent i poslužitelj koriste 32-bitni sekvencijski broj za održavanje i nadgledanje podataka.
"ack”Je zastava; ako je 1, to znači da je broj potvrde valjan, a primatelj očekuje sljedeći bajt.
Broj prozora označava veličinu međuspremnika. “pobijediti 65535"Znači količinu podataka koja se može pohraniti u bafer.
I na kraju dolazi dužina [70] paketa u bajtovima što je razlika od "185: 255".
Filtriranje paketa za rješavanje mrežnih problema:
Alat "tcpdump" hvata stotine paketa, a većina ih je manje važna što čini mnogo složenijim dobivanje željenih informacija za rješavanje problema. U tom će slučaju filtriranje igrati svoju ulogu. Na primjer, dok rješavate probleme ako vas ne zanima određena vrsta prometa, možete ga filtrirati pomoću "tcpdump", koji dolazi s filtriranjem paketa prema IP adresama, priključcima i protokolima.
Kako snimiti paket pomoću imena hosta pomoću naredbe tcpdump:
Da biste paket dobili samo od određenog hosta, upotrijebite:
$ sudo tcpdump -i bilo koji -c4 domaćin 10.0.2.15
Ako želite ostvariti samo jednosmjerni promet, upotrijebite "src"I"dst"Opcije u mjestu"domaćin."
Kako snimiti paket pomoću broja porta pomoću naredbe tcpdump:
Za filtriranje paketa s brojem porta koristite:
$ sudo tcpdump -i bilo koji -c3 -nn port 443
"443" je HTTPS broj priključka.
Kako snimiti paket pomoću protokola naredbom tcpdump:
Pomoću naredbe "tcpdump" možete filtrirati pakete prema bilo kojem protokolu, poput udp, icmp, arp itd. Jednostavno upišite naziv protokola:
$ sudo tcpdump -i bilo koji -c6 udp
Gornje naredbe će hvatati samo pakete koji pripadaju protokolu "udp".
Kako kombinirati opcije filtriranja pomoću logičkih operatora:
Različite mogućnosti filtriranja mogu se kombinirati pomoću logičkih operatora poput "i / ili":
$ sudo tcpdump -i bilo koji -c6 -nn host 10.0.2.15 i luka 443
Kako pohraniti snimljene podatke:
Pograbljeni podaci mogu se spremiti u datoteku kako bi se kasnije nadzirali, a za tu će se upotrijebiti opcija "-w", a "w" znači "pisanje":
$ sudo tcpdump -i bilo koji -c5 -w packetData.pcap
Proširenje datoteke bilo bi „.pcap, "što znači" hvatanje paketa.”Kad se završi snimanje, datoteka će se spremiti na vaš lokalni pogon. Ovu datoteku nije moguće otvoriti niti pročitati bilo kojim programom za uređivanje teksta. Da biste ga pročitali, upotrijebite "-r”Zastava s“ tcpdump ”:
$ tcpdump -r packetData.pcap
Zaključak:
"Tcpdump" je vrijedan i fleksibilan alat za hvatanje i analizu mrežnog prometa za rješavanje mrežnih problema. Točka ovog vodiča je naučiti osnovnu i naprednu upotrebu uslužnog programa naredbenog retka “tcpdump”. Ali ako vam je teško, postoji manje složen program zasnovan na GUI-u, nazvan "Wireshark", koji obavlja gotovo isti posao, ali s raznim dodatnim značajkama.