Wireshark

14. Juli 2025

Nachdem wir uns zuletzt tcpdump angesehen haben, ist es Zeit für das grafische Pendant dazu. Wireshark macht im Grunde dasselbe wie tcpdump – analysiert Netzwerkverkehr –, nur mit einer benutzerfreundlichen Oberfläche.

Was ist Wireshark?

Wireshark ist ein Network Protocol Analyzer – ein Tool, das jedes Paket aufzeichnet, das durch ein Netzwerk-Interface läuft. Es ist wie eine Überwachungskamera für den Netzwerkverkehr, die alles mitschneidet und später Frame für Frame anzeigt.

Das Tool gibt es seit über 25 Jahren, ist Open Source und unterstützt über 3000 Protokolle. Von HTTP über TCP bis hin zu exotischen Industrial-Protokollen – Wireshark kann’s lesen.

Installation und Setup

Download

# Ubuntu/Debian
sudo apt-get install wireshark

# macOS (mit Homebrew)
brew install wireshark

# Windows: Download von wireshark.org

Für Linux-User: Um nicht immer Root-Rechte zu benötigen, kann der eigenen Benutzer in die wireshark Gruppe hinzugefügt werden:

sudo usermod -a -G wireshark $USER
# Danach neu einloggen

Erstes Capture

  1. Wireshark starten
  2. Ein Network Interface auswählen (meist eth0 oder wlan0)
  3. Den blauen Haifisch-Button klicken
  4. Ein bisschen Netzwerk-Traffic machen (Website öffnen)

Fertig – nun werden die einzelnen Requests in Echtzeit angezeigt.

Die Wireshark-Oberfläche verstehen

Das Interface ist dreigeteilt und erschließt sich schnell, sobald die grundlegenden Funktionen bekannt sind:

Packet List (oben)

Alle Pakete chronologisch. Die wichtigsten Spalten:

  • Time: Zeitstempel
  • Source/Destination: Von wo nach wo
  • Protocol: HTTP, TCP, DNS, etc.
  • Info: Was passiert in dem Paket

Packet Details (Mitte)

Das ausgewählte Paket wird hier im Detail angezeigt:

  • Frame (Physical Layer Info)
  • Ethernet (MAC Adressen)
  • IP (IP Adressen, TTL, etc.)
  • TCP (Ports, Sequence Numbers)
  • HTTP (Headers, Content)

Packet Bytes (unten)

Die rohen Hex-Daten. Meist nicht so spannend, aber manchmal hilfreich.

Filter

Ohne Filter sieht man in Wireshark den Wald vor lauter Bäumen nicht mehr. Die Filter-Syntax von Wireshark ist mächtig und „relativ“ einfach:

Display Filter (die wichtigeren)

# Nur HTTP Traffic
http

# Nur Traffic von/zu einer IP
ip.addr == 192.168.1.100

# TCP Traffic auf Port 80
tcp.port == 80

# HTTP GET Requests
http.request.method == "GET"

# TCP-Probleme finden
tcp.analysis.flags

# Kombinationen
http and ip.addr == 192.168.1.100
tcp.port == 443 or tcp.port == 80

Capture Filter (vor dem Aufzeichnen)

# Nur HTTP Traffic aufzeichnen
port 80 or port 443

# Traffic von bestimmter IP
host 192.168.1.100

# Nur TCP
tcp

Display Filter kann man jederzeit ändern, Capture Filter nur vor dem Start. Für die meisten Fälle reichen Display Filter.

Praktische Use Cases

tcpdump + Wireshark

Hier wird’s richtig praktisch. Wer die Pakete auf einem Server protokollieren will, kann dort meist nicht einfach Wireshark installieren, da es keine GUI gibt. Stattdessen können die Pakete mit tcpdump aufgezeichnet und anschließend auf eine Host mit installiertem Wireshark anaylsiert werden.

# Auf dem Server: Traffic in Datei speichern
sudo tcpdump -i eth0 -w debug.pcap host api.example.com

# Datei kopieren
scp user@server:/path/to/debug.pcap ./

# In Wireshark öffnen: File → Open → debug.pcap

API-Debugging

Die REST API spinnt?

  • Welche Headers wirklich gesendet werden
  • Ob die Payload korrekt ankommt
  • HTTP Status Codes
  • Response Times

Filter: http and ip.addr == your-api-server-ip

SSL/TLS entschlüsseln

HTTPS-Traffic ist verschlüsselt, aber man siehst trotzdem Handshake-Probleme und Zertifikatsfehler.

Trick: Chrome und Firefox können ihre SSL-Keys exportieren, damit der Traffic in Wireshark entschlüsselt werden kann:

# SSL-Keys loggen lassen
export SSLKEYLOGFILE=~/ssl-keys.log
google-chrome  # oder firefox

Dann in Wireshark: Edit → Preferences → Protocols → TLS → (Pre)-Master-Secret log filename → Pfad zu ssl-keys.log

Jetzt sieht man den entschlüsselten HTTPS-Traffic! Funktioniert aber nur für Browser-Traffic.

Filter: ssl oder tls

DNS-Debugging

DNS-Lookups schlagen fehl?

  • Welche DNS-Server angefragt werden
  • Ob Antworten kommen
  • DNS-Response-Codes

Filter: dns

Performance-Probleme

Langsame Verbindungen?

  • TCP Retransmissions
  • Hohe Round-Trip-Times
  • Window-Size-Probleme

Filter: tcp.analysis.flags

Tricks

Follow TCP Stream

Rechtsklick auf ein Paket → „Follow TCP Stream“ zeigt die komplette Konversation zwischen Client und Server. Perfekt für HTTP-Debugging.

Export Objects

File → Export Objects → HTTP listet alle übertragenen Dateien auf. Praktisch, um zu sehen, was wirklich geladen wird.

Colorizing

View → Coloring Rules hilft, verschiedene Pakettypen farblich zu unterscheiden. Fehler sind meist rot markiert.

Statistics

Statistics → Conversations zeigt, welche Hosts am meisten Traffic generieren.

Häufige Stolperfallen

Zu viele Pakete

Benutze Capture Filter, um nur relevanten Traffic aufzuzeichnen. Sonst wird Wireshark langsam und unübersichtlich.

Switched Networks

Hier wird’s komplizierter. In modernen Netzwerken mit Switches sieht man standardmäßig nur Traffic, der direkt zum eigenen Host geht oder von ihm kommt.

Das liegt daran, dass Switches „intelligent“ sind – sie lernen, welche MAC-Adressen an welchen Ports hängen und schicken Pakete nur dorthin, wo sie hingehören. Gut für Performance, schlecht für Analyse.

Wenn man den Traffic zwischen anderen Hosts sehen willst, braucht man:

  • Port Mirroring: Der Switch kopiert allen Traffic eines Ports auf deinen Port
  • Hub statt Switch: Hubs sind „dumm“ und schicken alles an alle (gibt’s aber kaum noch)
  • Monitoring direkt auf dem Zielhost: Wireshark auf dem Server laufen lassen

Permissions

Ohne Admin-Rechte sieht man nicht alle Interfaces. Unter Linux hilft die Wireshark-Gruppe.

Legale Hinweise

Wireshark nur auf eigenen Systemen benützen oder mit ausdrücklicher Erlaubnis des Eigentümers. Das unerlaubte Abfangen von Netzwerkverkehr kann strafbar sein.

Fazit

Wireshark ist ein mächtiges Tool, das hilft, Netzwerkprobleme zu verstehen und zu lösen. Die Lernkurve ist am Anfang steil, aber nach ein paar Grundlagen, ist es ein super nützliches Tool.