|
|
(136 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| '''Wireshark''' ist eine freie Software zur Analyse und grafischen Aufbereitung von Datenprotokollen | | '''Wireshark''' - Analyse und grafischen Aufbereitung von Datenprotokollen |
|
| |
|
| === Beschreibung ===
| | == Beschreibung == |
| [[Datei:Wireshark Logo.svg|mini|300px|Wireshark Logo]] | | [[Datei:Wireshark Logo.svg|mini|200px]] |
| * 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.
| |
|
| |
|
| ===Technische Details===
| | '''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 |
| * '''Wireshark''' stellt entweder während oder nach der Aufzeichnung vom Datenverkehr einer Netzwerk-Schnittstelle die Daten in Form einzelner Pakete dar.
| | * [[Netzwerkprotokoll|Datenprotokolle]] verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, [[Bluetooth]] oder [[USB]] |
| * Dabei werden die Daten übersichtlich mit entsprechend auf die jeweiligen Protokolle angepassten Filter aufbereitet. | | * Wireshark kann Administratoren, Netzwerk-Experten und Sicherheits-Experten bei der Suche nach Netzwerkproblemen, der Ermittlung von Botnet-Verbindungen oder beim Netzwerk-Management behilflich sein |
| * So kann der Inhalt der mitgeschnittenen Pakete betrachtet oder nach diesem gefiltert werden. | | * Wireshark zeigt bei einer Aufnahme sowohl den Protokoll-[[Header|Kopf]] als auch den übertragenen Inhalt an |
| * Wireshark kann auch Statistiken zum Datenfluss erstellen. | | * 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 |
| * Über spezielle Filter können gezielt binäre Inhalte wie Bilder u. a. extrahiert werden. | | * Datenprotokolle verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, Bluetooth oder USB |
| * Als Netzwerkschnittstellen, deren Datenverkehr analysiert werden kann, sind primär Ethernet mit den verschiedenen Internetprotokollfamilien wie TCP/IP zu nennen. | | * Hilft bei der Suche nach Netzwerkproblemen, der Ermittlung von Botnet-Verbindungen oder beim Netzwerk-Management |
| * Auch kann Wireshark drahtlosen Datenverkehr im Wireless Local Area Network (WLAN) und Bluetooth-Verbindungen aufzeichnen und analysieren. | | * Wireshark zeigt bei einer Aufnahme sowohl den Protokoll-Kopf als auch den übertragenen Inhalt an |
| * Über entsprechende Module lassen sich weitere übliche Schnittstellen wie USB in Wireshark integrieren. | | * Das Programm stützt sich bei der grafischen Aufbereitung auf die Ausgabe von kleinen Unterprogrammen wie '''pcap''' oder '''usbpcap''' |
| * Unter Windows zeichnet Wireshark den Datenverkehr ab Version 3.0 transparent mit Hilfe von '''Npcap''' auf. | | * Der Inhalt der Kommunikation auf dem jeweiligen Übertragungsmedium wird mitgeschnitten |
| * Bis zur Version 3.0 wurde '''WinPcap''' verwendet.
| | * Hersteller: Wireshark-Community |
| * 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. | | * Betriebssystem: [[Unix]], [[Linux]], [[Solaris (Betriebssystem)|Solaris]], [[macOS|Mac]], [[Microsoft Windows|Windows]] und diversen [[Berkeley Software Distribution|BSD]]-Versionen |
| * Neben der grafischen Wireshark-Version gibt es das auf demselben Netzwerkcode basierende '''Tshark'''. | | * Programmiersprache: [[C (Programmiersprache)|C]] |
| * '''Tshark''' wird über Kommandozeilen-Optionen gesteuert. | | * Lizenz: [[GNU General Public License|GPL]] ([[freie Software]]) |
| * 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==
| | ; Leistungsmerkmale |
| * Wireshark fügt bei verschiedenen Protokollen Metainformationen zu Paketen hinzu.
| | Wireshark fügt bei verschiedenen Protokollen Metainformationen zu Paketen hinzu, die sich nur aus dem Kontext des Datenflusses ergeben |
| * Diese ergeben sich nur aus dem Kontext des Datenflusses.
| | * 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 |
| * So wird zu SMB-Paketen, die aus Operationen in Windows-Dateifreigaben stammen, der Datei- bzw. Verzeichnisname hinzugefügt. | | * Diese speziellen Filter und Protokollmodule kann der Benutzer auch selber erstellen, um zum Beispiel selbst entworfene Übertragungsprotokolle mittels Wireshark effizient untersuchen zu können |
| ** 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.
| |
|
| |
|
| == Installation ==
| | <noinclude> |
| == Anwendungen ==
| |
| === Fehlerbehebung ===
| |
| == Syntax ==
| |
| === Optionen ===
| |
| === Parameter ===
| |
| === Umgebungsvariablen ===
| |
| === Exit-Status ===
| |
| == Konfiguration ==
| |
| === Dateien ===
| |
| == Sicherheit ==
| |
| == Dokumentation ==
| |
| === RFC ===
| |
| === Man-Pages ===
| |
| === Info-Pages ===
| |
| == Siehe auch ==
| |
| == Links ==
| |
| === Interne Links ===
| |
|
| |
|
| === Weblinks === | | == Anhang == |
| | === Siehe auch === |
| | {{Special:PrefixIndex/{{BASEPAGENAME}}}} |
| | ==== Links ==== |
| | ===== Projekt ===== |
| | # https://www.wireshark.org |
| | ===== Weblinks ===== |
| # https://de.wikipedia.org/wiki/Wireshark | | # https://de.wikipedia.org/wiki/Wireshark |
| # http://www.nwlab.net/tutorials/wireshark
| |
| # [//www.admin-magazin.de/Das-Heft/2011/05/Netzwerkanalyse-mit-Wireshark Netzwerkanalyse mit Wireshark] – ''[[Admin-Magazin]]'', aus der Ausgabe 05/2011
| |
| # [https://www.butschek.de/oldblog/fachartikel/tcpdump-wireshark/ Analyse mit tcpdump/wireshark] – ''Butschek.de'', am 24. April 2009
| |
| # [//www.computerwoche.de/produkte_technik/open_source/582469/ Wireshark – günstige Sniffer-Alternative] – ''[[Computerwoche]]'', am 11. Oktober 2006
| |
| # [http://www.easy-network.de/ethereal.html Ethereal (Wireshark) Tutorial] – Seite bei ''Easy-Network''
| |
| # [http://www.nwlab.net/tutorials/wireshark/ Wireshark Tutorial Teil 1] – Seite bei ''Network Lab''
| |
| # [https://www.wireshark.org Wireshark-Homepage]
| |
| # [http://sourceforge.net/projects/packetyzer/ Packetyzer] – alternative Oberfläche für Ethereal (Windows)
| |
|
| |
|
| === Projekt-Homepage ===
| | [[Kategorie:Wireshark]] |
| === Weblinks ===
| | </noinclude> |
| === Einzelnachweise ===
| |
| <references />
| |
| | |
| == Testfragen ==
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 1''
| |
| <div class="mw-collapsible-content">'''Antwort1'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 2''
| |
| <div class="mw-collapsible-content">'''Antwort2'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 3''
| |
| <div class="mw-collapsible-content">'''Antwort3'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 4''
| |
| <div class="mw-collapsible-content">'''Antwort4'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 5''
| |
| <div class="mw-collapsible-content">'''Antwort5'''</div>
| |
| </div>
| |
| | |
| [[Kategorie:Entwurf]] | |
| | |
| | |
| = TMP =
| |
| ==Menü-Übersicht==
| |
| * Im Menü ''Ansicht'' können einige Eigenschaften der Anzeige verändert werden.
| |
| * So kann die Anzahl und Art der Paketfenster bestimmt werden
| |
| * Nützlich ist die Umschaltung des Formates der Zeitanzeige: ''Ansicht/Format der Zeitanzeige''.
| |
| * Über ''Ansicht/Paketliste einfärben'' kann das Einfärben der Frames aktiviert/deaktiviert werden.
| |
| | |
| ==Display-Filter==
| |
| Netzwerkverkehr aufzeichnen, filtern und auswerten.
| |
| *Zeigt nur STMP (Port 25) und ICMP-Traffic
| |
| | |
| [[Datei:start_ws.png|700px]]
| |
| | |
| * Schaltfläche ''...mit diesem Filter:'' wird der Filter eingegeben, mit dem gesucht werden soll.
| |
| * Anschließend die gewünschte (aktive) Verbindung auswählen.
| |
| * Die Aufzeichnung der Datenübertragung starten.
| |
| * Die Aufzeichnung läuft und Wireshark zeigt in einem Statusfenster die Anzahl der aufgezeichneten Frames (Captured Packets) an.
| |
| | |
| [[Datei:stopp_ws.png|700px]]
| |
| | |
| * Datenübertragung stoppen.
| |
| | |
| ==Testdaten erzeugen==
| |
| ; Beispiel
| |
| * Ping auf den Host www.google.de
| |
| * In einer Shell oder Eingabeaufforderung das Kommando ping www.google.de eingeben.
| |
| $ 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'' 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==
| |
| [[Datei:ip_adr_ws.png|mini|600px|Filtern]]
| |
| * 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, also unsere eigene.
| |
| * 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====
| |
| [[Datei:icmp_ws.png|mini|600px|ICMP-Pakete]]
| |
| * 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
| |
| * In der 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 ''Ansicht'' 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 anderen IP-Adresse laufen.
| |
| * Die ICMP Echo Replies sollten als Source eine andere IP enthalten.
| |
| | |
| ==Paketdetails==
| |
| * Im mittleren Teil des Bildschirms 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 vorhergehenden 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-02 (Ethernet).
| |
| * Dort sind 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)
| |
| * 03: 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 Codierung, 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)
| |
| * Im Hexdump des Frames ist zu erkennen, dass Windows beim Ping das Alphabet als Nutzlast (Payload) benutzt.
| |
| 0000 00 30 f1 f5 0e 5b 00 30 f1 ee 90 7b 08 00 45 00 .0...[.0...{..E.
| |
| 0010 00 3c 0f d3 00 00 80 01 c7 47 c0 a8 02 9d 42 f9 .........G....B.
| |
| 0020 5d 68 08 00 47 5c 03 00 03 00 61 62 63 64 65 66 ]h..G\....abcdef
| |
| 0030 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 ghijklmnopqrstuv
| |
| 0040 77 61 62 63 64 65 66 67 68 69 wabcdefghi
| |
| | |
| ==Capture Filter==
| |
| *Im Gegensatz zu einem Display Filter wirkt der Capture Filter schon beim Aufzeichen der Frames.
| |
| * Nur Traffic, der dem Capture Filter entspricht, wird aufgezeichnet.
| |
| * Capture-Filter werden eingesetzt, wenn nur ein kleiner Teil des Datenverkehrs aufgezeichnet werden soll.
| |
| | |
| ===Syntax===
| |
| * Die grundsätzliche Syntax für Capture-Filter in Wireshark sieht wie folgt aus:
| |
| [not] Filterausdruck [and|or [not] Filterausdruck ...]
| |
| * Die folgenden Filterausdrücke stehen zur Verfügung:
| |
| [src|dst] host <host>
| |
| * Mit diesem Ausdruck kann der Traffic nach IP-Adressen gefiltert werden.
| |
| * Mit dem Zusatz '''src''' oder '''dst''' kann der Filter auf eine Absender- oder Empfänger-Adresse eingegrenzt werden.
| |
| ether [src|dst] host <host>
| |
| * Dieser Ausdruck grenzt den Trace auf bestimmte MAC-Adressen ein.
| |
| * Auch hier kann auf Absender und Empfänger eingeschränkt werden.
| |
| gateway host <host>
| |
| * Dieser Ausdruck filtert auf Packete, die host als Gateway/Router nutzen.
| |
| | |
| ====Operatoren====
| |
| Auch in Capture Filtern erlaubt Wireshark die Nutzung einiger Operatoren
| |
| {| class="wikitable"
| |
| |-
| |
| !Operator !!Beschreibung
| |
| |-
| |
| |! oder not ||Negation
| |
| |-
| |
| |&& oder and||logische UND-Verknüpfung
| |
| |-
| |
| | ll oder or ||logische ODER-Verknüpfung
| |
| |-
| |
| |& ||bitweise UND-Verknüpfung
| |
| |}
| |
| | |
| ===Zugriff auf Inhalte ab einem Offset===
| |
| * Neben den vordefinierten Filterausdrücken erlaubt Wireshark den Zugriff auf alle Inhalte eines Frames.
| |
| * Dazu können Bytes ab einem Offset maskiert und verglichen werden.
| |
| * Die Syntax für diesen Zugriff lautet:
| |
| protokoll[Offset in Bytes vom Beginn des Headers:Anzahl der Bytes]
| |
| * Es können 1, 2 oder 4 Bytes verglichen werden.
| |
| * Wird keine Anzahl angegeben, wird nur 1 Byte verglichen.
| |
| * Der Vergleichswert kann dezimal oder hexadezimal (0x) angegeben werden.
| |
| {| class="wikitable"
| |
| |-
| |
| |ip[8] = 1 ||Filter auf das 8 Bytes des IP-Headers (TTL)
| |
| |-
| |
| |tcp[0:2] = 22|| Filter auf die ersten beiden Bytes des TCP-Headers (Port-Nummer)
| |
| |-
| |
| |tcp[13] = 2 ||Filter auf Byte 13 des TCP-Headers (Flags). Segemente die nur das SYN-Flag gesetzt haben passieren diesen Filter.
| |
| |-
| |
| |tcp[13] & 0x02 = 2 ||Hier wird das Byte 13 zuerst mit 0x02 maskiert. Dadurch passieren alle TCP-Segemente mit gesetztem SYN-Flag den Filter. Die anderen Flags sind ausgeblendet.
| |
| |}
| |
| | |
| [[Kategorie:Netzwerke:Analyse]]
| |
| | |
| = Wikipedia =
| |
| | |
| |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]])
| |
| | |
| '''Wireshark''' ({{enS|wire}} „[[Draht]]“, „[[Kabel]]“ und ''{{lang|en|shark}}'' „[[Haie|Hai]]“) ist eine [[freie Software]] zur Analyse und grafischen Aufbereitung von Datenprotokollen ([[Sniffer]]), die 2006 als [[Abspaltung (Softwareentwicklung)|Fork]] des Programms '''Ethereal''' (englisch „himmlisch“, „[[Äther (Physik)|ätherisch]]“, Anspielung auf [[Ethernet]]) entstanden ist.
| |
| * Solche [[Netzwerkprotokoll|Datenprotokolle]] verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, [[Bluetooth]] oder [[USB]].
| |
| * Das Netzwerk-Analyse-Tool 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.
| |
| | |
| == Technische Details ==
| |
| Das Werkzeug ''Wireshark'' stellt entweder während oder nach der Aufzeichnung von Datenverkehr einer Netzwerk-Schnittstelle die Daten in Form einzelner [[Datenpaket|Pakete]] dar.
| |
| * Dabei werden die Daten übersichtlich mit entsprechend auf die jeweiligen Protokolle angepassten Filtern aufbereitet.
| |
| * So kann der Inhalt der mitgeschnittenen Pakete betrachtet oder nach diesem gefiltert werden.
| |
| * Wireshark kann auch Statistiken zum Datenfluss erstellen oder über spezielle Filter gezielt binäre Inhalte wie Bilder u. a. extrahieren.
| |
| | |
| Als Netzwerkschnittstellen, deren Datenverkehr analysiert werden kann, sind primär [[Ethernet]] mit den verschiedenen [[Internetprotokollfamilie]]n wie TCP/IP zu nennen.
| |
| * Darüber hinaus kann Wireshark auch 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.<ref name="wireusb">{{Internetquelle |url=https://wiki.wireshark.org/CaptureSetup/USB |titel=USB capture setup |abruf=2018-06-17}}</ref> Unter [[Microsoft Windows|Windows]] zeichnet ''Wireshark'' den Datenverkehr ab Version 3.0 [[Transparenz (Computersystem)|transparent]] mit Hilfe von Npcap<ref>{{Internetquelle |url=https://www.wireshark.org/news/20190228.html |titel=Wireshark · Wireshark 3.0.0 Released |abruf=2019-05-15}}</ref> 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''''', das über Kommandozeilen-Optionen gesteuert wird.
| |
| * Für beide Versionen wurde das Aufzeichnungsformat der Messdaten von [[tcpdump]] entlehnt bzw. übernommen.
| |
| * Gleichwohl kann Wireshark zusätzlich die Formate anderer LAN-Analyzer einlesen.
| |
| | |
| == Geschichte ==
| |
| [[Bild:Ethereal icon.png|mini|Sinnbild zum ehe­maligen ''Ethereal'' und …]]
| |
| [[Bild:Wireshark icon.svg|mini|48px|… zu ''Wire­shark'']]
| |
| | |
| Wireshark wurde ursprünglich als ''Ethereal'' von einem Team um Gerald Combs unter der [[GNU General Public License]] als [[Freie Software|freie]] [[quelloffene Software]] ([[Free/Libre Open Source Software|FOSS]]) entwickelt.
| |
| | |
| Als Gerald Combs von ''Ethereal Software Inc.'' zu ''CACE Technologies'' wechselte, startete er ein eigenes Folgeprojekt und nannte es ''Wireshark''.
| |
| * Die erste Version von Wireshark wurde am 7. Juni 2006 mit der Versionsnummer 0.99.1 veröffentlicht.<ref>[//www.wireshark.org/news/20060607.html Ethereal is now Wireshark] (englisch) – Meldung bei ''Wireshark.'' 7. Juni 2006.</ref> Der Vorläufer Ethereal ist weiterhin in Version 0.99.0 erhältlich, wird aber nicht mehr weiterentwickelt.
| |
| | |
| Version 1.0 von Wireshark wurde am 31. März 2008 veröffentlicht.<ref>[//www.heise.de/newsticker/meldung/Netzwerkschnueffler-Wireshark-in-Version-1-0-erschienen-193886.html Netzwerkschnüffler Wireshark in Version 1.0 erschienen] – ''[[Heise online|Heise]]'', am 31. März 2008.</ref>
| |
| | |
| Version 2.0 von Wireshark wurde am 19. November 2015 veröffentlicht.
| |
| * Das ganze Programm wurde auf [[Qt (Bibliothek)|Qt]] umgestellt und mit einer neuen, intuitiv bedienbaren Oberfläche versehen.
| |
| | |
| Version 3.0.0 wurde am 28. Februar 2019 veröffentlicht.
| |
| * Es enthält eine Reihe an kleineren Verbesserungen sowie internen Aktualisierungen.
| |
| * Beispielsweise wurde das [[Framework]] [[Qt (Bibliothek)|Qt]] auf den aktuellsten Stand gebracht.<ref>{{Internetquelle |url=https://www.wireshark.org/news/20190228.html |titel=Wireshark · Wireshark 3.0.0 Released |abruf=2022-10-06}}</ref>
| |
| | |
| Version 4.0 erschien am 4. Oktober 2022 und enthält eine Reihe an Neuerungen sowie Verbesserungen.
| |
| * Unter anderem zeigt die Software beim Start jene Schnittstelle mit der höchsten Netzwerkauslastung weiter oben an, damit sie leichter gefunden werden kann.
| |
| * Neben internen Änderungen wechselten die Filter für Datenpakete von bisher GRegex zu PCRE2.
| |
| * Bemerkenswert ist zudem, dass die Unterstützung von Binaries für 32 Bit Systeme unter [[Microsoft Windows|Windows]] eingestellt wurde.
| |
| * Wer dies benötigt (z. B. für ältere Systeme), soll laut Empfehlung der Entwickler die aktuellste Ausgabe der vorherigen 3.6 Version nutzen.<ref>{{Internetquelle |autor=heise online |url=https://www.heise.de/news/Netzwerkanalyse-mit-Wireshark-4-0-Neue-Filter-fuers-Haifischbecken-7285720.html |titel=Netzwerkanalyse mit Wireshark 4.0: Neue Filter fürs Haifischbecken |sprache=de |abruf=2022-10-06}}</ref>
| |
| | |
| == Besondere 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.
| |
| | |
| == 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, von denen einige inzwischen durch das erfolgreiche Open-Source-Projekt Ethereal/Wireshark vom Markt verdrängt und infolgedessen eingestellt worden sind.
| |
| | |
| Letztlich ist Wireshark aber ein paket- und nicht datenorientierter Sniffer, dessen Schwerpunkt die Analyse punktueller Probleme ist.
| |
| | |
| == Literatur ==
| |
| * Bernhard J. Hauser: '' Netzwerkanalyse mit Wireshark – Einführung in die Protokollanalyse.'' 2. erweiterte Auflage, Europa-Lehrmittel-Verlag, 2018, ISBN 978-3-8085-5409-8.
| |
| | |
| == Einzelnachweise ==
| |
| <references />
| |
| | |
| [[Kategorie:Netzwerksniffer]]
| |
| [[Kategorie:Freie Sicherheitssoftware]]
| |
| [[Kategorie:Qt-basierte Software]]
| |