"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.