tcpdump

Vodič za uslužni program za analizu mrežnog prometa TCPDUMP

Vodič za uslužni program za analizu mrežnog prometa TCPDUMP

Tcpdump je uslužni program naredbenog retka za njuškanje mrežnog paketa. Najčešće se koristi za rješavanje problema mreža i testiranje sigurnosnih problema. Unatoč nedostatku grafičkog korisničkog sučelja, to je najpopularniji, najsnažniji i najsvestraniji uslužni program naredbenog retka.

Izvorni je za Linux takav da ga većina distribucija Linuxa instalira kao dio standardnog OS-a. Tcpdump je libpcap povezan program, koji je knjižnica za hvatanje mrežnih datagrama.

Ovaj će članak demistificirati tcpdump pokazujući kako hvatati, čitati i analizirati zarobljeni mrežni promet u ovom uslužnom programu. Kasnije ćemo koristiti naše razumijevanje za pregled paketa podataka s naprednim TCP filtrima zastavice.

Instalacija Tcpdumpa

Zadana instalacija Tcpdumpa u vašoj distribuciji ovisi o opcijama odabranim tijekom postupka instalacije. U slučaju prilagođene instalacije, moguće je da paket nije dostupan. Instalaciju tcpdumpa možete provjeriti pomoću dpkg naredba s “-sOpcija.

ubuntu $ ubuntu: ~ $ dpkg -s tcpdump

Ili upotrijebite naredbu "sudo apt-get install tcpdump" da biste instalirali tcpdump u Ubuntu Linux.

Hvatanje paketa u Tcpdump:

Da bismo započeli postupak hvatanja, prvo moramo pronaći svoje radno sučelje pomoću "ifconfig”Naredba. Ili možemo navesti sva dostupna sučelja pomoću tcpdump naredba s “-DOpcija.

ubuntu $ ubuntu: ~ $ tcpdump -D

Da biste započeli postupak hvatanja, možete upotrijebiti sintaksu;

tcpdump [-options] [izraz]

Na primjer, u naredbi ispod koristimo “-ja"Mogućnost snimanja prometa na"enp0s3”Sučelje, s„-c"Zastavica za ograničavanje zarobljenih paketa i pisanje"-w”To do a test_capture.pcap datoteka.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 -w / tmp / test_capture.pcap

Slično tome, možete koristiti razne kombinacije filtara za izoliranje prometa prema vašim zahtjevima. Jedan od takvih primjera uključuje hvatanje mrežnih podataka koji odlaze i dolaze na host pomoću domaćin naredba za određenu luka. Štoviše, koristio sam „-nZastava da spriječi tcpdump da uhvati DNS pretraživanja. Ova je zastava vrlo korisna u zasićenju prometa tijekom rješavanja problema s mrežom.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 domaćin 10.0.2.15 i dst port 80 -w / tmp / test_capture1.pcap
tcpdump: preslušavanje na enp0s3, tip veze EN10MB (Ethernet), veličina snimanja 262144 bajta
Uhvaćeno 20 paketa
21 paket primljen filtrom
0 paketa koje je kernel ispustio

Koristimo "iNaredba za hvatanje samo paketa koji sadrže host 10.0.2.15 i odredišna luka 80. Slično tome, različiti drugi filtri mogu se primijeniti za olakšavanje zadataka rješavanja problema.

Ako ne želite koristiti "-cZastavicu da biste ograničili hvatanje prometa, možete koristiti signal prekida, tj.e., Ctrl + C, zaustaviti postupak izolacije.

Čitanje Tcpdump datoteka

Čitanje tcpdump zarobljenih datoteka može biti puno porazno. Prema zadanim postavkama tcp dodjeljuje imena IP adresama i priključcima. Koristit ćemo "-rZastava za čitanje već snimljene datoteke test_capture.pcap spremljeno u / tmp mapu. Izlaz ćemo usmjeriti prema awk naredba za izlaz samo izvorne IP adrese i priključaka i usmjeravanje u naredbu glava za prikaz samo prvih 5 unosa.

ubuntu $ ubuntu: ~ $ sudo tcpdump -r / tmp / test_capture1.pcap | awk -F "" 'ispis $ 3' | glava -5
čitanje iz datoteke / tmp / test_capture.pcap, tip veze EN10MB (Ethernet)
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298

Međutim, preporuča se korištenje IP adresa i priključaka u brojevima za rješavanje problema s umrežavanjem. Onemogućit ćemo razlučivanje IP naziva pomoću "-n”Nazivi zastava i luka s“-br“.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -n
tcpdump: potisnuti opsežni izlaz, koristite -v ili -vv za potpuno dekodiranje protokola
slušanje na enp0s3, tip veze EN10MB (Ethernet), veličina snimanja 262144 bajta
20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: Zastave [Str.], seq 1276027591: 1276027630, ack 544039114, win 63900, dužina 39
20:08:22.146745 IP 10.0.2.15.43456> 54.204.39.132.443: Zastave [Str.], seq 3381018839: 3381018885, ack 543136109, win 65535, duljina 46
20:08:22.147506 IP 172.67.39.148.443> 10.0.2.15.54080: Zastave [.], ack 39, dobitak 65535, duljina 0
20:08:22.147510 IP 54.204.39.132.443> 10.0.2.15.43456: Zastave [.], ack 46, pobjeda 65535, duljina 0
20:08:22.202346 IP 216.58.209.142.443> 10.0.2.15.41050: Zastave [str.], seq 502925703: 502925826, ack 1203118935, win 65535, duljina 123
20:08:22.202868 IP 10.0.2.15.41050> 216.58.209.142.443: Zastave [Str.], seq 1:40, ack 123, win 65535, dužina 39

