PO-3879-Fotolia-Michele_Goglio-shark_graffiti.jpg

© fotolia, Michele Goglio

Effektiver Räuber

Probleme im Netz aufspüren mit Wireshark

22.01.2009
Treten im heimischen oder Firmennetz Probleme auf, schlägt die Stunde der Protokollanalysatoren. Wireshark spürt Engpässe im LAN schnell und zuverlässig auf.

Rechner, die mit einem Netzwerk verbunden sind, senden und empfangen permanent Daten. Dabei spielt es keine Rolle, ob das gesamte Netz nur aus wenigen isolierten Computern besteht, oder fremde Maschinen aus dem weltumspannenden Internet mit dem heimischen PC kommunizieren. Nicht nur jede Aktivität des Anwenders generiert Daten, sondern auch die Netzwerkinfrastruktur selbst "spricht" im Verborgenen ohne Zutun der Nutzer miteinander: beispielsweise in Gestalt so genannter Broadcasts oder Beacons.

Neben erwünschten und harmlosen Daten mischen sich dabei in zunehmendem Umfang auch Spionage- und Schadprogramme unter die übertragenen Bits und Bytes, die nicht nur das Surfverhalten der Anwender ausspionieren, sondern auch mithilfe verdeckter Kommunikation die Fernsteuerung eines kompromittierten Rechners zulassen, ohne dass der arglose Nutzer im normalen Betrieb etwas davon bemerkt.

Das freie Betriebssystem Linux ist zwar aufgrund seiner durchdachten Architektur insbesondere gegen spezielle Schadsoftware wie Trojaner oder auch Würmer von Haus aus wesentlich besser gewappnet als andere Systeme, jedoch nicht völlig immun dagegen. Spätestens dann, wenn anomale Erscheinungen an einem Rechner oder in einem Netzwerk auftreten, ist es ratsam, die entsprechenden Datenströme zu protokollieren, um sie später nachvollziehen und analysieren zu können.

