Wireshark: VoIP-Telefonate mitschneiden und anhören nach Beginn des Gesprächs
In meinem Artikel “FRITZ!Box – VoIP-Telefonate mitschneiden und anhören” habe ich aufgezeigt, wie VoIP-Telefonate ganz einfach mitgeschnitten werden können. Die dort aufgeführte Methode funktioniert allerdings nur, wenn der Paketmitschnitt vor dem Telefonat gestartet wird. Beginnt der Paketmitschnitt erst nach dem Anfang des Gesprächs, funktioniert das dort beschriebene Vorgehen leider nicht.
Erklärung
Wenn der Paketmitschnitt erst nach Beginn des Telefonats gestartet wird, fehlt logischerweise auch die Protokollierung des Verbindungsaufbaus. Der Auf- und Abbau von VoIP-Verbindungen wird auch Signalisierung bzw. Verbindungssteuerung genannt. Dies kann mit unterschiedlichen Signalisierungsprotokollen (SIP, MGCP, H.248, …) geschehen, wobei sehr häufig SIP zum Einsatz kommt. Innerhalb des SIP-Protokolls wird das Session Description Protocol (SDP) zur Beschreibung der Eigenschaften von Multimediadatenströmen verwendet. Konkret gesagt kommt SDP bei der Aushandlung von Codecs, Transportprotokollen und IP-Adressen zum Einsatz. Ohne diese Daten kann Wireshark nicht automatisch herausfinden, welche UDP-Pakete zum RTP-Stream gehören und welche nicht.
Lösung
Damit der RTP-Stream, welcher die Audio-Daten enthält, dennoch extrahiert werden kann, müssen die UDP-Pakete innerhalb des Paketmitschnitts als RTP identifiziert werden. Dies funktioniert ab Wireshark 2.x folgendermaßen:
Im Menü müssen unter “Analyse” und ” Protokolle aktivieren…” zwei Optionen aktiviert werden. Unterhalb vom Protokoll “RTP” bei “rtp_stun” und “rtp_udp” ein Häkchen setzen. Anschließend hier mit Punkt 2 fortfahren.
Sollte das nicht zum Ziel führen, gibt es noch eine zweite Möglichkeit, welche aber auch die oben genannten Einstellungen voraussetzt. Öffnet einen Paketmitschnitt und wählt anschließend im Menü unter “Telephonie” die Punkte “RTP” und “RTP Streams”. Im neu geöffneten Fenster wählt ihr einen Stream aus und klickt dann unten auf den Button “Den Entgegengesetzten finden”. Sofern ein passender zweiter Stream vorhanden ist, wird dieser nun automatisch mit ausgewählt (siehe Screenshot).
Jetzt könnt ihr auf “Analysieren” klicken. Erneut öffnet sich ein neues Fenster, welches eine Übersicht und Statistiken über alle in den RTP-Streams enthaltenen Datenpakete gibt. Dies ist aber nicht was uns interessiert und wir fahren mit einem Klick auf “Steams abspielen” fort. Abermals erscheint ein neues Fenster, in welchem die beiden Streams angehört werden können.
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen
leider existiert der Punkt “Try to decode RTP outside of conversations” in meiner neusten Version nicht.
Ja ab Wireshark 2.x ist die Option nicht mehr verfügbar bzw. wo anders zu finden. Habe meinen Artikel angepasst.
Hallo Tobi,
wenn der Paketmitschnitt bereits läuft und dann ein selbst initiertes Gespräch beginnt, ist alles ok – beide RTP-Streams (beide Kanäle) sind vorhanden. Probleme habe ich leider nach wie vor bei folgenden Szenarien:
a) Paketmitschnitt läuft bereits, im weiteren Verlauf kommt ein Telefonat von außen rein -> keine RTP-Streams vorhanden.
b) Paketmitschnitt startet erst, nachdem Anruf von extern reinkommt -> keine RTP-Streams vorhanden
c) Paketmitschnitt startet erst, nachdem Anruf selbst initiert wird -> nur eigener Kanal vorhanden
Bei Paketmitschnitten NACH Beginn des Telefonates kann zudem die obige Anleitung mit dem Screenshot “Wireshark: Decode As” ab Version 2.2.4 nicht mehr nachvollzogen werden. Diesen Dialog gibt es so nicht mehr. Auch der Sprungpunkt “Anschließend hier mit Punkt 3 fortfahren” scheint nicht zu stimmen (ich vermute, es ist der dann nachfolgende Punkt 3 gemeint).
Also a) sollte definitiv klappen! Bei b) und c) habe ich herausgefunden, dass einige User mit FRITZ!OS 6.80 ähnliche Probleme haben. Geh mal auf die 6.50 zurück und teste erneut, dann sollte es wieder klappen.
Hallo Tobi,
Kann der Paketmitschnitt nur mit Fritzbox erfolgen ? Wenn man über PC VoiP Sip Programe telefoniert und der PC sich ganz beliebig (z.B. über Mobilfunk, oder Hotel WLAN, ….) mit dem Internet verbindet ?
Kann man wenn man VoIP Telefonate vom PC ausfühert kann man d. Paketmitschnitt mit Programme auf d. Rechner durchführebn, z.B. mit Wireshark mitzeichnen? D.h. d. Netzverkehr am eigenen PC LAN/ WLAN interface vornehmen?
Klar das funktioniert auch.
Dieses hier: “Für die zweite Möglichkeit muss zuerst der Paketmitschnitt im Wireshark geöffnet werden. Anschließend im Menü unter „Analyze“ den Punkt „Decode As…“ anklicken. Dort beide UDP-Streams auswählen und rechts „RTP“ auswählen. ” gibt es so unter Version 2.4.1 nicht mehr.
WIe soll ich in dieser Version vorgehen?
Klar gibt es den Dialog noch, er sieht nur ein wenig anders aus.
Aber was genau muss ich eingeben?
Ich habe mir das Ganze nochmal genauer angeschaut. Scheinbar bringt “Decode As…” ab Wireshark 2.4.x keinen zusätzlichen Nutzen gegenüber der Aktivierung von “rtp_stun” und “rtp_udp”. Deshalb habe ich diesen Punkt in meinem Artikel entfernt.
Außerdem habe ich alles, was sich auf Wireshark 1.x bezog entfernt, da mittlerweile jeder auf die neue Version 2.x setzen sollte. Des Weiteren habe ich den Artikel aktualisiert.
Hallo Tobi,
Ich habe auch das Problem das bei mir nur 1 Stream funktioniert. Der Stream von mir nach draussen ist
Vollständig da, der rein nur meistens 3 Pakete.
Kann ich außer die 2 Haken bei rtp oder das downgrade von 6.90 auf 6.50 etwas anderes tun??
Gruß
Ralf
Nein mir ist aktuell keine andere Lösung bekannt.
Hallo Tobi, unterwin 10 wird die Datei .au nicht gespeichert. Hast Du eine Lösung?
Hey Tobi, danke für die guten Tipps! Bist du überhaupt noch in Sachen Fritzbox/Wireshark aktiv?
Hi Markus, ja Wireshark verwende ich auch beruflich öfter. Bezüglich FRITZ!Box mache ich eher weniger. Allerdings fehlt mir die Zeit für neue Artikel :-(
Hm, ok schade – hatte gehofft, du wärest den Problemen, die es mit den neueren Fritzbox/Wireshark Firmwares gibt auf der Spur…
Aber danke für die Antwort – hab ‘ne gute Zeit!
Hallo Tobi!
Ich habe Wireshark 4.0 und bekomme das nicht hin… habe alles versucht was Du beschrieben hast, meine während des Telefonats, habe ich aufgenommenen. Davor Aufnahmen geht, finde ich auch und kann es auch abspielen. Ich hoffe Du kannst mir helfen 😊