Razumijevanje zarobljenih rezultata

Tcpdump snima mnoge protokole, uključujući UDP, TCP, ICMP, itd. Ovdje ih nije lako pokriti. Međutim, važno je razumjeti kako se informacije prikazuju i koje parametre uključuju.

Tcpdump prikazuje svaki paket u retku, s vremenskom oznakom i informacijama u vezi s protokolom. Općenito, format TCP protokola je sljedeći:

. > .: , , , , ,

Objasnimo jedno od zarobljenih polja paketa po polja:

20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: Zastave [Str.], seq 1276027591: 1276027630, ack 544039114, win 63900, dužina 39
  • 20:08:22.146354: Vremenska oznaka uhvaćenog paketa
  • IP: Protokol mrežnog sloja.
  • 10.0.2.15.54080: Ovo polje sadrži izvornu IP adresu i izvorni port.
  • 172.67.39.148.443: Ovo polje predstavlja odredišnu IP adresu i broj porta.
  • Zastave [Str.] /: Zastavice predstavljaju stanje veze. U ovom slučaju, [str.] označava paket potvrde PUSH. Polje zastave također uključuje neke druge vrijednosti poput:
    1. S: SINH
    2. P: GURI
    3. [.]: ACK
    4. Ž: FIN
    5. [S.]: SYN_ACK
    6. R: RST
  • seq 1276027591: 1276027630: Redni broj u prvom: zadnji format označava broj podataka u paketu. Izuzimajući prvi paket u kojem su brojevi apsolutni, sljedeći paketi imaju relativne brojeve. U ovom slučaju, ovdje brojke znače da paket sadrži bajtove podataka od 1276027591 do 1276027630.
  • ack 544039114: Broj potvrde prikazuje sljedeći očekivani redni broj podataka.
  • win 63900: Veličina prozora prikazuje broj dostupnih bajtova u primljenom međuspremniku.
  • duljina 39: Duljina podataka o korisnom opterećenju, u bajtovima.

Napredni filtri

Sada možemo koristiti neke napredne opcije filtra zaglavlja za prikaz i analizu samo podatkovnih paketa. U bilo kojem TCP paketu, TCP zastave počinju od 14. bajta tako da PSH i ACK predstavljaju 4. i 5. bit.

Te podatke možemo koristiti uključivanjem ovih bitova 00011000 ili 24 za prikaz podatkovnih paketa sa samo PSH i ACK zastavicama. Taj broj prosljeđujemo tcpdumpu s filtrom "tcp [13] = 24“, Imajte na umu da indeks niza u TCP-u započinje s nulom.

Mi ćemo filtrirati ovaj paket iz našeg hvatanje teksta.pcap datoteku i koristite -A mogućnost prikaza svih detalja o paketu umjesto vas.

Slično tome možete pomoću nekih filtrirati neke druge pakete zastavica "Tcp [13] = 8" i "tcp [13] = 2" samo za PSH i SYN zastavice, itd.

ubuntu $ ubuntu: ~ $ sudo tcpdump -A 'tcp [13] = 24' -r / tmp / test_capture.pcap
čitanje iz datoteke / tmp / test_capture.pcap, tip veze EN10MB (Ethernet)
19:26:17.827902 IP ubuntu.53298> 32.121.122.34.prije Krista.googleusercontent.com.http: Zastave [Str.], seq. 4286571276: 4286571363, ack 252096002, win 64240, duljina 87: HTTP: GET / HTTP / 1.1
E…:?@[email protected].
... "zy .2.P… P… GET / HTTP / 1.1
Domaćin: provjera povezanosti.ubuntu.com
Prihvati: * / *
Veza: blizu

Zaključak

U ovom smo vam članku predstavili neke od najvažnijih tema tcpdumpa. Tcpdump, u kombinaciji sa snagom CLI-a, može biti od velike pomoći u rješavanju problema s mrežom, automatizaciji i upravljanju sigurnošću. Jednom proučeni i kombinirani, njegovi filtri i opcije naredbenog retka mogu puno doprinijeti vašim svakodnevnim zadacima rješavanja problema i automatizacije te ukupnom razumijevanju mreže.

Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...
Kako pojačati FPS u Linuxu?
FPS je kratica Okviri u sekundi. Zadatak FPS-a je mjerenje broja sličica u reprodukcijama video zapisa ili igranim izvedbama. Jednostavnim riječima, b...
Najpopularnije laboratorijske igre Oculus App
Ako ste vlasnik slušalica Oculus, tada morate biti sigurni u bočno učitavanje. Bočno učitavanje postupak je instaliranja nehranjenog sadržaja na vaše ...