TCPDUMP -kommandoeksempler og opplæring

TCPDUMP -kommandoeksempler og opplæring
Hvis arbeidet ditt stort sett avhenger av internett, er det veldig vanlig å ha nettverksproblemer. Å løse og feilsøke disse nettverksproblemene er en utfordrende oppgave. I en slik situasjon kommer "TCPDump" -verktøyet inn i spillet.

"TCPDump" er en pakkeanalysator og brukes til å diagnostisere og analysere nettverksproblemer. Den fanger nettverkstrafikken som går gjennom enheten din og ser over den. "TCPDump" -verktøyet er et kraftig verktøy for å feilsøke nettverksproblemer. Det kommer med mange alternativer, noe som gjør det til et allsidig kommandolinjeverktøy for å fikse nettverksproblemer.

Dette innlegget er en detaljert guide om "TCPDump" -verktøyet som inkluderer dets installasjon, vanlige funksjoner og bruk med forskjellige alternativer. La oss starte med installasjonen:

Hvordan installere “TCPDump”:

I mange distribusjoner kommer "tcpdump" ut av boksen, og for å sjekke den, bruk:

$ hvilken tcpdump

Hvis den ikke finnes i distribusjonen din, må du installere den ved hjelp av:

$ sudo apt install tcpdump

Kommandoen ovenfor vil bli brukt til debianbaserte distribusjoner som Ubuntu og Linuxmint. For “Redhat” og “Centos”, bruk:

$ sudo dnf installer tcpdump

Hvordan fange pakker med tcpdump:

Ulike grensesnitt kan brukes til å fange pakker. For å få en liste over grensesnitt, bruk:

$ sudo tcpdump -d

Eller bare bruk "hvilken som helst" med “TCPDump” -kommandoen for å hente pakker fra det aktive grensesnittet. For å begynne pakkefangstbruk:

$ sudo tcpdump -grensesnitt noen

Kommandoen ovenfor er å spore pakker fra alle aktive grensesnitt. Pakkene vil kontinuerlig bli grepet til det får en avbrudd fra brukeren (CTRL-C).

Vi kan også begrense antall pakker som skal fanges opp ved hjelp av “-c” -flagget som betegner “Count.”For å fange 3 pakker, bruk:

$ sudo tcpdump -i hvilken som helst -c3

Kommandoen ovenfor er nyttig for å filtrere en spesifikk pakke. Feilsøking av tilkoblingsproblemene krever dessuten bare noen få innledende pakker som skal fanges opp.

tcpdump”Kommando fanger opp pakker med IP- og portnavn som standard, men for å rydde opp, rotet og gjøre utdataene lettere å forstå; Navnene kan deaktiveres ved hjelp av "-n”Og“-nn”For portalternativet:

$ sudo tcpdump -i hvilken som helst -c3 -nn

Som vist i output ovenfor, er IP- og portnavnene blitt tatt ut.

Hvordan forstå informasjon om en fanget pakke:

For å lære om de forskjellige feltene i en fanget pakke, la oss ta et eksempel på en TCP -pakke:

En pakke kan ha forskjellige felt, men de generelle vises ovenfor. Det første feltet, “09:48:18.960683,”Representerer en tid hvor pakken mottas. Neste kommer IP -adresser; den første IP [216.58.209.130] er kilden IP og den andre IP [10.0.2.15.55812] er destinasjonen IP. Da får du flagget [P.]; En liste over typiske flagg er gitt nedenfor:

Flagg Type Beskrivelse
“.” Ack Betyr anerkjennelse
S Syn Flagg for å starte en tilkobling
F Fin Flagg for en lukket forbindelse
P TRYKK Indikerer trykk på data fra avsenderen
R RST Tilkoblings tilbakestilling

Og neste kommer sekvensnummer "SEQ 185: 255”. Klienten og serveren bruker begge 32-bits sekvensnummer for å vedlikeholde og overvåke data.

Ack”Er et flagg; Hvis det er 1, betyr det at kvitteringsnummeret er gyldig, og mottakeren forventer neste byte.

Vindusnummeret indikerer bufferstørrelsen. “Vinn 65535”Betyr datamengden som kan bufferes.

Og til slutt kommer lengden [70] av pakken i byte som er en forskjell på “185: 255”.

Filtrering av pakker for å fikse nettverksproblemene:

"TCPDump" -verktøyet fanger hundrevis av pakker, og de fleste av dem er av mindre betydning, noe som gjør det mye sammensatt å få ønsket informasjon for feilsøking. I dette tilfellet vil filtreringen spille sin rolle. For eksempel, mens du feilsøker hvis du ikke er interessert i en bestemt type trafikk, kan du filtrere den ved å bruke "TCPDump", som følger med filtreringspakker i henhold til IP -adresser, porter og protokoller.

Hvordan fange en pakke ved hjelp av vertsnavn med TCPDUMP -kommando:

Bruk bare pakken fra en bestemt vert: bruk:

$ sudo tcpdump -i hvilken som helst -c4 vert 10.0.2.15

Hvis du bare vil få enveis trafikk, så bruk "src”Og“dst”Alternativer i stedet for“vert.”

Hvordan fange en pakke ved hjelp av portnummer med TCPDUMP -kommando:

For å filtrere pakker med portnummeret, bruk:

$ sudo tcpdump -i hvilken som helst -c3 -nn port 443

“443” er HTTPS -portnummeret.

Hvordan fange en pakke ved hjelp av protokollen med TCPDUMP -kommandoen:

Med “TCPDump” -kommandoen kan du filtrere pakker i henhold til hvilken som helst protokoll som UDP, ICMP, ARP, etc. Bare skriv inn protokollnavnet:

$ sudo tcpdump -i any -c6 udp

Ovennevnte kommandoer vil bare fange pakker som tilhører “UDP” -protokollen.

Hvordan kombinere filtreringsalternativer ved hjelp av logiske operatører:

Ulike filtreringsalternativer kan kombineres ved hjelp av logiske operatører som “og/eller”:

$ sudo tcpdump -i hvilken som helst -c6 -nn vert 10.0.2.15 og port 443

Hvordan lagre fangede data:

De fangede dataene kan lagres i en fil for å overvåke dem senere, og for det "-w" -alternativet vil bli brukt, og "w" betyr "skriv":

$ sudo tcpdump -i hvilken som helst -c5 -w packetdata.PCAP

Utvidelsen av filen ville være “.PCAP, ”som står for“ Packet Capture.”Når fangsten er ferdig, vil filen bli lagret i din lokale stasjon. Denne filen kan ikke åpnes eller leses ved hjelp av noe tekstredigeringsprogram. For å lese den, bruk "-r”Flagg med“ TCPDump ”:

$ tcpdump -r packetdata.PCAP

Konklusjon:

"TCPDump" er et verdifullt og fleksibelt verktøy for å fange og analysere nettverkstrafikk for å feilsøke nettverksproblemer. Denne guideens oppmerksomhetspunkt er å lære den grunnleggende og avanserte bruken av “TCPDump” kommandolinjeverktøyet. Men hvis du synes det er vanskelig, er det et mindre komplekst GUI-basert program kalt "Wireshark", som gjør stort sett den samme jobben, men med forskjellige tilleggsfunksjoner.