L4L.be

...because open source matters

  • Increase font size
  • Default font size
  • Decrease font size

TCPdump

E-mail Print PDF

Tcpdump is een utility om het netwerk verkeer te monitoren, ideaal voor debugging doeleinden dus.

Let er op dat je root moet zijn om alles te kunnen zien, dat heeft te maken met de mode waarin je netwerkkaart moet staan (promiscuoes mode).

Alles zien ?

Als je gewoon tcpdump start zonder enige parameter, dan zul je al snel stapelgek worden van alle informatie die je te zien krijgt, zeker als je ook nog eens 'verbose' toevoegt (-v of zelfs -vv). Gelukkig kun je filteren...

Het is een zeer uitgebreide en krachtige tool, deze handleiding is bedoeld om je op weg te helpen, en zal voor de meeste doeleinden voldoen. Ook de manpage (man tcpdump) is zeer informatief.

Overigens moet je tcpdump uitvoeren met root-rechten !

Interface

Standaard luistert tcpdump op eth0, met de -i parameter kun je de interface meegeven waarop geluisterd moet worden.

Voorbeelden van en naar

Als je al het verkeer wilt zien wat binnenkomt op jouw pc, gebruik dan niet 127.0.0.1 als ip adres, maar een ip adres wat geconfigureerd is op een netwerkkaart. Je kunt ook op interface werken, met de -i parameter waarna je de netwerkkaart opgeeft, maar ik werk liever op ip adressen, dat schept meer duidelijkheid.

tcpdump 192.168.1.180

Dit geeft natuurlijk nogal veel informatie, maar het wordt al beter/leesbaarder. Stel ik wil alleen de informatie tussen mij een specifieke host:

tcpdump src 192.168.1.180 and dst 192.168.1.1

Let wel op, het gaat hier om die pakketten waar 192.168.1.1 (in dit voorbeeld mijn router) het eind adres is. Je ziet wel verkeer verschijnen als je bijvoorbeeld de configuratie pagina van de router opvraagt, maar niet als je naar een smtp server ofzo gaat.

Voorbeelden op protocol

Nog steeds krijg je wel behoorlijk veel informatie op deze manier, dus gaan we filteren op protocol. Stel ik wil ftp verkeer debuggen.

tcpdump host 192.168.1.180 and port 21

In plaats van de poort zelf mag je ook de naam geven, mits die in /etc/services staat.

Output opslaan

Uiteraard is het handig om het verkeer op te slaan, zodat je het beter kunt bestuderen:

tcpdump host 192.168.1.180 -Uw test.dump

Als je dit echter wilt bekijken, gaat dat niet zomaar, het is in een speciaal formaat. Je kunt het lezen met:

tcpdump -r test.dump