Wireshark ist der führende Open-Source-Analysator für Netzwerkverkehr, der zur Echtzeit-Erfassung und -Untersuchung von Paketen verwendet wird. Das Werkzeug unterstützt mehr als zweitausend Netzwerkprotokolle und läuft auf allen wichtigen Plattformen. Laut der Wireshark User Guide (2026) wird das Dienstprogramm für die Diagnose von Netzwerken, das Debugging von APIs und die Sicherheitsanalyse in der mobilen und Web-Entwicklung eingesetzt.
Das Wichtigste
Wireshark ist ein Open-Source-Programm (GPLv2), das Datenpakete erfasst, die durch die Netzwerkschnittstelle des Computers laufen. Es basiert auf der Bibliothek libpcap (Unix) oder Npcap (Windows) für die Erfassung auf der Sicherungsschicht des OSI-Modells.
Im normalen Modus empfängt eine Netzwerkkarte nur Frames, die an ihre MAC-Adresse gerichtet sind. Wireshark schaltet die Schnittstelle in den Promiscuous-Modus (nichtselektiv), in dem das System alle durchlaufenden Frames unabhängig vom Empfänger verarbeitet. Die erfassten Daten werden über einen Raw Socket an den Kernel übergeben, danach kopiert die Bibliothek libpcap sie für die Analyse in den Benutzerraum.
Wireshark verwendet eine modulare Architektur: Jedes Protokoll ist als eigener Dissector implementiert — ein Plugin, das Binärdaten parst und sie in strukturierter Form darstellt. Stand 2026 implementiert das Programm Dissectoren für 2 874 Protokolle, darunter HTTP/2, QUIC, gRPC und MQTT. Die Dissectoren arbeiten über das Protokollbaum-System — jedes Paket wird schichtweise zerlegt: vom Ethernet-Frame bis zur Anwendungsschicht.
// Beispiel eines einfachen Dissectors für ein benutzerdefiniertes Protokoll
static int dissect_custom(tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree, void *data) {
proto_item *ti = proto_tree_add_item(tree, hf_custom_field,
tvb, 0, tvb_captured_length(tvb), ENC_NA);
return 0;
}
Die grafische Oberfläche von Wireshark ist in drei Bereiche unterteilt: Paketliste (packet list), Protokolldetails (packet details) und Hex-Dump (packet bytes). Jeder Bereich wird in Echtzeit aktualisiert und unterstützt interaktive Navigation — ein Klick auf eine Paketzeile öffnet dessen vollständige Struktur.
Das Werkzeug liest Erfassungsdateien in den Formaten pcap, pcapng, snoop und NetMon. Der Export ist in JSON, XML, CSV und Klartext möglich. Zu den wichtigsten Protokollen der Anwendungsschicht gehören HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP und Protobuf. Für die mobile Entwicklung ist die Unterstützung von gRPC und HTTP/2 mit Stream-Multiplexing besonders wichtig.
Zu den integrierten Dienstprogrammen gehören Follow Stream (Wiederherstellung des vollständigen TCP/UDP/TLS-Dialogs), IO Graph (Bandbreitendiagramm), Gesprächsstatistiken (Conversations) und Protokollhierarchie (Protocol Hierarchy). Die Funktion Flow Graph visualisiert die Paketfolge zwischen Knoten, was die Suche nach Ursachen von Verzögerungen beim Debuggen der Client-Server-Interaktion vereinfacht.
Der Start der Erfassung beginnt mit der Auswahl einer Netzwerkschnittstelle — Ethernet, Wi-Fi, Bluetooth PAN oder Loopback. Unter Windows kann die Installation von Npcap im WinPcap API Compatible Mode erforderlich sein. Für die Erfassung auf mobilen Geräten wird Remote Packet Capture über einen SSH-Tunnel verwendet.
Auf einem Android-Gerät wird der Verkehr über tcpdump oder PCAPdroid erfasst und anschließend die Datei auf den Arbeitscomputer übertragen. Der Befehl für die Remote-Erfassung über ADB:
# Verkehrserfassung auf Android über ADB shell
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Auf den Computer kopieren
adb pull /sdcard/capture.pcap .
Unter Windows läuft localhost-Verkehr (127.0.0.1) nicht über eine physische Schnittstelle, daher sieht Wireshark ihn nicht direkt. Die Lösung ist die Installation von Npcap mit der Option Loopback Support oder die Umleitung des Verkehrs über RawCap. Unter Linux und macOS wird die Loopback-Schnittstelle (lo) ohne zusätzliche Einstellungen erfasst.
Wireshark bietet zwei Arten von Filtern: Capture-Filter (werden vor der Erfassung auf libpcap-Ebene angewendet) und Display-Filter (werden auf bereits erfasste Daten angewendet). Capture-Filter verwenden die BPF-Syntax (Berkeley Packet Filter), Display-Filter — die eigene Sprache von Wireshark mit Autovervollständigung.
BPF-Filter werden im tcpdump-Format geschrieben und im Kernel ausgeführt, was den Paketverlust bei hoher Last minimiert. Beispiele für Filter:
| Filter | Zweck |
|---|---|
| tcp port 80 | Nur HTTP-Verkehr auf dem Standard-Port |
| host 192.168.1.1 | Pakete von einem bestimmten Host |
| not arp | Alle Pakete außer ARP-Anfragen |
Display-Filter werden nachträglich angewendet und unterstützen komplexe Bedingungen mit den logischen Operatoren and, or, not. Beispiel: http.request.method == "POST" and ip.src == 192.168.0.100 filtert nur POST-Anfragen von einer bestimmten IP. Filter können als Favoriten für die Wiederverwendung gespeichert werden.
HTTP-Verkehr wird in Wireshark in lesbarer Form angezeigt: Anfragemethode, URI, Header und Antworttext. Die Funktion Follow TCP Stream sammelt den vollständigen Dialog zwischen Client und Server in einem Fenster. Für HTTPS ist die Entschlüsselung von TLS-Sitzungen erforderlich, da der Inhalt verschlüsselt ist.
Die Browser Chrome und Firefox unterstützen die Umgebungsvariable SSLKEYLOGFILE, die TLS-Sitzungsschlüssel in eine Textdatei schreibt. Wireshark verwendet diese Datei zur Entschlüsselung der Datensätze. Die Einrichtung erfolgt über Preferences → Protocols → TLS → (Pre)-Master-Secret log filename.
# Chrome mit TLS-Schlüsselprotokollierung starten
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .
# Nach der Erfassung den Pfad in Wireshark angeben
# Edit → Preferences → Protocols → TLS → Log Filename
gRPC verwendet HTTP/2 als Transport und Protobuf zur Datenserialisierung. Wireshark entschlüsselt gRPC-Nachrichten, wenn eine .proto-Datei mit den Strukturdefinitionen bereitgestellt wird. Der Protobuf-Dissector ordnet binäre Felder den Namen aus der Proto-Datei zu, was beim Debugging einer Microservice-Architektur entscheidend ist.
Mobiles Debugging mit Wireshark erfordert das Proxying des Geräteverkehrs auf den Computer. Die zuverlässigste Methode ist die Erstellung eines Wi-Fi-Zugangspunkts auf dem Laptop und die Umleitung des Verkehrs über NAT. Unter Android ist auch die VPN-Methode mit der App PCAPdroid ohne Root-Rechte verfügbar.
PCAPdroid erstellt einen lokalen VPN-Dienst, der den App-Verkehr über einen UDP-Stream an Wireshark weiterleitet. Die App benötigt keinen Root-Zugriff und unterstützt die Filterung nach einzelnen Prozessen. Die erhaltenen pcap-Dateien werden für die vollständige Analyse in Wireshark geöffnet.
# Empfang des Verkehrs von PCAPdroid auf dem Computer
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap
Wireshark ist ein universelles Werkzeug, aber für konkrete Aufgaben gibt es spezialisiertere Lösungen. tcpdump ist effektiver für die Server-Erfassung ohne Grafik, Charles Proxy ist bequemer für die Analyse von HTTPS-Verkehr und Fiddler — für die Inspektion von Web-Verkehr mit der Möglichkeit, Anfragen spontan zu ändern.
Charles Proxy agiert als Zwischen-Proxy-Server mit der Möglichkeit, HTTPS über eine eigene SSL-Zertifizierung abzufangen. Im Gegensatz zu Wireshark benötigt Charles keine SSLKEYLOGFILE-Einrichtung und kann Verkehr nicht nur anzeigen, sondern auch ändern — Antworten ersetzen, Verzögerungen emulieren und Anfragen wiederholen.
Fiddler ist ein weiteres Proxy-Werkzeug, das im .NET-Ökosystem beliebt ist. Es bietet einen integrierten Anfrage-Editor, AutoResponder-Unterstützung für Mocks und einen Composer zum Erstellen benutzerdefinierter Anfragen. Fiddler eignet sich besser für die Analyse des Web-Verkehrs von Browsern, Wireshark — für die Low-Level-Netzwerkanalyse.
| Werkzeug | Typ | HTTPS ohne Schlüssel | Verkehrsänderung |
|---|---|---|---|
| Wireshark | Sniffer | Nein (SSLKEYLOGFILE nötig) | Nur Anzeige |
| Charles | Proxy | Ja (benutzerdefiniertes Zertifikat) | Ja |
| Fiddler | Proxy | Ja (benutzerdefiniertes Zertifikat) | Ja |
| tcpdump | Sniffer | Nein | Nur Anzeige |
Wireshark erfordert das Verständnis der grundlegenden Prinzipien der Verkehrserfassung. Ein häufiges Szenario ist die Suche nach der Ursache von Verzögerungen in einer mobilen App über den Filter tcp.analysis.ack_rtt. Verwenden Sie für die Suche nach langsamen HTTP-Anfragen die Bedingung http.time größer als 1.
Um langsame HTTP-Anfragen zu finden, filtern Sie http.time größer als 1 — Wireshark zeigt Anfragen mit einer Antwortzeit von mehr als 1 Sekunde. Kombinieren Sie dies mit ip.addr zur Analyse eines bestimmten Servers. Ein IO Graph mit 1-Sekunden-Intervall zeigt Lastspitzen anschaulich.
Wireshark unterstützt den Export in CSV, JSON und XML über das Menü File. Für die automatische Analyse verwenden Sie tshark — die Konsolenversion, die in CI/CD-Pipelines arbeitet. Tshark unterstützt dieselben Filter und Ausgabeformate wie die grafische Version.
Wireshark erfordert das Verständnis der grundlegenden Prinzipien der Verkehrserfassung. Ein häufiges Szenario ist die Suche nach der Ursache von Verzögerungen in einer mobilen App über den Filter tcp.analysis.ack_rtt. Verwenden Sie für die Suche nach langsamen HTTP-Anfragen die Bedingung http.time größer als 1.
Um langsame HTTP-Anfragen zu finden, filtern Sie http.time größer als 1 — Wireshark zeigt Anfragen mit einer Antwortzeit von mehr als 1 Sekunde. Kombinieren Sie dies mit ip.addr zur Analyse eines bestimmten Servers. Ein IO Graph mit 1-Sekunden-Intervall zeigt Lastspitzen anschaulich.
Wireshark unterstützt den Export in CSV, JSON und XML über das Menü File. Für die automatische Analyse verwenden Sie tshark — die Konsolenversion, die in CI/CD-Pipelines arbeitet. Tshark unterstützt dieselben Filter und Ausgabeformate wie die grafische Version.
Häufig gestellte Fragen
Wireshark bietet eine grafische Oberfläche mit Paketvisualisierung, integrierten Filtern und Statistiken. tcpdump ist ein Konsolen-Dienstprogramm ohne GUI, das für die Server-Erfassung über SSH praktisch ist. Wireshark kann tcpdump-Dateien lesen und umgekehrt.
Für die Entschlüsselung wird eine Datei mit TLS-Sitzungsschlüsseln (SSLKEYLOGFILE) benötigt. Chrome und Firefox exportieren die Schlüssel beim Start mit der Umgebungsvariable. Der Pfad zur Datei wird in den Einstellungen Protocols → TLS in Wireshark angegeben.
Loopback-Verkehr unter Windows läuft standardmäßig nicht über den Npcap-Treiber. Die Lösung ist die Installation von Npcap mit aktivierter Option Loopback Support oder die Verwendung des Dienstprogramms RawCap zur Erfassung des lokalen Verkehrs.
Ja, über das Proxying des Verkehrs auf den Computer. Android unterstützt die Erfassung über PCAPdroid (ohne Root) oder tcpdump (mit Root). iOS erfordert für die Erfassung RVI (Remote Virtual Interface) über macOS oder Jailbreak.
Der Display-Filter frame contains sucht eine Zeichenfolge oder Hex-Sequenz im gesamten Paket. Beispiel: frame contains "password" findet Pakete mit der Teilzeichenfolge password in einem beliebigen Feld. Für die genaue Suche nach einem Feld verwenden Sie http.request.uri contains "api".
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch