Hur man använder Linux-kommandot tcpdump
Med Linux-kommandot tcpdump kan du analysera paket som skickas inom ditt nätverk. Det finns många alternativ och filter som kan användas för att ytterligare optimera denna analys.
Vad är Linux tcpdump?
För att analysera din nätverkstrafik på Linux och eventuellt åtgärda nätverksproblem är tcpdump ett värdefullt alternativ. Kommandoradsprogrammet är förinstallerat på nästan alla vanliga Linux-distributioner, t.ex. Debian eller Ubuntu, och överför information om datapaket som skickas eller tas emot på ditt nätverk. Trots sitt namn är Linux tcpdump inte bara lämpligt för TCP-paket, utan kan också analysera UDP- och ICMP-paket. För att kunna använda kommandot behöver du dock root-behörighet.
Hur fungerar kommandot tcpdump?
Den analys som utförs av tcpdump kallas vanligtvis för ”sniffing”. Med Linux-kommandot tcpdump kan du ange vilket nätverksgränssnitt programmet ska övervaka. För att anpassa och optimera processen erbjuder tcpdump ett brett utbud av filter. Kommandot körs på kommandoraden och den resulterande analysen visas därefter.
Vad är syntaxen för tcpdump?
Syntaxen för Linux tcpdump är mycket enkel och ser ut så här:
$ tcpdump [Options] [Filter]bashDet är inte obligatoriskt att ange alternativ, men det rekommenderas för att säkerställa att tcpdump använder rätt nätverksgränssnitt. Det är dessutom valfritt att använda filter, men det är mycket fördelaktigt. Utan filter analyserar tcpdump alla paket från alla värdar, vilket snabbt kan bli överväldigande och förvirrande.
Vilka alternativ och filter finns det för kommandot tcpdump i Linux?
Det finns många alternativ och filter för tcpdump. De viktigaste är:
- -A: Skriver ut innehållet i ett paket som ASCII.
- -c [Antal]: tcpdump avslutas automatiskt när ett visst antal paket har analyserats.
- -D: Med detta alternativ listas alla tillgängliga gränssnitt.
- -i [Gränssnitt]: Med detta alternativ bestämmer du vilket gränssnitt som ska registreras.
- -s [Mängd]: Detta alternativ avgör hur många byte som ska registreras per paket.
Du kan använda dessa filter för tcpdump:
- dst: Endast paket vars destination har det angivna värdet analyseras. Detta kan vara värd, nätverk, port eller portintervall.
- host: Filtret säkerställer att endast paket som har en specifik IP-adress eller alternativt ett specifikt värdnamn som källa eller destination beaktas.
- net: Detta filter tar endast hänsyn till paket som har en IP-adress från ett angivet nätverksintervall som källa eller destination.
- port: Använd detta filter för att ange en specifik port mellan 0 och 65535 som ska analyseras exklusivt.
- portrange: Detta filter innehåller ett portintervall mellan 0 och 65535.
- proto: Detta filter tar endast hänsyn till paket med ett specifikt nätverksprotokoll. Filtret kan ha följande värden: arp, decnet, ether, fddi, ip, ip6, rarp, tcp, udp eller wlan.
- src: För att analysera paket baserat på specifika kriterier såsom värd, nätverk, port eller portintervall.
Exempel på användning av kommandot tcpdump
Slutligen visar vi hur du använder tcpdump. I våra exempel använder vi Linux-kommandot sudo.
$ sudo tcpdump -DbashKontrollera vilka nätverksgränssnitt som är tillgängliga.
$ sudo tcpdump -i wlx14a3c782966bbashAnalysera endast gränssnittet med det angivna namnet.
$ sudo tcpdump -c 5 -i wlx14a3c782966bbashGenom att göra detta får du tcpdump att endast inkludera fem paket.