Diese Aufgabe übernehmen so genannte Netzwerk-Protokollanalysatoren, die man umgangssprachlich auch gern salopp als Sniffer bezeichnet. Der bekannteste und wohl auch umfassendste Sniffer unter Linux ist das Programm Wireshark (http://www.wireshark.org), das inzwischen aufgrund seiner Qualität zum Quasi-Standard bei der Beobachtung und Analyse des Netzwerkverkehrs avanciert ist.

Erste Schritte

Wireshark findet sich mittlerweile in den Repositories nahezu aller größeren Linux-Distributionen, sodass Sie ihn bequem mit den jeweiligen Paketmanagern installieren. Sollten Sie eine weniger verbreitete oder ältere Distribution nutzen und Wireshark hier nicht vorfinden, so können Sie den Analysator im Quellcode herunterladen und selbst übersetzen.

Die Installationsroutine legt unter allen gängigen Oberflächen entsprechende Menüeinträge an, sodass Sie Wireshark meist bequem via Mausklick starten. Es öffnet sich ein großes Fenster (Abbildung 1) mit einer Menüzeile am oberen Rand und darunter einer über die gesamte Breite des Fensters reichenden Symbolleiste, die den wichtigsten grundlegenden Einstellungen dient.

Unter der Symbolleiste findet sich eine Zeile mit einem Eingabefeld für verschiedene Filter. Den meisten Platz nehmen jedoch drei große, zunächst noch leere Fenster im unteren Bereich ein. Im oberen dieser drei Fenster zeichnet Wireshark die Datenpakete übersichtlich und auf Wunsch bereits farbig markiert auf (Abbildung 1, (1)), während er im mittleren Bereich die einzelnen Protokolle und deren Feldinhalte anzeigt (2). Das untere Fenster zeigt schließlich hexadezimal und als ASCII-Code den Paketinhalt an (3).

Abbildung 1: Umfassende Informationen liefert Wireshark bereits im Hauptfenster.

Capture-Optionen

Links in der Symbolleiste sind drei kleine Elektronikplatinen symbolisch dargestellt. Klicken Sie auf das mittlere dieser Platinensymbole (Abbildung 1, (a)), so öffnet sich ein Dialog mit den wesentlichsten Optionen für die Analyse (Abbildung 2): Hier legen Sie fest, an welchem Netzwerkinterface Wireshark lauschen soll, in welcher Datei das Protokoll lagert, und ob der Mitschnitt des Datenaufkommens mengenmäßig begrenzt wird oder nur über einen fest definierten Zeitraum stattfindet.

Abbildung 2: Grundeinstellungen werden bei Wireshark in nur einem Fenster vorgenommen.

Auch verschiedene Filtereinstellungen nehmen Sie hier vor. Schließlich legen Sie durch das Aktivieren eines Häkchens fest, ob das gewählte Interface im sogenannten Promiscuous Mode betrieben werden soll. Diese Option müssen Sie aktivieren, um im Netzwerk den gesamten Datenverkehr mitzuschneiden, da Wireshark ansonsten nur diejenigen Datenpakete zu Gesicht bekommt, die die gewählte Netzwerkschnittstelle direkt betreffen.

Als Quellen für den Mitschnitt kommen dabei beileibe nicht nur Ethernet-Schnittstellen infrage – auch Datenströme von USB-, Bluetooth-, WLAN- oder PPP-Interfaces lassen sich analysieren. Im Live-Capture-Modus findet sodann in Echtzeit die Aufzeichnung und Anzeige der Datenströme statt. Da in aller Regel schon in relativ kurzer Zeit enorme Mengen an Analysedaten anfallen, empfiehlt es sich zudem, durch einen Klick auf den Button Capture Filter und die Wahl einer entsprechenden Option den Mitschnitt einzuschränken.

Hier spielt die Software ihre enorme Funktionalität voll aus: Filtermöglichkeiten lassen sich mit einer Detailtiefe vornehmen, die ihresgleichen sucht. So kann Wireshark die Daten nicht nur nach MAC- und IP-Adressen oder beispielsweise verschiedenen Protokollen filtern, sondern isoliert auf Wunsch auch spezielle Pakete, die für bestimmte Ports vorgesehen sind. Auch Broadcast- oder Multicast-Pakete kann man gesondert aufzeichnen. Das Programm unterstützt von Haus aus bereits über 900 Protokolle, sodass es nahezu keine Datenströme gibt, die Wireshark nicht zuordnen kann.

Die umfassenden Funktionen machen schnell klar, dass Wireshark nicht nur ein lustiges Spielzeug für Gelegenheitsnetzwerker darstellt, sondern professionellen Ansprüchen genügt. Vom Nutzer wird erwartet, dass er zumindest fortgeschrittene Kenntnisse der Netzwerktechnik und der verwendeten Protokolle besitzt, vornehmlich der IP-Protokollfamilie. Auch schadet es nicht, wenn der Anwender mit dem ISO-/OSI-Schichtenmodell vertraut ist und die verschiedenen Daten korrekt einordnen kann.

Daten über Daten

Insbesondere bei größeren Netzwerken, die über ein Gateway an das Internet angeschlossen sind oder gar über eine vorgeschaltete DMZ mit mehreren darin aktiven Diensten verfügen, wachsen die Protokolldateien von Wireshark trotz Filterung rasant an. Es ist in diesem Fall schon nach kurzer Zeit des Mitprotokollierens nicht mehr möglich, die Datenströme zuverlässig nachzuvollziehen und damit Fehlerquellen ausfindig zu machen. Um diesem Manko abzuhelfen, bietet Wireshark durch farbliches Hervorheben der Protokolldaten und zusätzlich durch die Funktion der Verfolgung eines TCP-Streams (Analyze | Follow TCP-Stream, Abbildung 3) die Möglichkeit, den Weg einzelner Datenströme nachzuvollziehen.

Abbildung 3: Auf Wunsch verfolgt Wireshark auch einzelne Datenströme.

Eine weitere Möglichkeit, das Datenvolumen optisch zu bändigen, liegt in den so genannten Display-Filtern. Die Display-Filter-Leiste im oberen Teil des Hauptfensters erlaubt es ähnlich wie die Filter für die aufzuzeichnenden Daten, eine Auswahl der anzuzeigenden Pakete zu treffen. Die Displayfilter lassen sich dabei analog der Capture-Filter aus einer Liste vordefinierter Protokolle wählen. Für Power-User besteht auch hier die Option, mehrere Variablen miteinander zu verknüpfen oder eigene Filterdefinitionen anzufertigen. Individuelle Kompositionen legen Sie dabei mit einem Klick auf den Schalter +Expression an.

Wenn Sie grafisch aufbereitete Statistiken ansehnlicher finden, werden Sie bei Wireshark nicht enttäuscht: Unter dem Menüpunkt Statistics | IO Graphs besteht die Möglichkeit, bis zu fünf verschiedene Filteroptionen gleichzeitig als Balken-, Linien- oder Punktgrafik farblich differenziert anzeigen zu lassen. Damit wird im Live-Capture-Modus in Echtzeit sofort sichtbar, welche Pakete den Datenstrom beherrschen.

Fremde Welten

Doch Wireshark beherrscht nicht nur die Aufzeichnung von Datenströmen und deren Analyse am eigenen Rechner und im eigenen Format, sondern kann auch Logdateien in Fremdformaten öffnen und deren Inhalt auswerten. Dabei reicht die Palette von proprietären softwarebasierten und betriebssystemspezifischen Protokollformaten bis hin zu Dateiformaten, die große Hardwarehersteller für ihre Geräte implementiert haben. Die von Wireshark angelegten Analysedateien lassen sich dementsprechend auch in verschiedene gängige Dateiformate exportieren, sodass man sie beispielsweise zur Weiterverarbeitung in einer Tabellenkalkulation nutzen oder zu Dokumentationszwecken im plattformübergreifenden Postscript-Format ablegen kann.

Sicherheitsdienst

Wenn Sie Wireshark weniger als Analyseprogramm für den Datendurchsatz eines Netzes nutzen, sondern stehen eher sicherheitsrelevante Aspekte im Vordergrund, dann kann Ihnen die Software auch bei der Generierung von Firewall-Regeln behilflich sein.

Wireshark schlägt Ihnen auf Wunsch unter dem Menüpunkt Analyze | Firewall ACL Rules aufgrund entsprechender empirischer Erkenntnisse aus den Protokolldateien Regeln für verschiedene Firewallsysteme vor. Sobald Sie das entsprechende Firewallsystem gewählt haben, generiert Wireshark eine Regel, die Sie durch verschiedene Einstellungen modifizieren können, ohne dabei unbedingt die Syntax des Firewallsystems beherrschen zu müssen (Abbildung 4). Dabei unterstützt die Software sowohl die Syntax des Linux-eigenen Netfilter/Iptables-Systems als auch die des aus der BSD-Welt bekannten Ipfw oder des Cisco-eigenen Betriebssystems IOS. Auf diese Weise trägt Wireshark zusätzlich zur Erhöhung der Sicherheit bei.

Einziges Manko bei der Regelgenerierung: Sie müssen jede einzelne Regel gesondert bearbeiten. Somit gelangen Sie unter Linux bei umfangreichen Netfilter-Tabellen meist mit dem manuellen Erstellen der Regeln schneller ans Ziel.

Abbildung 4: Wireshark hilft sogar bei der Verbesserung der Firewall.

Fazit

Wireshark bietet einen Funktionsumfang, der weit über die einfache Mitprotokollierung und anschließende Analyse des Datenverkehrs hinausgeht. Für Netzwerkadministratoren, aber auch für ambitionierte Heimanwender, die sich mit der Funktionsweise ihres Netzwerkes vertraut machen wollen, lässt sich Wireshark uneingeschränkt empfehlen.

Die Vielzahl der möglichen Filteroptionen sowohl beim Protokollieren als auch bei der Anzeige der Datenpakete gestattet es, schnell und effizient die Spreu vom Weizen zu trennen und somit aus den enormen Datenmengen, die üblicherweise durchs Netz wandern, die wirklich interessanten Pakete herauszufiltern. Durch den Regelgenerator für gängige Firewall-Systeme leistet Wireshark zudem einen Beitrag zur Erhöhung der IT-Sicherheit.

Die einfache Bedienung und die Übersichtlichkeit des Programms dürfen jedoch nicht darüber hinwegtäuschen, dass das effektive Nutzen der Software fortgeschrittene Kenntnisse der üblichen Netzwerkprotokolle und -techniken voraussetzt.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare