Einführung in das Monitoring mit Wireshark (4)

Lesezeit
3 Minuten
Bis jetzt gelesen

Einführung in das Monitoring mit Wireshark (4)

23.04.2018 - 00:00
Veröffentlicht in:

Das Monitoring inklusive der notwendigen Detailanalyse des Datenverkehrs im Netzwerk ist ohne ein leistungsfähiges Analysesystem unmöglich. Eines der wichtigsten Netzwerktools für jeden Administrator ist Wireshark – ein Open Source-Netzwerkanalysator, mit dem Sie alle Pakete im Netzwerk aufzeichnen und die Paketinhalte detailliert analysieren. Im vierten Teil der Workshopserie dreht sich alles darum, wie Sie VoIP-Verbindungen unter die Lupe nehmen.

VoIP-Verbindungen unter die Lupe nehmen
Im Menüpunkt "Telephony / VoIP Calls..." lassen sich Voice-over-IP-Telefonate analysieren und die Verbindungsdetails inklusive des Gesprächs sichtbar beziehungsweise hörbar machen. Die folgenden VoIP-Protokolle unterstützt Wireshark derzeit:

  • SIP
  • H.323
  • ISUP
  • MGCP
  • UNISTIM inklusive der zugehörigen RTP-Streams.

Zum Austesten von VoIP-Verbindungen können Sie die Capture-Datei "SampleCaptures/rtp_example.raw.gz" verwenden. Diese enthält eine beispielhafte VoIP-Verbindung auf Basis des H.323-Protokolls inklusive H.225, H.245, RTP und RTCP.

Die VoIP-Anrufliste zeigt je Anruf folgende Informationen:

  • Start Time: Startzeit des aufgezeichneten Anrufs.
  • Stop Time: Stoppzeit des aufgezeichneten Anrufs.
  • Initial Speaker: Die IP-Quelle des Pakets, das den VoIP-Anruf initiierte.
  • From: Für H.323- und ISUP-Verbindungen enthält dieses Feld die rufende Nummer. Bei SIP-Anrufen enthält dieses Feld die Adresse des Geräts, das den INVITE-Prozess eingeleitet hat. Bei MGCP bestimmt dieses Feld die Endpoint-ID oder die Telefonnummer. Bei UNISTIM verweist dieses Feld auf die Terminal-ID.
  • To: Für H.323- und ISUP-Verbindungen beinhaltet dieses Feld die angerufene Nummer. Bei SIP-Anrufen enthält dieses Feld die Adresse des angerufenen Geräts (an das der INVITE geschickt wurde). Bei MGCP enthält dieses Feld die Endpoint-ID oder die Telefonnummer. Bei UNISTIM verweist dieses Feld auf die Terminal-ID.
  • Protocol: Enthält eines der oben aufgelisteten Protokolle.
  • Packets: Anzahl der während des Anrufs übermittelten Pakete.
  • State: Beschreibt den aktuellen Verbindungszustand. Möglichen Werte sind unter anderem CALL SETUP, RINGING, IN CALL, CANCELLED oder UNKNOWN.


 

Herausfiltern eines Anrufs
Möchten Sie nur einen gewünschten Anruf darstellen, arbeiten Sie mit der Filter-Funktion. Durch das Anklicken der "Prepare Filter"-Taste wird ein entsprechender Prozess im Hauptfenster von Wireshark angestoßen und die zu der betreffenden Verbindung gehörenden Pakete ausgefiltert. Für die Analyse eines oder mehrerer Anrufe der VoIP-Liste wählen Sie die entsprechenden Verbindungen aus der Liste aus und drücken anschließend die Taste "Graph". Der Graph zeigt daraufhin folgende Information an:
 
  • Bis zu zehn Spalten zur Repräsentation der jeweiligen IP-Adresse.
  • Alle Pakete, die zum gleichen Anruf gehören (mit der gleichen Farbe eingefärbt).
  • Die Pfeile zeigen die Übertragungsrichtung jedes Pakets an
  • Das Label an der Oberseite des Pfeils repräsentiert den Nachrichtentyp. Wenn verfügbar, wird auch der entsprechende Media-Codec dargestellt.
  • Die RTP-Datenverkehr wird mit einem weiteren Pfeil und dem entsprechenden Codec zusammengefasst.
  • Zeigt die UDP/TCP-Quell- und Zielports des Pakets an.
In der Kommentarspalte finden Sie dabei die folgenden, protokollabhängigen Informationen:
 
  • H323: Fast Start und H.245 Tunneling sind für das Paket ein- beziehungsweise ausgeschaltet. Die SETUP-Nachricht zeigt die Rufnummern des Senders und des Empfängers. Die RELEASE-Nachricht zeigt die Q.931-Codenummer an.
  • SIP: Zeigt an, ob es sich beim betreffenden Paket um eine "Request" oder
  • eine "Status" Meldung handelt. Die INVITE-Nachricht zeigt sowohl das "From" wie auch das "To" Feld.
  • ISUP: Folgendes Format wird dargestellt: NetworkID-Originating Point Code -> NetworkID-Destination Point Code, CIC.
  • MGCP: Zeigt die MGCP Endpoint ID und, ob es sich bei dem betreffenden Paket um einen "Request" oder eine "Response" Nachricht handelt.
  • UNISTIM: Stellt die Details der Nachricht und die Sequenznummer dar.
  • RTP: Zeigt die Anzahl der RTP-Pakete im Datenstrom, die Dauer (in Sekunden) und das SSRC-Feld.
Beim Anklicken eines Pakets im Graph wird der ausgewählte Frame im Hauptfenster von Wireshark dargestellt.
 
Abspielen von VoIP-Gesprächen
Im Moment werden von Wireshark nur via G.711-A-Law- und G.711-u-Law-Codec übermittelte Streams decodiert. Andere Codecs wurden bisher nicht implementiert. Um einen RTP-Audio-Stream von einem oder mehreren Anrufen aus der VoIP-Liste anhören zu können, müssen Sie die gewünschten Streams aus der Liste auswählen und anschließend die Schaltfläche "Play" anklicken.

Wählen Sie einen Anfangswert für den Jitter-Puffer aus und drücken Sie anschließend die "Decode-Taste". Der von Wireshark emulierte Jitter-Puffer verfügt über eine feste Größe und lässt sich zur Reproduktion von Fehlern (Jitterpufferbedingte Paketverluste) nutzen. Bild 4 stellt alle RTP-Streams der ausgewählten Anrufe dar und Wireshark macht diese auch hörbar.
 
Bild 6: Die Darstellung der ausgewählten RTP-Streams, die sich auch akustisch wiedergeben lassen.
Bild 6: Die Darstellung der ausgewählten RTP-Streams, die sich auch akustisch wiedergeben lassen.

Alle RTP-Pakete, die wegen Problemen mit dem Jitter-Puffer verworfen wurden, ("Drop by Buff Jitter") sowie alle Pakete, deren Reihenfolge nicht stimmt (Out of Seq), werden separat gekennzeichnet. Durch das Drücken der "Play Taste" wird der von Wireshark aufgezeichnete RTP-Stream abgespielt.

Fazit
In Netzwerken können vielfältige Fehler auftreten – das gilt vor allem für VoIP. Die Fehlersuche gestaltet sich dann schwierig. Immerhin können Sie mit Wireshark einen Einblick in die Datenströme gewinnen und finden so möglicherweise den richtigen Anhaltspunkt. Wireshark ist ein mächtiges Werkzeug zur Netzwerkanalyse. Es schneidet den Traffic mit und dröselt ihn nach einzelnen Protokollen übersichtlich auf.

Die Analyse der darin enthaltenen Daten lässt sich mit Filtern und Expressions zielgerichtet durchführen. Doch verlangt das Auswerten der Netzwerkströme auch Expertenwissen, um die Informationen letztlich richtig zu interpretieren. Das nötige Fachwissen bezügliche der Protokolle im Netzwerk darf also nicht fehlen.


Im ersten Teil der Serie haben wir uns mit der Funktionsweise und Installation von Wireshark beschäftigt und erklärt, wie Sie sich im Interface zurechtfinden. Im zweiten Teil der Workshopserie gingen wir nach einem kurzen Blick auf die Performance von Wireshark darauf ein, wie Sie die passenden Daten des Mitschnitts herausfinden und so Netzwerkfehlern auf die Schliche kommen. Im dritten  Teil erklärten wir die Besonderheiten einer Netzwerksegmentierung mit VLANs und beschrieben, wie Sie auch hier mit Wireshark zu einer Fehleranalyse gelangen.

dr/ln/Mathias Hein

 

 

Ähnliche Beiträge

Einführung in das Monitoring mit Wireshark (3)

Das Monitoring inklusive der notwendigen Detailanalyse des Datenverkehrs im Netzwerk ist ohne ein leistungsfähiges Analysesystem unmöglich. Eines der wichtigsten Netzwerktools für jeden Administrator ist Wireshark – ein Open Source-Netzwerkanalysator, mit dem Sie alle Pakete im Netzwerk aufzeichnen und die Paketinhalte detailliert analysieren. Im dritten Teil der Workshopserie erklären wir die Besonderheiten einer Netzwerksegmentierung mit VLANs und beschreiben, wie Sie auch hier mit Wireshark zu einer Fehleranalyse gelangen.

Seite 2 - Einführung in das Monitoring mit Wireshark (3)

Die Priorisierung der Pakete und die entsprechenden Zuordnungen zu den Queues im Switch werden durch das Prioritäts-Feld im VLAN-Tag (Bits 1 bis 3) erreicht. Der IEEE-802.1p-Standard legt das Mappen der Prioritäten zu den jeweiligen Verkehrsklassen (Traffic Classes) und damit zu den vorhanden Queues fest. Innerhalb eines Netzwerks/ VLANs werden die transportierten Informationen nach den verschiedenen Verkehrsarten oder Traffic-Types unterschieden.

Seite 2 - Einführung in das Monitoring mit Wireshark (2)

Funktionen zur Unterstützung bei der Analyse sind unter dem Menüpunkt "Analyze" zusammengefasst. Dazu gehören die Möglichkeiten, Display-Filter zu definieren und diese für die spätere Nutzung zu speichern, Protokolle zu aktivieren und deaktivieren sowie eine Dekodierungen vorzugeben, die von der Standard-Wireshark-Einstellung abweichen soll.