Suchen

Professionelle Netzwerk-Analyse mit Wireshark, Teil 4 Messpunkte setzen, Daten aufzeichnen und fehlerfrei auswerten, so geht’s!

| Autor / Redakteur: Jasper Bongertz / Dipl.-Ing. (FH) Andreas Donner

Bevor der Netzwerkverantwortliche die Analyse eines Problems mit den Möglichkeiten von Wireshark angehen kann, müssen zunächst einmal die dazu erforderlichen Daten aufgezeichnet werden. Dieser Beitrag gibt Tipps und verrät Tricks zur Vermeidung von Messfehlern.

Firma zum Thema

Mit Wireshark lassen sich Messdaten auch remote auf einem entfernten zusätzlichen PC aufzeichnen – Schulungsanbieter Fast Lane zeigt wie!
Mit Wireshark lassen sich Messdaten auch remote auf einem entfernten zusätzlichen PC aufzeichnen – Schulungsanbieter Fast Lane zeigt wie!

Je nach Umfang und Art der Problemstellung reicht für die Aufzeichnung von Messdaten im Netzwerk oft ein einziger, gut gewählter Messpunkt aus. Bei komplexeren Fällen ist aber es sinnvoll, zwei oder sogar noch mehr Messgeräte zum Einsatz zu bringen. Die Auswertung wird dadurch zwar umfangreicher, aber auch aussagekräftiger.

In voll geswitchten Netzwerken ist die Aufzeichnung von Netzwerkpaketen nicht mehr so einfach wie noch zu Zeiten von Hubs, bei denen jeder Port alle Daten erhielt. Schließt man also einfach einen PC zwecks Messung an einen Switch an, so sieht man dort nur Broadcasts, Multicasts und ab und zu einzelne Unicasts.

Bildergalerie

Bildergalerie mit 6 Bildern

Letztere entstehen dadurch, dass der Switch die gelernten MAC-Adressen aller Endgeräte regelmäßig vergisst und vor dem Neulernen alle Pakete an nun unbekannte MAC-Adressen auf alle Ports fluten muss – in der Hoffnung, dass der Empfänger dabei ist und antwortet. Nach der eingehenden Antwort ist der Port mit der MAC wieder bekannt und alle weiteren Pakete werden gezielt nur auf diesen Port ausgegeben. Für sinnvolle und verwertbare Messergebnisse sollte das Augenmerk daher auf die Unicast-Pakete zwischen zwei Stationen gerichtet werden.

Lokale Datenaufzeichnung

Die oftmals am einfachsten erscheinende Variante Messdaten aufzuzeichnen, ist die lokale Installation von Wireshark auf Client oder Server. Ebenso bietet sich der Einsatz von tcpdump und ähnlichen vorhandenen Tools an.

Diese Herangehensweise ist zwar auf den ersten Blick verlockend, bringt aber eine ganze Reihe von mehr oder weniger drastischen Nachteilen mit sich. Zunächst einmal ist die Fehlersituation nach der separat zu deren Diagnose erfolgten Installation von Wireshark nicht mehr exakt die gleiche. Es kann also vorkommen, dass sich das Fehlerbild ändert oder gar nicht mehr vorliegt – oder im schlimmsten Fall ein Systemabsturz auf die Installation folgt.

Oftmals scheint auf den ersten Blick alles geklappt zu haben, und es tauchen dann in den aufgezeichneten Daten reihenweise Prüfsummenfehler sowie übergroße oder viel zu kleine Pakete auf (siehe Abbildung 1).

Hierbei handelt es sich in den meisten Fällen um Pakete, die von Wireshark schon aufgezeichnet wurden, bevor sie von der Netzwerkkarte final für den Versand aufbereitet wurden. Grund dafür sind Eigenschaften, die so gut wie alle heutigen Netzwerkkarten mitbringen, um die CPU zu entlasten. In den erweiterten Treibereinstellungen findet man dazu Angaben wie „Checksum Offloading“ oder „Large Send Offloading“, mit denen sich das Verhalten der Karte einstellen lässt (siehe Abbildung 2).

Messungen mit lokal installierter Aufzeichnungssoftware sollte man also am besten vermeiden, stattdessen eignet sich hier der Einsatz eines zusätzlichen, passiven Messsystems. In einigen wenigen Fällen gibt es jedoch keine Alternative, z.B. bei Messungen in virtuellen Maschinen in der Amazon Cloud. In dieser Situation müssen bei der Analyse die auftretenden Seiteneffekte berücksichtigt werden.

