IT-Security
Wireshark lernen: Netzwerkverkehr analysieren
Wireshark lernen: du analysierst Netzwerkverkehr, findest Fehler, verstehst Protokolle und erkennst typische Probleme wie langsame Verbindungen.
KI-generiert Wireshark ist das Werkzeug, das Netzwerk-Admins und Security-Teams öffnen, wenn sie wirklich wissen wollen, was im Netzwerk passiert. Kein buntes Dashboard, sondern rohe Pakete. Genau das macht Wireshark so mächtig, aber am Anfang auch einschüchternd. In diesem Artikel geht es darum, wie du pragmatisch einsteigst: Capture, Filter, Protokolle lesen und typische Analysen.
Was Wireshark gut kann, und wofür es nicht gedacht ist
Wireshark ist ein Protokoll-Analysator. Es zeigt dir jedes einzelne Paket, das über eine Netzwerkschnittstelle geht, mit allen Headern und oft auch mit Payload.
Typische sinnvolle Einsätze:
- Du willst wissen, warum eine Verbindung langsam ist.
- Du vermutest Probleme beim TCP-Handshake.
- DNS-Auflösung wirkt träge oder liefert falsche Antworten.
- Eine Anwendung verbindet sich „irgendwohin“ und du willst sehen, wohin.
- Du suchst verdächtigen Netzwerkverkehr, etwa ungewöhnliche Protokolle oder Ports.
Weniger sinnvoll ist Wireshark, wenn:
- Du nur einen groben Überblick über Auslastung brauchst. Dann sind Tools wie Netflow, SNMP oder Grafana-Dashboards besser.
- Du auf einem stark ausgelasteten Backbone „einfach mal alles mitschneiden“ willst. Das erzeugt riesige Datenmengen, die kaum noch sinnvoll auswertbar sind.
- Du ohne klares Ziel „auf Verdacht“ mitschneiden willst. Dann verlierst du dich schnell in Details.
Die wichtigste Regel: Starte mit einer konkreten Frage. Zum Beispiel: „Warum dauert der Seitenaufruf von host.example.com so lange?“ oder „Warum bricht die Verbindung nach einigen Sekunden ab?“.
Capture: Wie du sinnvoll mitschneidest
Bevor du etwas analysieren kannst, brauchst du einen sinnvollen Mitschnitt. Dabei kommt es auf Ort, Umfang und Dauer an.
Wo du mitschneiden solltest
Grundsätzlich musst du dort mitschneiden, wo der relevante Verkehr vorbeikommt:
- Auf deinem eigenen Client, wenn du ein Problem mit deiner Verbindung debuggen willst.
- Auf dem Server, wenn du z. B. fehlerhafte Verbindungen zu einem Dienst untersuchst.
- Auf einem Switch-Port mit Port-Mirroring (SPAN), wenn du Verkehr zwischen zwei Systemen sehen willst, ohne auf den Endsystemen selbst zu sniffen.
In vielen Unternehmensnetzen in München ist das Mitschneiden auf Servern oder produktiven Switches ein sensibles Thema. Kläre unbedingt vorher, ob du das darfst und wer zuständig ist.
Mitschnitt starten: die Basics
In Wireshark:
- Wireshark mit ausreichenden Rechten starten, damit du auf die Netzwerkschnittstelle zugreifen kannst.
- Die passende Schnittstelle auswählen, etwa „Ethernet“, „Wi-Fi“ oder eine virtuelle Adapter-Schnittstelle.
- Optional einen Capture-Filter setzen, um die Datenmenge zu begrenzen.
- Capture starten, das Problem reproduzieren, dann Capture stoppen und speichern.
Wichtige Faustregeln:
- Schneide so kurz wie möglich, aber lang genug, um das Problem sicher zu erfassen.
- Wenn du weißt, welche IP oder welcher Port relevant ist, filtere schon beim Capture.
- Speichere den Mitschnitt direkt in eine Datei, falls du später noch einmal darauf zurückgreifen musst.
Capture-Filter vs. Display-Filter
Das ist eine der typischen Verwechslungen.
- Capture-Filter: Bestimmen, welche Pakete überhaupt aufgezeichnet werden. Syntax wie in tcpdump, zum Beispiel:
host 192.168.1.50port 443tcp and port 80- Display-Filter: Blenden nachträglich in der Anzeige Pakete ein oder aus. Du kannst sie jederzeit ändern, ohne neu zu capturen. Syntax ist Wireshark-spezifisch, zum Beispiel:
ip.addr == 192.168.1.50tcp.port == 443dns && ip.src == 10.0.0.5
Für den Einstieg ist es oft einfacher, erst einmal breit zu capturen (ohne oder mit sehr grobem Capture-Filter) und dann mit Display-Filtern schrittweise einzugrenzen.
Display-Filter, die du wirklich brauchst
Die Filterleiste ist dein wichtigstes Werkzeug in Wireshark. Ein paar Filter reichen, um 80 Prozent der typischen Analysen abdecken zu können.
Grundlegende IP-Filter
-
ip.addr == 192.168.1.10Alle Pakete, an denen diese IP beteiligt ist, egal ob Quelle oder Ziel. -
ip.src == 192.168.1.10Nur Pakete, die von dieser IP kommen. -
ip.dst == 192.168.1.10Nur Pakete, die zu dieser IP gehen.
Ports und Protokolle
-
tcp.port == 443Alle TCP-Pakete mit Port 443 als Quelle oder Ziel. -
udp.port == 53Typisch für DNS. -
httpoderdnsodertlsFiltert direkt nach dem erkannten Protokoll.
Du kannst Filter kombinieren, zum Beispiel:
ip.addr == 192.168.1.10 && tcp.port == 443dns && ip.addr == 10.0.0.5
Fehler und Auffälligkeiten
Ein paar nützliche Filter für Troubleshooting:
-
tcp.flags.syn == 1 && tcp.flags.ack == 0Nur initiale SYN-Pakete, um neue Verbindungen zu sehen. -
tcp.analysis.retransmissionZeigt TCP-Retransmits, oft ein Hinweis auf Paketverluste oder schlechte Leitungen. -
tcp.analysis.flagsWireshark markiert damit diverse TCP-Anomalien. -
icmpFür Ping und andere ICMP-Meldungen, etwa „Destination unreachable“.
Protokolle lesen: Was du wirklich verstehen solltest
Du musst nicht jedes Detail jedes Protokolls kennen. Für die meisten Analysen reichen einige Kernkonzepte.
TCP-Handshake und Verbindungsaufbau
Der klassische Drei-Wege-Handshake:
- Client sendet SYN an Server.
- Server antwortet mit SYN, ACK.
- Client bestätigt mit ACK.
In Wireshark siehst du das im Info-Feld typischerweise als:
SYNSYN, ACKACK
Wenn der Handshake nicht vollständig ist, deutet das auf Probleme hin:
- Du siehst nur das SYN, aber kein SYN, ACK: Server oder Weg zum Server blockiert oder nicht erreichbar.
- Du siehst SYN und SYN, ACK, aber kein abschließendes ACK: Der Client bekommt die Antwort nicht oder reagiert nicht.
Später im Verlauf der Verbindung sind FIN und RST interessant:
FIN, ACK: geordnete Verbindungsbeendigung.RST: abrupter Verbindungsabbruch, oft von Firewalls oder bei unerwartetem Verkehr.
DNS: Namen zu Adressen
DNS ist häufig die Ursache für „langsames Internet“. In Wireshark erkennst du DNS-Verkehr an:
- Protokoll:
DNS - Port: meist UDP 53, manchmal auch TCP 53.
Wichtige Felder in einem DNS-Paket:
- Query Name: der angefragte Hostname.
- Query Type: A, AAAA, MX, etc.
- Answer: die Antwort mit IP-Adresse.
Typischer Ablauf:
- Client sendet DNS-Query.
- DNS-Server antwortet mit passender IP (A oder AAAA Record).
Probleme erkennst du an:
- Mehrfachen identischen DNS-Anfragen kurz hintereinander ohne Antwort.
- Sehr langen Antwortzeiten im Vergleich zu anderen Paketen.
- NXDOMAIN-Antworten, wenn Namen nicht auflösbar sind.
Filterbeispiele:
dns && ip.addr == 192.168.1.10dns.flags.response == 0für nur Anfragendns.flags.response == 1für nur Antworten
HTTP/HTTPS und TLS
Unverschlüsseltes HTTP kannst du direkt lesen:
- Protokoll:
HTTP - Du siehst GET, POST, Statuscodes wie 200, 404, 500.
Bei HTTPS ist der Inhalt verschlüsselt, aber der TLS-Handshake ist sichtbar. Du erkennst:
- ClientHello und ServerHello.
- Version und Cipher Suites.
- SNI (Server Name Indication) im ClientHello, damit siehst du, welchen Hostnamen der Client eigentlich ansprechen wollte.
Filterbeispiele:
httptlstls.handshake.type == 1für ClientHello
Auch wenn du die Payload nicht lesen kannst, helfen dir Timing, Wiederholungen und Fehlercodes, um Performance- oder Verbindungsprobleme zu sehen.
Typische Analysen mit Wireshark
Schauen wir uns ein paar klassische Szenarien an, bei denen Wireshark wirklich hilft.
Fall 1: Langsame Verbindung zu einer Webanwendung
Symptom: Der Seitenaufbau einer Webanwendung dauert gefühlt ewig.
Vorgehen:
- Capture auf dem Client starten.
- Browser-Cache leeren, dann die Seite neu laden.
- Capture stoppen und nach
ip.addr == <Server-IP>filtern.
Fragen, die du mit Wireshark beantworten kannst:
- Dauert die DNS-Auflösung lange? Filter
dns && ip.addr == <Client-IP>und prüfe Zeitabstände. - Liegt die Verzögerung vor oder nach dem TCP-Handshake? Filter
tcp.flags.syn == 1und schau auf die Zeit zwischen SYN und SYN, ACK. - Gibt es viele TCP-Retransmits? Filter
tcp.analysis.retransmission. Viele Retransmits deuten auf Paketverluste hin. - Verzögert der Server die Antworten? Sortiere nach Zeit und schau, wie lange es von einem Request (z. B. HTTP GET) bis zur ersten Serverantwort dauert.
So grenzt du ein, ob das Problem eher im DNS, im Netzwerk oder auf dem Server selbst liegt.
Fall 2: TCP-Handshake funktioniert nicht
Symptom: Eine Anwendung kann eine Verbindung zu einem Dienst nicht aufbauen.
Vorgehen:
- Capture auf dem Client starten.
- Anwendung starten bzw. Verbindung auslösen.
- Nach
tcp.port == <Zielport>filtern.
Typische Muster:
- Nur SYN sichtbar, keine Antwort:
- Mögliche Ursachen: Firewall blockiert, Server offline, Routingproblem.
- SYN, SYN, ACK, dann nichts:
- Client bekommt Antwort nicht oder verwirft sie.
- Mehrfache SYNs im Abstand von Sekunden:
- Client versucht wiederholt, Server zu erreichen.
Wenn du die Möglichkeit hast, zusätzlich auf dem Server mitzuschneiden, kannst du vergleichen: Kommt das SYN dort überhaupt an? So findest du heraus, ob das Problem auf dem Weg liegt oder am Endpunkt.
Fall 3: DNS wirkt träge oder fehlerhaft
Symptom: Browser zeigt „Server nicht gefunden“ oder Seiten laden nur, wenn man die IP direkt eingibt.
Vorgehen:
- Capture auf dem Client starten.
- Problem reproduzieren, etwa Aufruf einer problematischen Domain.
- Filter
dns && ip.addr == <Client-IP>setzen.
Achte auf:
- Zeit zwischen Anfrage und Antwort.
- Antwort-Typ: NOERROR, NXDOMAIN, SERVFAIL.
- Ob der Client immer wieder neue Anfragen für denselben Namen schickt, weil Antworten fehlen oder nicht akzeptiert werden.
So erkennst du, ob der DNS-Server nicht antwortet, falsche Antworten liefert oder ob vielleicht mehrere DNS-Server durcheinanderfunken.
Praktische Tipps für den Alltag mit Wireshark
Ein paar Dinge erleichtern dir die Arbeit enorm:
- Nutze „Follow TCP Stream“ für einzelne Verbindungen. Kontextmenü auf einem Paket, dann „Follow“, „TCP Stream“. Du siehst die Kommunikation zwischen zwei Endpunkten in einem Fenster.
- Speichere gefilterte Ausschnitte in eigene Dateien. So kannst du z. B. einen problematischen Flow exportieren und anderen zur Analyse geben.
- Markiere interessante Pakete mit „Mark Packet“. So findest du sie später leichter wieder.
- Nutze die Farbregeln. Wireshark hebt z. B. TCP-Retransmits oder Fehler standardmäßig farbig hervor, das Auge lernt diese Muster mit der Zeit.
Gerade wenn du in einem Team arbeitest oder in einem Münchner Unternehmen mit komplexer Infrastruktur unterwegs bist, lohnt es sich, ein gemeinsames Grundverständnis zu etablieren. Dazu passen begleitende Schulungen, in denen ihr typische Szenarien aus eurem Alltag gemeinsam durchgeht. Aktuelle Termine und passende Kurse findest du bei cmt.de.
Wann du besser ein anderes Werkzeug nimmst
Wireshark ist kein Allheilmittel. Es ist sehr stark, wenn du:
- konkrete Probleme auf Paketebene untersuchst,
- Protokolle verstehen oder debuggen willst,
- Security-Auffälligkeiten im Detail prüfen musst.
Es ist weniger geeignet, wenn du:
- langfristige Trends und Auslastung sehen willst,
- Netzwerkverkehr über viele Geräte hinweg in Aggregaten analysieren willst,
- sehr große Datenmengen in Echtzeit korrelieren musst.
Dann sind Monitoring- und Logging-Plattformen, IDS/IPS-Systeme oder Flow-Analysen die bessere Wahl. Im Idealfall ergänzen sich diese Tools: Monitoring zeigt dir, dass etwas nicht stimmt. Wireshark zeigt dir, was genau passiert.
Fazit: Mit klaren Fragen in die Paketanalyse
Wireshark zu lernen heißt nicht, jedes Bit in jedem Paket auswendig zu kennen. Entscheidend ist, dass du:
- weißt, wo und wie du sinnvoll mitschneidest,
- Display-Filter gezielt einsetzt,
- grundlegende Protokolle wie TCP, DNS und HTTP/TLS lesen kannst,
- typische Muster für Handshakes, Fehler und Performanceprobleme erkennst.
Wenn du mit klaren Fragen in die Analyse gehst und nicht versuchst, „das ganze Netzwerk“ auf einmal zu verstehen, wird Wireshark schnell zu einem sehr praktischen Werkzeug im Alltag, egal ob du in einem kleinen Admin-Team oder in einer großen IT-Abteilung in München unterwegs bist.
Nächster Schritt
Passenden Kurs zu IT-Security finden.
Feste Termine, erfahrene Trainer, Präsenz in München und Durchführungsgarantie. Buchen kannst du direkt auf cmt.de.