Fehler erschnĂĽffeln
Ob der Router sich ungewollt ins Internet einwählt, LAN-Verbindungen fehlschlagen oder Internet-Anwendungen sich seltsam verhalten – bei der Diagnose vieler Netzwerkprobleme hilft ein Netzwerk-Sniffer.
- Johannes Endres
Netzwerk-Sniffer besorgen sich alle Datenpakete direkt vom Treiber des Netzwerkadapters und protokollieren sie. Für fast alle Betriebssysteme gibt es eine große Auswahl solcher Programme. Spreu und Weizen trennen sich bei der Analyse des Protokolls. Hier helfen eine grafische Darstellung der Pakete, Decoder für möglichst viele Netzwerkprotokolle sowie Such- und Filterfunktionen dem Admin bei der Fehlersuche. Mit diesen Features kann das Open-Source-Programm Wireshark aufwarten.
Hardware aufsetzen
Der erste Schritt zur Netzwerkdiagnose ist, sich einen Rechner auszusuchen, auf dem der Netzwerk-Sniffer die Datenpakete erlauschen soll. Das Betriebssystem spielt kaum eine Rolle, denn Wireshark läuft unter fast allen, inklusive Windows, Mac OS X, und diversen Geschmacksrichtungen von Unix.
Wenn es gilt, den Datenverkehr eines bestimmten Rechners zu analysieren, liegt es nahe, Wireshark auf diesem laufen zu lassen. Allerdings greifen die zum Sniffen erforderlichen Systemaufrufe recht tief in den Netzwerk-Stack ein, sodass sich der Rechner eventuell anders verhält als ohne Wireshark. In diesen Fällen sollte ein zusätzlicher Rechner als Lauschstation agieren.
Es genügt jedoch nicht, diese Station mit an einen vorhandenen Switch zu hängen, denn der leitet an jeden seiner Ports nur die Datenpakete weiter, die für den daran angeschlossenen Rechner bestimmt sind. Eine separate Sniffer-Station bekommt also den Verkehr der anderen gar nicht zu sehen. Manche Profi-Switches haben deshalb einen "Monitoring Port", an den sie alle Pakete spiegeln, oder eine Konfigurationsoption, um einen der Ports so zu schalten. Bei den daheim üblichen Desktop-Switches sind solche Optionen selten.
Abhilfe schafft ein möglichst billiger 10-MBit-Hub, denn diese Geräte verbinden alle ihre Anschlüsse miteinander. Schon Dual-Speed-Hubs unterbinden das Sniffen oft, da sie die 10-MBit- und 100-MBit-Verbindungen meist voneinander trennen.
Software einspielen
Die zum Netzwerklauschen erforderliche Software besteht aus zwei Paketen, der Anwendung Wireshark und der pcap-Bibliothek, die sich um das eigentliche Sniffen kümmert. Für Windows enthält der Installer beide Teile, die Bibliothek WinPcap ist jedoch auch einzeln erhältich.
Unter Linux braucht man zunächst einen Kernel, der mit der Option "Packet socket" (CONFIG_PACKET) übersetzt wurde. Für die Standard-Kernels der Distributionen trifft dies zu. Auch Wireshark und libpcap gehören zum Lieferumfang der aktuellen Distributionen. Allerdings gab es in manchen Versionen Sicherheitslücken. Für das rpm-System besteht Wireshark aus mehreren Dateien: wireshark-base enthält den Kern des Systems, wireshark-gtk+ das grafische Frontend und wireshark-usermode Dateien, die es ermöglichen, Wireshark aufzurufen, ohne als root eingeloggt zu sein. Einige Distributionen führen das Programm auch noch unter seinem alten Namen Ethereal.
Um dem Netzwerkkartentreiber auf unterster Ebene alle Pakete zu entreißen, sind in jedem System die höchsten Zugriffsrechte erforderlich. Bei den professionellen Windows-Versionen NT, 2000 und XP muss man beim Aufruf mit einem Administrator-Account angemeldet sein oder zuvor eine Verknüpfung mit dem Programm anlegen und in deren "Erweiterten Eigenschaften" die Option "Unter anderen Anmeldeinformationen ausführen" aktivieren.