Netzwerk-Verkehr mit dem Raspberry Pi aufzeichnen (tcpdump)

Ein Raspberry Pi, der als Man-in-the-Middle konfiguriert ist soll den Netzwerk-Verkehr aufgezeichnen. Beispielsweise um Fehler in einer Netzwerk-Kommunikation zu finden. Der Datenverkehr soll in eine Datei geschrieben werden, um sie später mit Wireshark auszuwerten.

Aufgabe

  1. Zeichnen sie den Datenverkehr per Man-in-the-Middle auf.
  2. Werten Sie die Datei mit Wireshark aus.

Lösung mit tcpdump

Diese Lösung setzt voraus, dass man sich einen Raspberry Pi zu einem Man-in-the-Middle konfiguriert hat. Prinzipiell kann man diese Aufgabe auch mit anderen Konfigurationen lösen.

Grundsätzlich sollte man beachten, dass beim Mitschneiden von Datenverkehr durchaus sehr große Datenmengen anfallen können. Deshalb sollte man sich vorher überlegen, was und wie viel man aufzeichnen möchte.
Ein erster Versuch sollte auf eine maximale Anzahl an Paketen begrenzt sein, damit man sehen kann, was einen erwartet:

sudo tcpdump -c 10

Oder mit der Beschränkung auf einen bestimmten Port:

sudo tcpdump -i wlan0

Möchte man die Daten erfassen, kann man sie im Pcap-Format in eine Datei schreiben:

sudo tcpdump -i wlan0 -p -w tcpdump.pcap

Normalerweise werden nur die ersten 68 Byte von sämtlichen Paketen mitgeschnitten. Wenn das nicht reicht, kann man mit dem Parameter "-s ..." die Paketgröße erweitern oder mit "–s0" vollständig aufzeichnen. Ein guter Wert ist "-s 96" (Byte).

Wenn man alles aufzeichnen möchte, dann sollte man berücksichtigen, dass wenn jemand gerade einen Download durchführt, der 2 GByte groß ist, dass dann die Daten alle in der Datei landen. Das kann schnell den Speicher verstopfen, was man nicht unbedingt will.

Damit die aufgezeichnete Datei nicht unendlich groß wird, kann man die Dateigröße auf eine handhabbare Größe beschränken:

tcpdump -n -i eth0 -s 96 -C 100 -W 15 -w tcpdump.pcap

Übersicht der Parameter:

  • -n ... keine DNS Auflösung (kostet Zeit)
  • -i ... Interface (z. B. eth0 oder wlan0)
  • -s ... Aufgezeichnete Paket Info (96 reicht für die TCP/IP Header)
  • -C ... max. Größe des Files (in MByte)
  • -W ... Anzahl der erstellen Files
  • -w ... Dateiname

Zusätzlich gibt es die Möglichkeit, die Datenausgabe von "tcpdump" mit Filtern einzuschränken.

Hinweis: Das Netzwerk-Tool "tcpdump" ist dafür gedacht Datenverkehr anzuzeigen oder aufzuzeichnen. Beispielsweise um Abläufe in einem Netzwerk zu verstehen, Netzwerke zu analysieren, Fehler zu suchen, aber auch um Daten aufzuzeichnen. Man kann also sowohl Gutes als auch Böses mit "tcpdump" tun. Es empfiehlt sich mit "tcpdump" verantwortungsvoll umzugehen.

Um die aufgezeichneten Daten auszuwerten empfiehlt sich das Netzwerk-Tool Wireshark.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!