Met het Linux-commando tcpdump kunt u pakketten ana­ly­se­ren die binnen uw netwerk worden verzonden. Er zijn talrijke opties en filters be­schik­baar om deze analyse verder te op­ti­ma­li­se­ren.

Wat is Linux tcpdump?

Voor het ana­ly­se­ren van uw net­werk­ver­keer op Linux en het mogelijk oplossen van net­werk­pro­ble­men is tcpdump een waar­de­vol­le optie. Het com­man­do­re­gel­pro­gram­ma is vooraf ge­ïn­stal­leerd op bijna alle gangbare Linux-dis­tri­bu­ties, zoals Debian of Ubuntu, en verzendt in­for­ma­tie over da­tapak­ket­ten die op uw netwerk worden verzonden of ontvangen. Ondanks zijn naam is Linux tcpdump niet alleen geschikt voor TCP-pakketten, maar kan het ook UDP- en ICMP-pakketten ana­ly­se­ren. Om het commando te gebruiken, hebt u echter root-rechten nodig.

Hoe werkt het tcpdump-commando?

De analyse die door tcpdump wordt uit­ge­voerd, wordt ge­woon­lijk ‘sniffing’ genoemd. Met het Linux-commando tcpdump kunt u de net­werk­in­ter­fa­ce spe­ci­fi­ce­ren die door het programma moet worden ge­mo­ni­t­ord. Om het proces aan te passen en te op­ti­ma­li­se­ren, biedt tcpdump een breed scala aan filters. Het commando wordt uit­ge­voerd op de op­dracht­re­gel en de re­sul­te­ren­de analyse wordt dien­over­een­kom­stig weer­ge­ge­ven.

Wat is de syntaxis van tcpdump?

De syntaxis van Linux tcpdump is heel eenvoudig en ziet er als volgt uit:

$ tcpdump [Options] [Filter]
bash

Hoewel het spe­ci­fi­ce­ren van opties niet verplicht is, wordt het aan­be­vo­len om ervoor te zorgen dat tcpdump de juiste net­werk­in­ter­fa­ce in aan­mer­king neemt. Daarnaast is het gebruik van filters optioneel, maar zeer nuttig. Zonder filters ana­ly­seert tcpdump alle pakketten van alle hosts, wat al snel over­wel­di­gend en ver­war­rend kan worden.

Wat zijn de opties en filters van het Linux-commando tcpdump?

Er zijn talrijke opties en filters voor tcpdump. De be­lang­rijk­ste zijn:

  • -A: Geeft de inhoud van een pakket weer als ASCII.
  • -c [Aantal]: tcpdump wordt au­to­ma­tisch beëindigd wanneer een bepaald aantal pakketten is ge­a­na­ly­seerd.
  • -D: Met deze optie worden alle be­schik­ba­re in­ter­fa­ces weer­ge­ge­ven.
  • -i [Interface]: Met deze optie bepaalt u welke interface moet worden ge­re­gi­streerd.
  • -s [Hoe­veel­heid]: Deze optie bepaalt hoeveel bytes per pakket moeten worden ge­re­gi­streerd.

Je kunt deze filters gebruiken voor tcpdump:

  • dst: Alleen pakketten waarvan de be­stem­ming de opgegeven waarde heeft, worden ge­par­seerd. Dit kan host, net, port of portrange zijn.
  • host: Het filter zorgt ervoor dat alleen pakketten in aan­mer­king worden genomen die een specifiek IP-adres of een spe­ci­fie­ke hostnaam als bron of be­stem­ming hebben.
  • net: Dit filter houdt alleen rekening met pakketten die een IP-adres uit een opgegeven net­werk­be­reik als bron of be­stem­ming hebben.
  • port: Gebruik dit filter om een spe­ci­fie­ke poort tussen 0 en 65535 op te geven die uit­slui­tend moet worden ge­a­na­ly­seerd.
  • portrange: Dit filter bevat een poort­be­reik tussen 0 en 65535.
  • proto: Dit filter houdt alleen rekening met pakketten met een specifiek net­werk­pro­to­col. Het filter kan de volgende waarden hebben: arp, decnet, ether, fddi, ip, ip6, rarp, tcp, udp of wlan.
  • src: Om pakketten te ana­ly­se­ren op basis van spe­ci­fie­ke criteria, zoals host, netwerk, poort of poort­be­reik.

Voor­beel­den voor het gebruik van het tcpdump-commando

Tot slot laten we u zien hoe u tcpdump kunt gebruiken. In onze voor­beel­den gebruiken we het Linux-commando sudo.

$ sudo tcpdump -D
bash

Con­tro­leer welke net­werk­in­ter­fa­ces be­schik­baar zijn.

$ sudo tcpdump -i wlx14a3c782966b
bash

Analyseer alleen de interface met de opgegeven naam.

$ sudo tcpdump -c 5 -i wlx14a3c782966b
bash

Door dit te doen, zorgt u ervoor dat tcpdump slechts vijf pakketten opneemt.

Ga naar hoofdmenu