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
- Zeichnen sie den Datenverkehr per Man-in-the-Middle auf.
- 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.