|   |   | 
| (217 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | 
| Zeile 1: | Zeile 1: | 
|  | '''Wireshark''' ist eine freie Software zur Analyse und grafischen Aufbereitung von Datenprotokollen, die 2006 als Fork des Programms '''Ethereal''' (Anspielung auf Ethernet) entstanden ist. |  | '''Wireshark''' - Analyse und grafischen Aufbereitung von Datenprotokollen | 
|  | ==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== |  | == Beschreibung == | 
|  | * Solche Datenprotokolle verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, Bluetooth oder USB.
 |  | [[Datei:Wireshark Logo.svg|mini|200px]] | 
|  | * Hilft  bei der Suche nach Netzwerkproblemen, der Ermittlung von Botnet-Verbindungen oder beim Netzwerk-Management.
 |  | 
|  | * Wiresharkzeigt 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 undICMP==
 |  | '''Wireshark''' (Kabelhai) ist eine [[freie Software]] zur Analyse und grafischen Aufbereitung von Datenprotokollen ([[Sniffer]]), die 2006 als [[Abspaltung (Softwareentwicklung)|Fork]] des Programms '''Ethereal''' entstanden ist | 
|  | Netzwerkverkehr aufzeichnen,filtern undauswerten. 
 |  | * [[Netzwerkprotokoll|Datenprotokolle]] verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, [[Bluetooth]] oder [[USB]] | 
|  |  | * Wireshark kann Administratoren, Netzwerk-Experten und Sicherheits-Experten bei der Suche nach Netzwerkproblemen, der Ermittlung von Botnet-Verbindungen oder beim Netzwerk-Management behilflich sein | 
|  |  | * Wireshark zeigt bei einer Aufnahme sowohl den Protokoll-[[Header|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, um den Inhalt der Kommunikation auf dem jeweiligen Übertragungsmedium mitzuschneiden | 
|  |  | * 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 | 
|  |  | * Hersteller: Wireshark-Community | 
|  |  | * Betriebssystem: [[Unix]], [[Linux]], [[Solaris (Betriebssystem)|Solaris]], [[macOS|Mac]], [[Microsoft Windows|Windows]] und diversen [[Berkeley Software Distribution|BSD]]-Versionen | 
|  |  | * Programmiersprache: [[C (Programmiersprache)|C]] | 
|  |  | * Lizenz: [[GNU General Public License|GPL]] ([[freie Software]]) | 
|  | 
 |  | 
 | 
|  | [[Datei:Capture-interfaces.png|zentriert|mini|Capture Interfaces]] |  | ; Leistungsmerkmale | 
|  |  | Wireshark fügt bei verschiedenen Protokollen Metainformationen zu Paketen hinzu, die sich nur aus dem Kontext des Datenflusses ergeben | 
|  |  | * So wird zu [[Server Message Block|SMB]]-Paketen, die aus Operationen in Windows-Dateifreigaben stammen, der [[Datei]]- bzw. [[Verzeichnisstruktur|Verzeichnisname]] hinzugefügt, wenn das Öffnen der Datei mit aufgezeichnet wurde | 
|  |  | * Diese speziellen Filter und Protokollmodule kann der Benutzer auch selber erstellen, um zum Beispiel selbst entworfene Übertragungsprotokolle mittels Wireshark effizient untersuchen zu können | 
|  | 
 |  | 
 | 
|  | * Schaltfläche Capture startet die Aufzeichnung der Datenübertragung.
 |  | <noinclude> | 
|  | * Die Aufzeichnung läuft und Wireshark zeigt in einem Statusfenster die Anzahl der aufgezeichneten Frames (Captured Packets) an.
 |  | 
|  | 
 |  | 
 | 
|  | [[Datei:Protokollverteilung.png|zentriert|mini|Protokollverteilung beim Aufzeichnen]]
 |  | == Anhang == | 
|  |  | === Siehe auch === | 
|  |  | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | 
|  |  | === Links === | 
|  |  | ==== Projekt ==== | 
|  |  | # https://www.wireshark.org | 
|  |  | ==== Weblinks ==== | 
|  |  | # https://de.wikipedia.org/wiki/Wireshark | 
|  | 
 |  | 
 | 
|  | ===Testdaten erzeugen===
 |  | [[Kategorie:Wireshark]] | 
|  | * Beispiel:
 |  | </noinclude> | 
|  | ** 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
 |  | 
|  | [[Datei:Filtering.png|mini|zentriert|Filtern]] |  | 
|  | * Als IP-Adresse setzen wir die IP-Adresse des Sniffers ein (wurde unter Capture / Interfaces angezeigt). 
 |  | 
|  | * Wiresharkzeigt 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[[Datei:Icmp.png|zentriert|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:
 |  | 
|  | # Größe des Frames, 
 |  | 
|  | # Aufgezeichnete Größe (Slicing), 
 |  | 
|  | # Zeit und Zeitdifferenz zum vorgehenden Frame.
 |  | 
|  |  Frame 6086 (74 bytes on wire, 74 bytes captured)
 |  | 
|  |     Arrival Time: Feb 23, 2006 15:18:20.081749000
 |  | 
|  |     Time delta from previous packet: 3211.323936000 seconds
 |  | 
|  |     Time since reference or first frame: 3211.323936000 seconds
 |  | 
|  |     Frame Number: 6086
 |  | 
|  |     Packet Length: 74 bytes
 |  | 
|  |     Capture Length: 74 bytes
 |  | 
|  |     Protocols in frame: eth:ip:icmp:data
 |  | 
|  | * Die nächste Zeile liefert Informationen zum OSI-Layer 2 (Ethernet).
 |  | 
|  | * Dort ist die MAC-Adressen von Absender und Empfänger.
 |  | 
|  | ** Die MAC-Adresse des Empfängers wird im Normalfall die MAC-Adresse des Default Routers sein. 
 |  | 
|  |  Ethernet II, Src: 192.168.2.157 (00:30:f1:ee:90:7b), Dst: 192.168.2.1 (00:30:f1:f5:0e:5b)
 |  | 
|  |     Destination: 192.168.2.1 (00:30:f1:f5:0e:5b)
 |  | 
|  |     Source: 192.168.2.157 (00:30:f1:ee:90:7b)
 |  | 
|  |     Type: IP (0x0800)
 |  | 
|  | * Layer 3: Internet Protocol (IP). 
 |  | 
|  | * Dort sind Angaben wie IP-Flags, die Time to live (TTL), das Protokoll und Absender- und Empfänger-IP-Adressen.
 |  | 
|  |  Internet Protocol, Src: 192.168.2.157 (192.168.2.157), Dst: 66.249.93.104 (66.249.93.104)
 |  | 
|  |     Version: 4
 |  | 
|  |     Header length: 20 bytes
 |  | 
|  |     Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
 |  | 
|  |         0000 00.. = Differentiated Services Codepoint: Default (0x00)
 |  | 
|  |         .... ..0. = ECN-Capable Transport (ECT): 0
 |  | 
|  |         .... ...0 = ECN-CE: 0
 |  | 
|  |     Total Length: 60
 |  | 
|  |     Identification: 0x0fd3 (4051)
 |  | 
|  |     Flags: 0x00
 |  | 
|  |         0... = Reserved bit: Not set
 |  | 
|  |         .0.. = Don't fragment: Not set
 |  | 
|  |         ..0. = More fragments: Not set
 |  | 
|  |     Fragment offset: 0
 |  | 
|  |     Time to live: 128
 |  | 
|  |     Protocol: ICMP (0x01)
 |  | 
|  |     Header checksum: 0xc747 [correct]
 |  | 
|  |         Good: True
 |  | 
|  |         Bad : False
 |  | 
|  |     Source: 192.168.2.157 (192.168.2.157)
 |  | 
|  |     Destination: 66.249.93.104 (66.249.93.104)
 |  | 
|  | * In der letzten Zeile in den Paketdetails wird das Internet Control Message Protocol (ICMP) dekodiert.
 |  | 
|  | * ICMP nutzt eine Kodierung bestehend aus Type und Code.
 |  | 
|  | **  Type 8, Code 0 ist ein ICMP Echo Request. 
 |  | 
|  |  Internet Control Message Protocol
 |  | 
|  |     Type: 8 (Echo (ping) request)
 |  | 
|  |     Code: 0 
 |  | 
|  |     Checksum: 0x475c [correct]
 |  | 
|  |     Identifier: 0x0300
 |  | 
|  |     Sequence number: 0x0300
 |  | 
|  |     Data (32 bytes)
 |  | 
|  |   |  | 
|  | ==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===
 |  | 
|  | * https://de.wikipedia.org/wiki/Wireshark?veaction=edit
 |  | 
|  | * http://www.nwlab.net/tutorials/wireshark/wireshark-tutorial-2.html#ping
 |  |