Was ist Wireshark und wozu nutzen es Hacker und Penetration Tester? Stell dir vor, du möchtest in das Netzwerk eines Unternehmens eindringen und konntest dir Zutritt zu den Büroräumen verschaffen. Leider hindert dich die NAC (Network-Access-Controll) daran, dich direkt per LAN zu verbinden und auf Netzwerkressourcen zuzugreifen. Jedoch findest du einen Drucker, den du via LAN mit deinem Laptop verbindest. Nun kannst du Wireshark beispielsweise nutzen, um die MAC-Adresse des Druckers auszulesen. Anschließend kannst du dich als dieser Drucker ausgeben und dir so Zutritt zum internen Netzwerk verschaffen.
Dies ist nur ein mögliches Anwendungsszenario für den Netzwerksniffer Wireshark. Was das Tool sonst noch kann und wie du die Filter in Wireshark effizient einsetzt, erfährst du in diesem Artikel.
(Letztes Update: 26.10.2023)
Wireshark ist ein 2006 entwickelter Open Source Netzwerksniffer, welcher hauptsächlich zur Protokollanalyse, Netzwerküberwachung und Fehlersuche eingesetzt wird.
Die Software ermöglicht das Lesen, Aufzeichnen und Analysieren von Datenverkehr auf verschiedenen Kommunikationsschnittstellen. Wireshark zeigt bei einer Aufzeichnung sowohl den Protokollkopf (Header) als auch den übertragenen Inhalt (Payload) an. Diese werden hierbei grafisch ausgewertet, was das Nachvollziehen von Netzwerkverkehr um einiges einfacher und übersichtlicher macht.
Zur Netzwerkanalyse greift Wireshark z. B. auf die sogenannte „pcap“ (packet capture) API zurück, um Pakete direkt am Netzwerkinterface abzugreifen. Die pcap-API unterstützt außerdem die Auflistung aller verfügbaren Netzwerkschnittstellen und die Möglichkeit, „mitgehörte“ Pakete in eine Datei zu speichern. Diese Dateien werden mit der Endung „.pcap“ versehen. Mithilfe dieser Dateien kannst du alle gesammelten Daten anschließend mit Wireshark auswerten.
Wireshark ist nicht der einzige Packetsniffer, der die pcap-Schnittstelle nutzt. Weitere Beispiele sind tcpdump, tshark oder Snort und Suricata.
Sowohl Black Hat als auch White Hat Hacker und Penetration-Testersetzen Wireshark ein, um die Ergebnisse von Man-in-the-Middle-Angriffen auszuwerten. Ziel ist es hierbei, an sensible Informationen wie die von VoIP-Calls, LLDP, STP, HSRP und VRRP oder auch Basic Authentications zu gelangen.
Wireshark kommt jedoch nicht nur bei (simulierten) Angriffen zum Einsatz, sondern wird auch von Systemadministratoren verwendet. In diesem Fall ist das Ziel, Netzwerkprobleme zu verstehen und zu beheben.
Warum ist das sinnvoll? Wireshark bietet die Möglichkeit, den gesamten über das Medium empfangenen Netzwerkverkehr zu überprüfen und alle in diesen Verbindungen ausgetauschten Netzwerkpakete zu analysieren – sofern der Datenverkehr nicht verschlüsselt ist. Dadurch ist es sehr einfach, die Ursache von Problemen zu finden.
Die Benutzerfläche von Wireshark ist in mehrere Abschnitte unterteilt. Wenn man die Applikation startet, landet man als erstes in der Auswahl Interfaces / Netzwerkschnittstellen.
In dieser Auswahl legst du fest, auf welchem Interface das Tool den Datenverkehr mitschneiden soll. Außerdem setzt du hier die Capture Filter. So limitierst du, welche Paket Typen gefangen werden sollen.
Mit einem Doppelklick auf eine dieser Schnittstellen gelangst du in die jeweilige Detailansicht.
In der Detailansicht sticht besonders die Live Packet Ansicht heraus. In dieser Ansicht werden sämtliche Netzwerkpakete dargestellt, die Wireshark aktuell empfängt.
Hier findest du unter anderem die Source & Destination IP des Pakets sowie das verwendete Protokoll. Alle hier angezeigten Pakete kannst du durch den Display filtern.
Sobald du ein Paket anklickst, siehst du den Protokoll Header sowie den gesamte Payload, den du auch zusammengefasst in der „Info“ Sektion der Live Packet Ansicht wiederfindest. Unter dem Protokoll Header & Payload befindet sich das gesamte Netzwerkpaket noch einmal im Hexadezimal & ASCII Format.
Hier ist anzumerken, dass die Darstellung mittels ASCII-Zeichen nur erfolgt, sofern die Information sich über diesen Zeichensatz darstellen lässt.
Wenn du in der Vergangenheit schon einmal in die Verlegenheit kamst, relevante Informationen in einer größeren Datenmenge zu finden, kannst du dir wahrscheinlich vorstellen, warum Filter ein sehr wichtiger Teil von Wireshark sind.
Wenn man alle Arten von Datenverkehr mitschneidet, kann dies sehr schnell zu Millionen von Paketen führen, die es erheblich erschweren, den eigentlich gesuchten Netzwerkverkehr zu finden.
Glücklicherweise bietet Wireshark ein umfangreiches Filtersystem, mit dem du den für deine Fragestellung unwichtigen Datenverkehr herausfiltern kannst. Hierbei gibt es zwei Möglichkeiten: Capture Filter und Display Filter.
Capture Filter legst du bereits vor dem Start einer Paketerfassung fest. Während der Erfassung kannst du sie nicht anpassen. Pakete, die nicht dem Filter entsprechen, werden gar nicht erst mitgeschnitten.
Hier ist eine Liste möglicher Capture Filter in Wireshark:
Filter | Anwendungszweck |
&& | UND-Parameter. Wird verwendet um mehrere Filter miteinander zu verketten. |
host 192.168.13.37 | Nur Pakete mitschneiden, die192.168.13.37 als Sender oder Empfänger haben. |
net 192.168.13.0/24 | Nur Pakete einer IP Range mitschneiden. |
src net 192.168.13.0/24 | Nur Pakete mitschneiden welche aus einer IP Range gesendet werden. |
dst net 192.168.13.0/24 | Nur Pakete mitschneiden welche zu einer IP Range gesendet werden. |
port 80 | Pakete mitschneiden welche Port 80 verwenden. |
!(arp or icmp) | Alle Pakete außer ARP oder ICMP Erfassen. Sehr nützlich um uninteressanten Traffic zu beseitigen. |
Display Filter ermöglichen dir, im laufenden Mitschnitt über Parameter nach bestimmten Inhalten zu suchen.
Dies ist eine Liste möglicher Display Liste in Wireshark:
Filter | Anwendungszweck |
&& | UND-Parameter. Wird verwendet um mehrere Filter miteinander zu verketten. |
ip.addr == 192.168.13.37 | Nur Pakete anzeigen welche 192.168.13.37 als Sender oder Empfänger haben. |
ip.src == 192.168.13.37 | Nur Pakete anzeigen welche 192.168.13.37 als Sender haben. |
tcp.dst == 192.168.13.37 | Nur TCP-Pakete anzeigen, die 192.168.13.37 als Empfänger haben. |
tcp.port == 80 | Pakete anzeigen welche TCP Port 80 verwenden. |
udp.port == 5353 | Pakete anzeigen welche UDP Port 5353 verwenden. |
!(arp or icmp) | Alle Pakete außer ARP oder ICMP anzeigen. Sehr nützlich um uninteressanten Traffic zu beseitigen. |
Die Frage “Was ist Wireshark?” kannst du nun umfassend beantworten: Der Netzwerksniffer wird von Systemadministratoren, Hackern und Penetration Testern genutzt, um Pakete im Netzwerkverkehr direkt an Interfaces mitzuschneiden. Die gesammelten Informationen können entweder zur Fehleranalyse oder für das unbefugte Eindringen in Netzwerke genutzt werden. Filter helfen dabei, die Menge der verfügbaren Informationen auf das zu beschränken, was für deinen Einsatz relevant ist.
Wir verwenden Cookies, und Google reCAPTCHA, das Google Fonts lädt und mit Google-Servern kommuniziert. Durch die weitere Nutzung unserer Website stimmen Sie der Verwendung von Cookies und unserer Datenschutzerklärung zu.