Zum Inhalt springen

Wireshark

Aus Foxwiki

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.

Capture Interfaces
  • 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.
Protokollverteilung beim Aufzeichnen

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
Filtern
  • 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
    Alle ICMP-Pakete
    Alle ICMP-Pakete
  • In Anzeige sind jetzt nur noch ICMP-Pakete unserer eigenen IP-Adresse zu sehen.

Frames

  • Das Hauptfenster von Wireshark teilt sich in drei Bereiche:
    • die Paketliste (engl. packet list pane),
    • die Paketdetails (engl. packet details pane) und
    • die Hexadezimale Paketanzeige (engl. packet bytes pane).
  • Die in der Paketliste angezeigten Spalten können über die Menüauswahl Edit / Preferences** ausgewählt werden.

Paketliste

  • Die Spalte No. zeigt die Nummer des Frames an.
  • Durch den aktiven Filter müssen die Nummern jetzt nicht fortlaufend sein.
  • Die Spalte Source zeigt den Absender eine Frames an.
  • In der Spalte Destination steht der Empfänger des Frames.
  • Die Spalte Protocol gibt das Protokoll in diesem Frame an.
  • Die Spalte Info enthält zusätzliche Angaben zum Frame.
  • Alle ICMP Echo Request sollten von unserer eigenen IP-Adresse zu einer IP-Adresse von Google laufen.
  • Die ICMP Echo Replies sollten als Source die Google-IP enthalten.

Paketdetails

  • Im mittleren Teil des Bildschirm werden die Details zum ausgewählten Frame angezeigt.
  • Zuerst ein ICMP Echo Request in der Paketliste auswählen.
  • In den Paketdetails werden die Layer (Schichten) des Datenframes angezeigt.
  • Durch Anklicken des Plus-Symbols kann der gewählte Layer erweitert werden.
  • Ganz oben in den Paketdetails findet man Informationen von Wireshark zum betreffenden Frame:
  1. Größe des Frames,
  2. Aufgezeichnete Größe (Slicing),
  3. Zeit und Zeitdifferenz zum vorgehenden Frame.

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.

Links

extern