Quelloffene Werkzeuge für das Netzwerk-Monitoring

Das Netz im Visier

26. Januar 2005, 23:55 Uhr | Susanne Franke/mw Susanne Franke ist freie Journalistin in München.

Ob es um einzelne Aufgaben wie die Überwachung von aktiven Verbindungen im Netz geht oder um das gesamte Monitoring - Netzwerkadministratoren können dafür auch auf quelloffene Werkzeuge zurückgreifen. Einer der Vorteile dieser Alternativen zu den kommerziellen Produkten: Eine große Programmierergemeinde treibt die Verbesserung und Weiterentwicklung der Tools voran.

Für die Netzwerkverwaltung (Monitoring, Überwachung) steht bekanntermaßen eine ganze Reihe
kommerzieller Tools zur Verfügung, und auch die Open-Source-Gemeinde steuert eine fast
unüberschaubare Zahl entsprechender Softwarepakete bei. Der folgende Text gibt einen Überblick über
die Palette der wichtigsten quelloffenen und frei verfügbaren Netzwerkwerkzeuge, die häufig sowohl
für und unter Linux als auch für weitere Betriebssysteme zur Verfügung stehen. Eine Übersicht gibt
die Tabelle auf Seite 54.

Nagios

Das vielleicht bekannteste und am häufigsten eingesetzte Überwachungsprogramm stellt Nagios dar.
Das Open-Source-Paket empfiehlt sich, um auch in einer größeren Installation den Überblick über den
Zustand des Netzwerks zu behalten. Die Software, bestehend aus einem Monitoring-Daemon und
-Plug-ins, kann aufgrund seiner Funktionsvielfalt mit den kommerziellen Produkten mithalten. Das
Monitoring-Tool unterstützt Netzwerkadministratoren dabei, den Zustand von Host-Systemen, Routern
und anderen Netzwerknoten zu überwachen, sowie das Vorhandensein von Netzwerkdiensten wie POP, SMTP
und HTTP zu prüfen.

Das Werkzeug von Ethan Galstad, seit zwei Jahren verfügbar, besitzt ebenso wie sein Vorgänger
Netsaint eine offene Architektur, doch sind Funktionen hinzugekommen, und die Konfiguration über
Templates ist einfacher geworden. Die Software läuft unter Linux, aber auch auf jeder anderen
Unix-Plattform.

Ein zentraler Prozess sammelt mithilfe von Plug-ins Informationen zu verschiedenen
Systemparametern, einschließlich Leistungsmetriken wie etwa durchschnittliche CPU-Last und
Speicherplatzbelegung, Verfügbarkeit von Diensten und Netzwerken. Diese Daten bereitet er auf und
schreibt sie in eine Log-Datei. Die auf Plug-ins-gestützte Architektur erlaubt die Überwachung
einer breiten Vielfalt an Geräten, seit kurzem sogar Heizkörper oder Klimaanlagen. Zudem
erleichtern die Plug-ins die Integration des Tools in weitere, bereits genutzte Programme, wie zum
Beispiel MRTG.

Eine Webschnittstelle greift über Skripts auf die Log-Dateien zu und stellt die Informationen im
Browser in einer Reihe von automatisch generierten Seiten übersichtlich dar. Ein so genannter "
Tactical Overview" zeigt allgemeine Daten zu dem aktuellen Status des Netzwerks (Bild oben). Jeder
Problemindikator enthält einen Link auf eine weitere Seite mit den Einzelheiten dazu.

Zusätzlich kann der Administrator für jeden Host definieren, wann ein Ereignis "bemerkenswert"
ist (beispielsweise zu hohe Belastung) und welche Reaktion darauf erfolgen soll. Ebenso lässt sich
festlegen, dass im Falle eines Problems der Prozess eine Nachricht über einen
Kommunikationsmechanismus wie E-Mail, Instant Messaging oder SMS an den zuständigen Mitarbeiter
versendet. Möglich ist auch das Aufsetzen eines Event-Handlers, eines Programms, das im Fall von
Unregelmäßigkeiten abläuft. Stellt Nagios zum Beispiel fest, dass ein Webserver nicht mehr
erreichbar ist, so kann das Tool diesen selbst neu starten.

Ethereal

