Med Linux-kommandot tcpdump kan du analysera paket som skickas inom ditt nätverk. Det finns många al­ter­na­tiv och filter som kan användas för att yt­ter­li­ga­re optimera denna analys.

Vad är Linux tcpdump?

För att analysera din nät­verk­stra­fik på Linux och even­tu­ellt åtgärda nät­verks­pro­blem är tcpdump ett vär­de­fullt al­ter­na­tiv. Kom­man­do­rads­pro­gram­met är förinstal­le­rat på nästan alla vanliga Linux-dis­tri­bu­tio­ner, t.ex. Debian eller Ubuntu, och överför in­for­ma­tion 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-be­hö­rig­het.

Hur fungerar kommandot tcpdump?

Den analys som utförs av tcpdump kallas van­ligt­vis för ”sniffing”. Med Linux-kommandot tcpdump kan du ange vilket nät­verks­gräns­snitt pro­gram­met ska övervaka. För att anpassa och optimera processen erbjuder tcpdump ett brett utbud av filter. Kommandot körs på kom­man­do­ra­den och den re­sul­te­ran­de 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]
bash

Det är inte ob­li­ga­to­riskt att ange al­ter­na­tiv, men det re­kom­men­de­ras för att sä­ker­stäl­la att tcpdump använder rätt nät­verks­gräns­snitt. Det är dessutom valfritt att använda filter, men det är mycket för­del­ak­tigt. Utan filter ana­ly­se­rar tcpdump alla paket från alla värdar, vilket snabbt kan bli över­väl­di­gan­de och för­vir­ran­de.

Vilka al­ter­na­tiv och filter finns det för kommandot tcpdump i Linux?

Det finns många al­ter­na­tiv och filter för tcpdump. De vik­ti­gas­te är:

  • -A: Skriver ut in­ne­hål­let i ett paket som ASCII.
  • -c [Antal]: tcpdump avslutas au­to­ma­tiskt när ett visst antal paket har ana­ly­se­rats.
  • -D: Med detta al­ter­na­tiv listas alla till­gäng­li­ga gräns­snitt.
  • -i [Gräns­snitt]: Med detta al­ter­na­tiv bestämmer du vilket gräns­snitt som ska re­gi­stre­ras.
  • -s [Mängd]: Detta al­ter­na­tiv avgör hur många byte som ska re­gi­stre­ras per paket.

Du kan använda dessa filter för tcpdump:

  • dst: Endast paket vars des­ti­na­tion har det angivna värdet ana­ly­se­ras. Detta kan vara värd, nätverk, port eller portin­ter­vall.
  • host: Filtret sä­ker­stäl­ler att endast paket som har en specifik IP-adress eller al­ter­na­tivt ett specifikt värdnamn som källa eller des­ti­na­tion beaktas.
  • net: Detta filter tar endast hänsyn till paket som har en IP-adress från ett angivet nät­verk­sin­ter­vall som källa eller des­ti­na­tion.
  • port: Använd detta filter för att ange en specifik port mellan 0 och 65535 som ska ana­ly­se­ras exklusivt.
  • portrange: Detta filter in­ne­hål­ler ett portin­ter­vall mellan 0 och 65535.
  • proto: Detta filter tar endast hänsyn till paket med ett specifikt nät­verks­pro­to­koll. 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 portin­ter­vall.

Exempel på an­vänd­ning av kommandot tcpdump

Slutligen visar vi hur du använder tcpdump. I våra exempel använder vi Linux-kommandot sudo.

$ sudo tcpdump -D
bash

Kon­trol­le­ra vilka nät­verks­gräns­snitt som är till­gäng­li­ga.

$ sudo tcpdump -i wlx14a3c782966b
bash

Analysera endast gräns­snit­tet med det angivna namnet.

$ sudo tcpdump -c 5 -i wlx14a3c782966b
bash

Genom att göra detta får du tcpdump att endast inkludera fem paket.

Gå till huvudmeny