|
|
(214 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.
| |
| * 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==
| | '''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 und auswerten.
| | * [[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).
| |
| * 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[[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)
| |
| | |
| ==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
| |