Wireshark: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Layer 2“ durch „02“
 
(167 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


=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.


=Menü-Übersicht=
'''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
* Im Menü ''Ansicht'' können einige Eigenschaften der Anzeige verändert werden.
* [[Netzwerkprotokoll|Datenprotokolle]] verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, [[Bluetooth]] oder [[USB]]
* So kann die Anzahl und Art der Paketfenster bestimmt werden
* Wireshark kann Administratoren, Netzwerk-Experten und Sicherheits-Experten bei der Suche nach Netzwerkproblemen, der Ermittlung von Botnet-Verbindungen oder beim Netzwerk-Management behilflich sein
* Nützlich ist die Umschaltung des Formates der Zeitanzeige: ''Ansicht/Format der Zeitanzeige''.
* Wireshark zeigt bei einer Aufnahme sowohl den Protokoll-[[Header|Kopf]] als auch den übertragenen Inhalt an
* Über ''Ansicht/Paketliste einfärben'' kann das Einfärben der Frames aktiviert/deaktiviert werden.
* 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]])


=Technische Details=
; Leistungsmerkmale
* '''Wireshark''' stellt entweder während oder nach der Aufzeichnung vom Datenverkehr einer Netzwerk-Schnittstelle die Daten in Form einzelner Pakete dar.
Wireshark fügt bei verschiedenen Protokollen Metainformationen zu Paketen hinzu, die sich nur aus dem Kontext des Datenflusses ergeben
* Dabei werden die Daten übersichtlich mit entsprechend auf die jeweiligen Protokolle angepassten Filter aufbereitet.
* 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 kann der Inhalt der mitgeschnittenen Pakete betrachtet oder nach diesem gefiltert werden.
* Diese speziellen Filter und Protokollmodule kann der Benutzer auch selber erstellen, um zum Beispiel selbst entworfene Übertragungsprotokolle mittels Wireshark effizient untersuchen zu können
* 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=
<noinclude>
* 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.


=Display-Filter=
== Anhang ==
Netzwerkverkehr aufzeichnen, filtern und auswerten.  
=== Siehe auch ===
*Zeigt nur STMP (Port 25) und ICMP-Traffic
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Links ====
===== Projekt =====
# https://www.wireshark.org
===== Weblinks =====
# https://de.wikipedia.org/wiki/Wireshark


[[Datei:start_ws.png|zentriert|mini|Startbildschirm]]
[[Kategorie:Wireshark]]
 
</noinclude>
* 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|zentriert|mini|Protokollverteilung beim Aufzeichnen]]
 
* 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.
  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'' 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:ip_adr_ws.png|mini|zentriert|Filtern]]
* 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===
* 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
[[Datei:icmp_ws.png|zentriert|mini|ICMP-Pakete]]
* 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 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 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 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)
* 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.
|}
 
= Links =
== Interne Links ==
== Weblinks ==
* https://de.wikipedia.org/wiki/Wireshark
* http://www.nwlab.net/tutorials/wireshark
 
 
[[Category:Netzwerke]]

Aktuelle Version vom 20. Januar 2024, 12:32 Uhr

Wireshark - Analyse und grafischen Aufbereitung von Datenprotokollen

Beschreibung

Wireshark (Kabelhai) ist eine freie Software zur Analyse und grafischen Aufbereitung von Datenprotokollen (Sniffer), die 2006 als Fork des Programms Ethereal entstanden ist

  • 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-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, Mac, Windows und diversen BSD-Versionen
  • Programmiersprache: C
  • Lizenz: GPL (freie Software)
Leistungsmerkmale

Wireshark fügt bei verschiedenen Protokollen Metainformationen zu Paketen hinzu, die sich nur aus dem Kontext des Datenflusses ergeben

  • So wird zu SMB-Paketen, die aus Operationen in Windows-Dateifreigaben stammen, der Datei- bzw. 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


Anhang

Siehe auch

Links

Projekt
  1. https://www.wireshark.org
Weblinks
  1. https://de.wikipedia.org/wiki/Wireshark