Netzwerk-Analyse mit Wireshark: Datenströme verfolgen mit Verbindungsfiltern

    TCP-Stream folgen in WiresharkMit Wireshark kann man auch kom­plette Kommu­nikations­ströme nach­ver­folgen, also alle Pakete filtern, die eine spezi­fische Inter­aktion zwischen zwei Sys­temen dar­stellen. Dazu muss man erst ein Paket finden, das zur Inter­aktion zwischen den beiden End­punkten gehört und darauf einen Ver­bindungs­filter an­wenden.

    Wir gehen im ersten Beispiel von einem bestehenden ungefilterten Mitschnitt einer FTP-Sitzung aus, bei der wir auf eine Ver­schlüsselung verzichtet haben. Zuerst suchen wir ein Paket aus, von dem wir wissen, dass es zu einem ganz bestimmten Kommuni­kations­strom gehört und klicken dann im Kontextmenü auf Verbindungsfilter.

    Hier besteht die Möglichkeit, auf  MAC-Ebene ("Ethernet" = Layer 2), IPv4-Ebene (Layer 3) oder TCP-Ebene (Layer 4) zu filtern. In diesem Beispiel testen wir mit TCP, weil Layer 4 meist die exakteste Form der Filterung erlaubt.

    TCP-Verbindungsfilter erzeugen für eine FTP-Kommunikation

    In Abhängigkeit von dieser Auswahl erstellt Wireshark jetzt in der Kopfzeile automatisch den passenden Filter, in diesem Fall

    (ip.addr eq 192.168.1.124 and ip.addr eq 192.168.1.200) and (tcp.port eq 21 and tcp.port eq 58733)

    Der Verbindungsfilter macht die Pakete der FTP-Kommunikation sichtbar.

    In einem weiteren Beispiel können wir bei einem Paket, das erkennbar zu einer DNS-Kommunikation gehört, den Verbindungs­filter auf UDP einstellen. Der generierte Ausdruck sieht dann so aus:

    (ip.addr eq 192.168.1.200 and ip.addr eq 192.168.0.12) and (udp.port eq 63119 and udp.port eq 53)

    DNS-Kommunikation aus dem Mitschnitt filtern

    Diese Vorgehens­weise ist zwar ganz nett, Wireshark bietet aber auch noch bessere Methoden.

    Im nächsten Beispiel haben wir die HTTPS-Kommunikation von Client 192.168.1.200 mit der URL eines VMware vCenter Web-Clients unter der IP 192.168.0.10 aufgezeichnet und uns mit dem SSO-Account

    Administrator@vsphere.local

    authentifiziert.

    Nun markieren wir im ungefilterten Mitschnitt ein Paket, das offensichtlich zu diesem Kommunikations-Stream gehört (hier Paket Nr. 23), und wählen im Kontextmenü den Eintrag Folgen => TCP Stream.

    TCP-Stream für eine HTTPS-Kommunikation folgen

    Wir erhalten dann folgende Ausgabe:

    Aus einer verschlüsselten Verbindung lassen sich erwartungsgemäß keine verwertbaren Informationen entnehmen.

    Da die Verbindung zum vCenter-Server SSL-verschlüsselt ist, sieht man, wie erwartet, nicht viel. Im folgenden Screenshot hingegen folgen wir einem HTTP-Stream beim Anzeigen der Website www.vmword.com.

    Um ein erstes zu dieser HTTP-Kommunikation passendes Paket überhaupt zu finden, verwenden wir erst den Filter

    tcp contains "vmword.com"

    und markieren dann eines der gefundenen HTTP-Pakete. Danach wählen wir im Kontextmenü Folgen => HTTP Stream, was den Filter

    tcp.stream eq 9

    erzeugt. Das Ergebnis sieht nun so aus:

    Die Analyse einer HTTP-Verbindung zeigt den HTTP-Header und die Nutzdaten.

    Auf diese Weise erhält man den kompletten HTTP-Header und findet unter anderem sehr schnell heraus, welcher Browser verwendet wurde, welche Sprache der Agent akzeptiert und dass auf dem Server Wordpress läuft.

    Keine Kommentare