Einen etwas anders gearteten Einblick ins Netzwerk liefert das bereits 1997 entstandene
Analyseprogramm Ethereal. Der quelloffene Sniffer, aktuell in der Version 0.10.7, unterstützt den
Administrator dabei, den Inhalt der Pakete in seinem Netzwerk zu erkunden. Das Tool steht unter der
General Public License (GPL), läuft auf über mehr als 20 sowohl Unix- als auch Windows-basierenden
Plattformen und unterstützt zurzeit 480 Protokolle. Neben Ethernet-Verkehr fängt der Sniffer unter
anderem Daten aus Token-Ring-, FDDI-, seriellen (PPP und SLIP), 802.11-WLAN- und ATM-Verbindungen
ab, sowie gleichzeitig von allen Netzwerkgeräten (letztere Funktion gibt es allerdings nur unter
Linux).

Ethereal liest die Pakete normalerweise aus Capture-Dateien, entschlüsselt sie und stellt ihren
Inhalt in einem verständlichen Format detailliert auf einer grafischen Benutzeroberfläche dar (Bild
unten). Das Tool verwendet die portable Bibliothek libpcap als Capture-Format und kann daher
Capture-Dateien verschiedener Programme lesen wie etwa tcpdump, Sun snoop, Microsoft Network
Monitor, Novell Lanalyzer, HP UX nttl und vieler anderer mehr.

Die Hauptstärken des Analyse-Tools bestehen in dessen Fähigkeit, den Netzwerkverkehr innerhalb
einer einzigen Anwendung abzufangen sowie zu analysieren, außerdem in der ausgeklügelten
Darstellung. Ein dreigeteiltes Fenster bietet im obersten Feld die Liste der entschlüsselten
Pakete, im mittleren Teil Einzelheiten zu einem ausgewählten Paket und schließlich im untersten
Feld den ASCII- beziehungsweise hexadezimalen Output von ausgewählten Protokollteilen aus der Sicht
darüber. Diese unterschiedlichen Sichten tragen zum Verständnis der verschiedenen
Netzwerkprotokolle bei, verdeutlichen aber auch die Gefahren bei der Verwendung von Protokollen,
die Daten im Klartext senden. (Aus diesem Grund eignet sich das Tool auch als Lernmaterial für
angehende Administratoren.)

Eine Capture-Datei kann im Fall von größeren Netzwerken tausende von Paketen enthalten, sodass
der Administrator in mühsamer Arbeit diejenigen suchen muss, die er analysieren will. Um die
Aufgabe zu erleichtern, bietet Ethereal sowohl Capture-Filter als auch Display-Filter. Mit
Capture-Filtern lässt sich eine Auswahl des Typs von Netzverkehr treffen, den das Tool abfangen
soll. Die dafür verwendete Syntax entspricht derjenigen von tcpdump aus der libpcap-Bibliothek.
Tcpdump druckt die Header der Pakete aus, die das Programm von einer Netzwerkschnittstelle
abgefangen hat.

Display-Filter dienen der Übersichtlichkeit der Darstellung des abgefangenen Netzwerkverkehrs.
Zu den Funktionen gehört das Entfernen von nicht wichtigen Paketen, das Einschränken der Anzahl der
Protokollfelder und schließlich die Möglichkeit, über Farben die Interpretation der Sichten zu
vereinfachen.

Will ein Administrator nicht die GUI-Fassung verwenden, so steht ihm mit Tethereal eine
Kommandozeilenversion zur Verfügung. Die Zusammenfassung der analysierten Pakete – analog zu dem
obersten Feld in der GUI-Fassung – druckt das Werkzeug aus. Mit der Option -V bringt das Tool den
Inhalt des mittleren Fensterteils, und -x druckt das unterste Feld ebenfalls aus. Der
Protokoll-Analyzer umfasst auch weitere, die Handhabung der Capture-Dateien unterstützende
Programme. Dazu gehört Editcap, ein Programm, das zum Löschen von Paketen in einer Datei sowie für
die Übersetzung des Formats von Capture-Dateien dient. Es kann alle Formattypen lesen und schreibt
in die Formate libpcap, Sun snoop, Novell Lanalyzer, NAI Sniffer, Microsoft Network Monitor und
andere. Der Anwender hat die Möglichkeit, eine Auswahl der zu übersetzenden Pakete anzugeben. Mit
Mergecap kann der Administrator mehrere gespeicherte Capture-Dateien in eine einzelne Output-Datei
bringen, und die Pakete in zeitlicher Reihenfolge ordnen. Text2pcap schließlich liest ASCII
hexadezimale Dump-Captures und schreibt die Daten in eine libpcap-Datei. Das Programm ist in der
Lage, Hexdumps mit mehreren Paketen zu lesen und eine Capture-Datei damit zusammenzustellen. Es
kann auch Hexdumps lesen, die lediglich Daten auf Anwendungsebene enthalten.

