Wireshark
Wireshark ist eine freie Software zur Analyse und grafischen Aufbereitung von Datenprotokollen, die 2006 als Fork des Programms Ethereal (Anspielung auf Ethernet) entstanden ist.
Vergangenheit und Zukunft
- Vorläufer von Ethereal und Wireshark waren Netzwerk-Analyse-Produkte kommerzieller Hersteller.
- In Erscheinungsform und Wirkungsweise erinnert manches an diese Vorläufer.
- Einige sind inzwischen durch das erfolgreiche Open-Source-Projekt Ethereal/Wireshark vom Markt verdrängt und infolgedessen eingestellt worden.
- Wireshark ist ein paket- und nicht datenorientierter Sniffer.
- Schwerpunkt ist die Analyse punktueller Probleme.
Einleitung
- Solche Datenprotokolle verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, Bluetooth oder USB.
- Hilft bei der Suche nach Netzwerkproblemen, der Ermittlung von Botnet-Verbindungen oder beim Netzwerk-Management.
- Wireshark zeigt bei einer Aufnahme sowohl den Protokoll-Kopf als auch den übertragenen Inhalt an.
- Das Programm stützt sich bei der grafischen Aufbereitung auf die Ausgabe von kleinen Unterprogrammen wie pcap oder usbpcap.
- Der Inhalt der Kommunikation auf dem jeweiligen Übertragungsmedium wird mitgeschnitten.
Ping und ICMP
Netzwerkverkehr aufzeichnen, filtern und auswerten.
- Schaltfläche Capture startet die Aufzeichnung der Datenübertragung.
- Die Aufzeichnung läuft und Wireshark zeigt in einem Statusfenster die Anzahl der aufgezeichneten Frames (Captured Packets) an.
Testdaten erzeugen
- Beispiel:
- Ping auf den Host www.google.de
- In einer Shell oder Eingabeaufforderung das Kommando ping www.google.de eingeben.
C:\>ping www.google.de Ping www.google.de [66.249.93.104] mit 32 Bytes Daten: Antwort von 66.249.93.104: Bytes=32 Zeit=76ms TTL=243 Antwort von 66.249.93.104: Bytes=32 Zeit=77ms TTL=243 Antwort von 66.249.93.104: Bytes=32 Zeit=75ms TTL=244 Antwort von 66.249.93.104: Bytes=32 Zeit=75ms TTL=243 Ping-Statistik für 66.249.93.104: Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust), Ca. Zeitangaben in Millisek.: Minimum = 75ms, Maximum = 77ms, Mittelwert = 75ms
- Jetzt halten wir die Datenaufzeichnung im Wireshark mit der Schaltfläche Stop im Capture-Fenster an.
- Wireshark bereitet die aufgezeichneten Frames nun auf und zeigt sie an.
- Da beim Aufzeichnen keinen Filter gesetzt wurde, ist sämtlicher Netzwerkverkehr mitgeschnitten worden.
Filter
- Das wichtigste Instrument zum Auswerten von Traces sind Filter.
- Mit Filtern wird die Anzeige auf die interessanten Frames eingeschränkt.
- Um nur noch Traffic von und zu unserer eigenen IP-Adresse zu sehen, geben wir im Eingabefeld Filter von Wireshark folgenden Ausdruck ein:
ip.addr == 192.168.1.2
- Als IP-Adresse setzen wir die IP-Adresse des Sniffers ein (wurde unter Capture / Interfaces angezeigt).
- Wireshark zeigt nun nur noch Frames an, die diese Filterbedingung erfüllen.
- Mit der Schaltfläche Clear kann die Filterbedingung gelöscht werden.
Filter erweitern
- Anzeige weiter einschränken:
- Nur der Traffic des Ping-Kommandos ist interessant.
- Ping nutzt ein Protokoll namens ICMP.
- Filterbedingung entsprechend erweitern:
ip.addr == 192.168.1.2 && icmp
- Mit dem Operator && werden die einzelnen Filterbedingungen UND-verknüpft.
- icmp schränkt die Anzeige auf das Protokoll ICMP ein
- Anzeige: alle ICMP-Pakete
Technische Details
- Wireshark stellt entweder während oder nach der Aufzeichnung von Datenverkehr einer Netzwerk-Schnittstelle die Daten in Form einzelner Pakete dar.
- Dabei werden die Daten übersichtlich mit entsprechend auf die jeweiligen Protokolle angepassten Filter aufbereitet.
- So kann der Inhalt der mitgeschnittenen Pakete betrachtet oder nach diesem gefiltert werden.
- Wireshark kann auch Statistiken zum Datenfluss erstellen.
- Über spezielle Filter können gezielt binäre Inhalte wie Bilder u. a. extrahiert werden.
- Als Netzwerkschnittstellen, deren Datenverkehr analysiert werden kann, sind primär Ethernet mit den verschiedenen Internetprotokollfamilien wie TCP/IP zu nennen.
- Auch kann Wireshark drahtlosen Datenverkehr im Wireless Local Area Network (WLAN) und Bluetooth-Verbindungen aufzeichnen und analysieren.
- Über entsprechende Module lassen sich weitere übliche Schnittstellen wie USB in Wireshark integrieren.
- Unter Windows zeichnet Wireshark den Datenverkehr ab Version 3.0 transparent mit Hilfe von Npcap auf.
- Bis zur Version 3.0 wurde WinPcap verwendet.
- Voraussetzung dafür ist immer, dass der jeweilige Rechner, auf dem Wireshark betrieben wird, über die entsprechenden physischen Schnittstellen verfügt und der Benutzer entsprechende Zugriffsberechtigungen auf diese Schnittstellen hat.
- Neben der grafischen Wireshark-Version gibt es das auf demselben Netzwerkcode basierende Tshark.
- Tshark wird über Kommandozeilen-Optionen gesteuert.
- Für beide Versionen wurde das Aufzeichnungsformat der Messdaten von tcpdump entlehnt bzw. übernommen.
- Wireshark kann zusätzlich die Formate anderer LAN-Analyzer einlesen.
Besondere Leistungsmerkmale
- Wireshark fügt bei verschiedenen Protokollen Metainformationen zu Paketen hinzu.
- Diese ergeben sich nur aus dem Kontext des Datenflusses.
- So wird zu SMB-Paketen, die aus Operationen in Windows-Dateifreigaben stammen, der Datei- bzw. Verzeichnisname hinzugefügt. * Nur, wenn das Öffnen der Datei mit aufgezeichnet wurde.
- Diese speziellen Filter und Protokollmodule kann der Benutzer auch selber erstellen.
- Zum Beispiel um selbst entworfene Übertragungsprotokolle mittels Wireshark effizient untersuchen zu können.