“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. Den 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 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 det, bruk:
$ som tcpdump
Hvis det ikke finnes i distribusjonen din, installerer du den ved hjelp av:
$ sudo apt installere tcpdumpOvennevnte kommando vil bli brukt til Debian-baserte distribusjoner som Ubuntu og LinuxMint. For “Redhat” og “CentOS”, bruk:
$ sudo dnf installere tcpdumpHvordan 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 bruk av pakkefangst:
$ sudo tcpdump - grensesnitt noen
Ovennevnte kommando sporer pakker fra alle de aktive grensesnittene. Pakkene vil kontinuerlig bli tatt til de får avbrudd fra brukeren (ctrl-c).
Vi kan også begrense antall pakker som skal fanges ved hjelp av "-c" -flagget som betyr "antall.”For å fange tre pakker, bruk:
$ sudo tcpdump -i hvilken som helst -c3
Ovennevnte kommando er nyttig for å filtrere en bestemt pakke. Videre krever feilsøking av tilkoblingsproblemene bare noen få innledende pakker som skal fanges.
“tcpdump”Kommandoen fanger pakker med IP- og portnavn som standard, men for å rydde opp, rotet og gjøre utdata lettere å forstå; navnene kan deaktiveres ved hjelp av “-n”Og”-nn”For portalternativet:
$ sudo tcpdump -i hvilken som helst -c3 -nn
Som vist i ovenstående utgang, har IP- og portnavnene blitt tatt ut.
Slik forstår du 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 da pakken mottas. Deretter kommer IP-adresser; den første IP-adressen [216.58.209.130] er IP-kilden og den andre IP [10.0.2.15.55812] er destinasjonens IP. Så får du flagget [P.]; en liste over typiske flagg er gitt nedenfor:
Flagg | Type | Beskrivelse |
“.” | ACK | Betegner anerkjennelse |
S | SYN | Flagg for å starte en forbindelse |
F | FIN | Flagg for en lukket forbindelse |
P | TRYKK | Indikerer skyv av data fra avsenderen |
R | RST | Tilbakestilling av tilkobling |
Og neste kommer sekvensnummer “seq 185: 255”. Klienten og serveren bruker begge 32-biters sekvensnummer for å vedlikeholde og overvåke data.
“ack”Er et flagg; hvis det er 1, betyr det at bekreftelsesnummeret er gyldig, og mottakeren forventer neste byte.
Vindusnummeret angir bufferstørrelsen. “vinn 65535”Betyr mengden data som kan buffres.
Og til slutt kommer lengden [70] av pakken i byte som er en forskjell på “185: 255”.
Filtrering av pakker for å løse nettverksproblemene:
“Tcpdump” -verktøyet fanger hundrevis av pakker, og de fleste av dem er av mindre betydning, noe som gjør det mye komplisert å 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 hjelp av "tcpdump", som følger med filtreringspakker i henhold til IP-adresser, porter og protokoller.
Slik fanger du en pakke ved hjelp av vertsnavn med tcpdump-kommando:
For å få pakken bare fra en bestemt vert, bruk:
$ sudo tcpdump -i hvilken som helst -c4 vert 10.0.2.15
Hvis du bare vil få enveis trafikk, bruker du “src”Og”dst”Alternativer i stedet for“vert.”
Slik fanger du en pakke ved hjelp av portnummer med tcpdump-kommando:
For å filtrere pakker med portnummer, bruk:
$ sudo tcpdump -i hvilken som helst -c3 -nn port 443
“443” er HTTPS-portnummeret.
Slik fanger du en pakke ved hjelp av protokollen med tcpdump-kommando:
Med kommandoen “tcpdump” kan du filtrere pakker i henhold til hvilken som helst protokoll som udp, icmp, arp, etc. Bare skriv inn protokollnavnet:
$ sudo tcpdump -i hvilken som helst -c6 udp
Ovennevnte kommandoer fanger bare pakker som hører til “udp” -protokollen.
Slik kombinerer du filtreringsalternativer ved hjelp av logiske operatorer:
Ulike filtreringsalternativer kan kombineres ved hjelp av logiske operatorer som “og / eller”:
$ sudo tcpdump -i hvilken som helst -c6 -nn vert 10.0.2.15 og port 443
Slik lagrer du innsamlede data:
De hentede dataene kan lagres i en fil for å overvåke dem senere, og for at “-w” alternativet vil bli brukt, og “w” betyr “skriv”:
$ sudo tcpdump -i hvilken som helst -c5 -w pakkeData.pcap
Forlengelsen av filen vil være “.pcap, "som står for" pakkefangst.”Når opptaket er gjort, blir filen lagret på din lokale stasjon. Denne filen kan ikke åpnes eller leses ved hjelp av noe tekstredigeringsprogram. For å lese den bruker du “-r”Flagg med“ tcpdump ”:
$ tcpdump -r packetData.pcap
Konklusjon:
“Tcpdump” er et verdifullt og fleksibelt verktøy for å fange opp og analysere nettverkstrafikk for å feilsøke nettverksproblemer. Denne veiledningens oppmerksomhet er å lære den grunnleggende og avanserte bruken av kommandolinjeprogrammet “tcpdump”. Men hvis du synes det er vanskelig, så er det et mindre komplekst GUI-basert program kalt "Wireshark", som gjør omtrent den samme jobben, men med forskjellige tilleggsfunksjoner.