Sicherheit

Netzwerk-Sniffen mit Wireshark und dem Raspberry Pi

Mitunter kann es sehr aufschlussreich sein, Datenströme im Netzwerk zu kontrollieren. Nicht etwa, um zu spionieren, sondern um Probleme aufzuspüren. Der Raspberry ist dafür ein perfektes Werkzeug.

Sniffing oder auf Deutsch „Schnüffeln“ hat ja immer etwas Halbseidenes. Tatsächlich ist das Beobachten von Datenpaketen im Netzwerk bei Böswilligkeit auch dazu geeignet, herauszufinden, was Menschen der Welt mitteilen oder mitgeteilt bekommen. Aber es ist letztlich wie dem berühmten Hammer oder Küchenmesser: auch das sind Werkzeuge, die normalerweise nutzbringend einsetzbar sind, aber eben auch zweckentfremdet werden können, um Schaden anzurichten. Gleiches gilt für eben jene Sniffing-Tools, die keineswegs nur dazu dienen, Kollegen oder Familienmitgliedern hinterherzuspionieren. Sie lassen sich in erster Linie einsetzen, um Probleme in Netzwerken aufzuspüren. Und zwar solche, die sich mit herkömmlichen Analyse-Programmen nicht unbedingt finden lassen. Beispielsweise lässt sich feststellen, ob einer oder mehrere Rechner im Netz auffällig viel Traffic verursachen. Das wiederum deutet womöglich darauf hin, dass man es hier mit Spambots zu tun hat oder aber mit jemandem, der Filesharing betreibt. Auch Latenzzeiten kann man mit manchen Tools feststellen. Das kann wichtig sein, wenn man sich über solche Dinge wie Quality of Service Gedanken machen muss, weil beispielsweise eine Anwendung priorisiert Daten transferieren muss. Vernünftige Gründe, sein Netzwerk zu überwachen, gibt es also durchaus und auch ohne böse Absichten.


Das Man-in-the-middle-Problem

Erschwert wird die Sicht auf die sinnvollen Aspekte des Sniffings leider durch einige Anleitungen im Netz, die den Sniffing-Computer als Man-in-the-middle-Device bezeichnen. Leider ist der Begriff mit einer bestimmten Form von Cyberattacken verknüpft, bei der Datenpakete abgefangen und manipuliert weitergegeben werden. Es ist also letztlich korrekter, von Monitoring oder Capturen im Promiscuous-Mode zu sprechen, weil es schlussendlich auch genau darum gehen soll. Und das ist zumindest in kleinen Netzwerken eine ideale Aufgabe für den Raspberry, weil er so unproblematisch überall einsetzbar ist.

Das richtige Werkzeug

Das wahrscheinlich bekannteste Tool zur Überwachung von Datenströmen ist Wireshark. Ursprünglich vor allem als Sniffer eingesetzt, erlangte es große Berühmtheit im Zuge des Wardrivings und der Aushebelung der WEP-Verschlüsselung bei WLANs. Allerdings gibt es heute sogar Lehrgänge, wie das Programm für Netzwerk-Monitoring verwendet wird. Es ist auch mit dem Raspberry nutzbar, beispielsweise unter Raspbian oder Noobs.

Zunächst sollte man mit

sudo apt-get update

und

sudo apt-get-upgrade

sein System auf den neuesten Stand bringen. Anschließend lässt man, sofern nicht von Anfang an geschehen, den Raspberry mit angeschlossenem WLAN-Stick neu starten, wenn die Überwachung drahtlos erfolgen soll, was, wie wir noch sehen werden, ausgesprochen sinnvoll ist.

Mit Root-Rechten hat Wireshark ein Problem...
Mit Root-Rechten hat Wireshark ein Problem...

Mit

sudo apt-get install wireshark

wird das Monitoring-Tool installiert, mit

sudo wireshark

startet man es. Das Erste, was wahrscheinlich passiert, ist das Aufpoppen einer Fehlermeldung, die am Ende „dofile has been disabled“ lautet. Man kann diese Meldung ignorieren, sie hängt mit der Rechtevergabe zusammen.

...und spuckt Fehlermeldungen aus
...und spuckt Fehlermeldungen aus

Mit

cd /usr/share/wireshark nano init.lua

und einer Änderung der Zeile 29 in

disable_lua = true

kann man das allerdings dahingehend korrigieren, dass man Wireshark dazu bringt, mit Superuser-Rechten zu laufen. Man wird zwar darauf hingewiesen, dass dies riskant sein kann, aber ohne größere Modifikationen bekommt man sonst keinen Zugriff auf die Netzwerk-Schnittstellen. Und ohne diesen Zugriff ist das Sniffen nicht möglich.