Monitor-Sitzungen

Abgesehen von den bereits genannten „lokalen“ Messungen erfolgen Netzwerkmessungen in den meisten Fällen durch die Aufzeichnung per Monitor-Sitzung, auch Mirrorport, SPAN-Port oder Rovingport genannt. Hierbei wird dem Switch eine Art Kopierauftrag erteilt, bei dem er alle Daten eines produktiven Ports auf einen freien Port kopiert („spiegelt“).

An diesen eigentlich bisher ungenutzten Port wird dann das Messgerät angeschlossen, und die Daten werden erfasst. Da diese Methode im Gegensatz zu allen anderen Möglichkeiten keinen physikalischen Einbau eines Geräts und somit keine Unterbrechung der produktiven Leitungen erfordert, ist sie mit Abstand die meistgenutzte Variante.

Bei aktuellen Switchen ist nur noch das Vorhandensein eines Managementinterfaces Voraussetzung, um eine solche Monitorsitzung zu konfigurieren. Switches ohne Kommandozeilen- oder Webinterface eignen sich dagegen nicht. Dazu zählen auch einige ältere oder besonders günstige Geräte, die trotz Konfigurationsinterface keine Möglichkeit bieten, die Datenkopiesitzung zu erstellen. In solchen Fällen bleibt damit die einfache und schnelle Methode der Monitorsitzung leider außen vor.

Sollte der Switch über ein Monitoring-Feature verfügen, bleibt die Frage, welche Varianten er unterstützt. Je nach Modell oder Lizenz kann ein Switch verschiedene Quellen kopieren: einzelne oder mehrere Ports gleichzeitig oder ganze VLANs auf einmal. Professionelle Geräte können mehrere gleichzeitige Monitor-Sessions verwalten, bei denen verschiedene Quellen auf verschiedene Ausgabeports gespiegelt werden.

Bei der Spiegelung mehrerer Ports oder VLAN-Teilnehmer ist allerdings Vorsicht geboten, denn hierbei kann es leicht zu Duplikaten kommen. Duplikate sind Pakete, die mehr als einmal im Tracefile landen, obwohl sie in Wirklichkeit nur einmal durch das Netzwerk transportiert wurden (Abbildung 3).

Spiegelt man z.B. mehrere Serverports mit Ingress- und Egress-Richtung (d.h. eingehende und ausgehende Pakete), funktioniert die Messung nur dann duplikatfrei, wenn die Server nicht miteinander kommunizieren. Ansonsten landet das gleiche Paket mehrfach im Trace, und zwar für jeden Server einmal. Bei Broadcast-Paketen kann es so leicht zu großen Mengen an Duplikaten kommen. Verhindern lassen sich Duplikate nur schwer, außer man kann mit der Messung von nur einem einzelnen Port leben.

Duplikate erschweren die Auswertung ganz erheblich, denn ein doppelt vorhandenes TCP-Paket wird von Wireshark sofort als Retransmission markiert. Ebenso wird mit Acknowledge-Paketen verfahren, die somit plötzlich als angebliche Duplicate ACKs erscheinen. Unerfahrene Netzwerkanalysten könnten somit eine extrem hohe Zahl von Paketverlusten vermuten und vergeblich nach tatsächlichen Fehlern suchen.

Abhilfe schafft das Kommandozeilen-Werkzeug „editcap“, das mit Wireshark zusammen installiert wird. Mittels editcap lassen sich alle Duplikate aus einem Tracefile automatisch entfernen (Abbildung 4). Bei Bedarf ist es möglich, mit zusätzlichen Schaltern ein besseres Ergebnis zu erzielen, indem das Suchfenster oder die Zeitabstände entsprechend eingeschränkt werden.

Nach einer erfolgreichen Entfernung der Duplikate kann dann die eigentliche Auswertung erfolgen. Wichtig ist, dass der Verantwortliche die Originaldateien nicht löscht, sondern für einen finalen Abgleich aufbewahrt. Denn sollte im deduplizierten Trace ein Fehlersymptom identifiziert werden, ist sicherzustellen, dass das gefundene Symptom nicht erst durch die Nachbearbeitung mit editcap (oder einem anderen eingesetzten Tool) entstanden ist.

weiter mit: TAPs, Splitter und Remote Capture

Artikelfiles und Artikellinks

(ID:33454800)