Das einfache Tool netstat checkt alle aktiven TCP-, UDP- und IP-Verbindungen und gibt die
Routing-Tabelle sowie eine detaillierte Statistik der TCP/IP-Daten wieder. Es kennt mehrere
Optionen, mit denen sich unterschiedliche Informationen abrufen lassen. Die Optionen -a und -p
listen alle offenen Verbindungen oder Ports in einem System auf und geben an, welche Programme
diese nutzen. Damit das Programm etwas schneller läuft, lässt sich mit -n die Auflösung der
IP-Adressen in symbolische unterbinden.

Die Ergebnisliste kann ziemlich lang werden, ist jedoch unvollständig, weil iptable-maskierte
Verbindungen von netstat nicht gesehen werden. Hier schafft der Conntrack-Viewer von Patrick Lagacé
Abhilfe. Das unter der GPL-Lizenz laufende Perl-Skript holt sich die benötigten Informationen aus
/proc/net/ip_conntrack. Damit erhält der Anwender eine vollständige Liste der Verbindungen. Gibt er
die Option -m ein, so enthält der Output lediglich die maskierten Verbindungen. Eine grafische
Darstellung der aktiven Verbindungen, Routing-Tabellen und weiterer Daten liefert Nnetstat von
Alexander Neptun. Das Perl-Skript, aktuell in der Version 0.1, liefert im Wesentlichen eine
ähnliche Funktionalität wie netstat.

pktstat

Die meisten Monitoring-Werkzeuge zeigen lediglich die aktiven Verbindungen an, doch nicht,
welche Anwendungen darin involviert sind. Um dies herauszufinden, gibt es pktstat, ein Programm ,
das auf der Ncurses-Bibliothek (New curses, eine freie Softwareemulation) beruht. Es zeigt auf,
welchen Prozentsatz der Bandbreite jede Verbindung nutzt. Des Weiteren gibt das Programm einen
Mittelwert der Last an, ähnlich der Uptime. Der Monitor verfolgt jedoch Netzwerkübertragungsraten
anstelle der Prozesse in einer Schlange. Die Besonderheit des Tools ist die Tatsache, dass es HTTP
und FTP zum Teil dekodiert, um die übertragenen Dateinamen oder die X11-Anwendungsnamen anzugeben,
die zu den Paketen im Netz gehören. Will ein Administrator lediglich wissen, wo etwas im Netz
läuft, so empfiehlt sich IPTraf. Die Konsolenanwendung beruht ebenfalls auf Ncurses und sammelt
Informationen über den IP-Verkehr, die Anzahl der Bytes und der Pakete (inklusive Nicht-IP-Pakete),
ein- und ausgehenden UDP-Verkehr und anderes mehr. Ein LAN-Modul kümmert sich um aktive Hosts und
zeigt die Aktivitäten darauf an. Über Display-Filter lassen sich die Ansichten auf bestimmten
Netzverkehr einschränken.

Um die Auslastung eines Netzwerks kümmert sich auch das GPL-Tool MRTG (Multi Router Traffic
Grapher) von Tobias Oetiker. Das Programm fragt Router und Switches ab und erzeugt aus den
gewonnenen Daten übersichtliche Grafiken, die es in einer Webseite darstellt. Außerdem fragt die
Software über SNMP auch Fehlermeldungen von Schnittstellen ab und überwacht die Auslastung einer
Festplatte. Für jedes zu überwachende Gerät benötigt MRTG eine eigene Konfigurationsdatei. Zu
beachten ist jedoch, dass die abgespeicherten Daten eine nur eingeschränkte Weiterverwendung
erlauben, weil die Grafiken lediglich aus gemittelten Werten gebaut sind.

Bedingt durch die Vielfalt der vorhandenen quelloffenen Programme können die beschriebenen
Werkzeuge nur eine Auswahl ohne Anspruch auf Vollständigkeit darstellen.


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+