Mit Wireshark kann man auch komplette Kommunikationsströme nachverfolgen, also alle Pakete filtern, die eine spezifische Interaktion zwischen zwei Systemen darstellen. Dazu muss man erst ein Paket finden, das zur Interaktion zwischen den beiden Endpunkten gehört und darauf einen Verbindungsfilter anwenden.
Wir gehen im ersten Beispiel von einem bestehenden ungefilterten Mitschnitt einer FTP-Sitzung aus, bei der wir auf eine Verschlüsselung verzichtet haben. Zuerst suchen wir ein Paket aus, von dem wir wissen, dass es zu einem ganz bestimmten Kommunikationsstrom 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.
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)
In einem weiteren Beispiel können wir bei einem Paket, das erkennbar zu einer DNS-Kommunikation gehört, den Verbindungsfilter 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)