
Wiresharks offizielles Code-Repository. Sie können die Veröffentlichungen durch eine Spende unter https://wiresharkfoundation.org/donate/ am Laufen halten.
Wireshark ist ein Netzwerkverkehrsanalysator (auch „Sniffer“ genannt) für Linux, macOS, *BSD und andere Unix- und Unix-ähnliche Betriebssysteme sowie für Windows. Es verwendet Qt, eine grafische Benutzeroberflächenbibliothek, sowie libpcap und npcap als Paketerfassungs- und Filterbibliotheken.
Die Wireshark-Distribution enthält auch TShark, einen zeilenorientierten Sniffer (ähnlich Suns snoop oder tcpdump), der denselben Code zur Paketanalyse, zum Lesen und Schreiben von Erfassungsdateien und zur Paketfilterung wie Wireshark verwendet, sowie editcap, ein Programm zum Lesen von Erfassungsdateien und zum Schreiben der Pakete aus dieser Erfassungsdatei, möglicherweise in einem anderen Erfassungsdateiformat, wobei einige Pakete möglicherweise aus der Erfassung entfernt wurden.
Die offizielle Homepage von Wireshark ist https://www.wireshark.org.
Die aktuelle Distribution finden Sie im Unterverzeichnis https://www.wireshark.org/download
Das Wireshark-Projekt erstellt und testet regelmäßig auf den folgenden Plattformen:
Offizielle Installationspakete sind für Microsoft Windows und macOS verfügbar.
Es ist als Standard- oder Zusatzpaket für viele gängige Betriebssysteme und Linux-Distributionen erhältlich, darunter Debian, Ubuntu, Fedora, CentOS, RHEL, Arch, Gentoo, openSUSE, FreeBSD, DragonFly BSD, NetBSD und OpenBSD.
Darüber hinaus ist es über viele Paketverwaltungssysteme von Drittanbietern wie pkgsrc, OpenCSW, Homebrew und MacPorts verfügbar.
Es sollte ohne größere Probleme auf anderen Unix-ähnlichen Systemen laufen.
In einigen Fällen unterstützt die aktuelle Version von Wireshark Ihr Betriebssystem möglicherweise nicht. Dies ist bei Windows XP der Fall, das von Wireshark 1.10 und früher unterstützt wird. In anderen Fällen ist das Standardpaket für Wireshark möglicherweise einfach veraltet. Dies ist bei Solaris und HP-UX der Fall.
Python 3 wird benötigt, um Wireshark zu bauen. AsciiDoctor wird benötigt, um die Dokumentation, einschließlich der Handbuchseiten, zu erstellen. Perl und flex werden benötigt, um einen Teil des Quellcodes zu generieren.
Sie müssen daher Python 3, AsciiDoctor und GNU „flex“ (normales „lex“ funktioniert nicht) auf Systemen installieren, denen diese fehlen. Möglicherweise müssen Sie auch Perl installieren.
Vollständige Installationsanweisungen finden Sie in der Datei INSTALL und im Entwicklerhandbuch unter https://www.wireshark.org/docs/wsdg_html_chunked/
Siehe auch die entsprechenden README.OS-Dateien für betriebssystemspezifische Installationsanweisungen.
Um Pakete aus dem Netzwerk zu erfassen, müssen Sie das Programm dumpcap set-UID auf root
setzen oder Zugriff auf den entsprechenden Eintrag unter /dev haben, falls Ihr System
dies vorsieht (von BSD abgeleitete Systeme und Systeme wie Solaris und HP-UX, die DLPI
unterstützen, fallen normalerweise in diese Kategorie). Obwohl es verlockend sein mag,
die ausführbaren Dateien von Wireshark und TShark setuid root zu machen oder sie als root
auszuführen, tun Sie dies bitte nicht. Der Erfassungsprozess wurde in dumpcap isoliert;
dieses einfache Programm enthält weniger wahrscheinlich Sicherheitslücken und ist daher
sicherer als root auszuführen.
Bitte konsultieren Sie die Handbuchseite für eine Beschreibung jeder Befehlszeilenoption und Benutzeroberflächenfunktion.
Wireshark kann Pakete aus einer Reihe verschiedener Dateitypen lesen. Eine Liste der unterstützten Dateiformate finden Sie in der Wireshark-Handbuchseite oder im Wireshark-Benutzerhandbuch.
Wireshark kann komprimierte Versionen dieser Dateien transparent lesen, wenn die erforderliche Komprimierungsbibliothek zum Zeitpunkt der Kompilierung von Wireshark verfügbar war. Derzeit unterstützte Komprimierungsformate sind:
GZIP und LZ4 (bei Verwendung unabhängiger Blöcke, was der Standard ist) unterstützen
schnelles zufälliges Suchen, was eine viel bessere GUI-Leistung bei großen Dateien
bietet. Jedes dieser Komprimierungsformate kann zur Kompilierzeit deaktiviert werden,
indem die entsprechende Option an cmake übergeben wird, z. B.
cmake -DENABLE_ZLIB=OFF, cmake -DENABLE_LZ4=OFF oder
cmake -DENABLE_ZSTD=OFF.
Obwohl Wireshark AIX iptrace-Dateien lesen kann, ist die Dokumentation zum
iptrace-Paketerfassungsbefehl von AIX spärlich. Der Befehl iptrace startet einen
Daemon, den Sie beenden müssen, um die Ablaufverfolgung zu stoppen. Durch Experimente
scheint es, dass das Senden eines HUP-Signals an diesen iptrace-Daemon ein
ordnungsgemäßes Herunterfahren bewirkt und ein vollständiges Paket in die
Ablaufverfolgungsdatei geschrieben wird. Wenn am Ende ein Teilpaket gespeichert wird,
wird sich Wireshark beim Lesen dieser Datei beschweren, aber Sie können alle anderen
Pakete lesen. Wenn dies auftritt, teilen Sie dies bitte den Wireshark-Entwicklern unter
[email protected] mit; senden Sie uns unbedingt eine Kopie dieser
Ablaufverfolgungsdatei, falls sie klein ist und keine sensiblen Daten enthält.
Die Unterstützung für Lucent/Ascend-Produkte ist auf die Debug-Ablaufverfolgungsausgabe
beschränkt, die von den Produkten der MAX- und Pipeline-Serie erzeugt wird. Wireshark
kann die Ausgabe der Befehle wandsession, wandisplay, wannext und wdd lesen.
Wireshark kann auch die Dump-Ablaufverfolgungsausgabe der Toshiba „Compact Router“-Reihe
von ISDN-Routern (TR-600 und TR-650) lesen. Sie können per Telnet auf den Router
zugreifen und eine Dump-Sitzung mit snoop dump starten.
Die CoSine L2-Debug-Ausgabe kann ebenfalls von Wireshark gelesen werden. Um die L2-
Debug-Ausgabe zu erhalten, gehen Sie zuerst in den Diagnosemodus und verwenden Sie dann
die Befehle create-pkt-log-profile und apply-pkt-lozg-profile unter der Kategorie
layer-2. Weitere Informationen zur Verwendung dieser Befehle finden Sie im Hilfebefehl
layer-2 create ? oder layer-2 apply ?.
Um die Lucent/Ascend-, Toshiba- und CoSine-Ablaufverfolgungen mit Wireshark zu
verwenden, müssen Sie die Ablaufverfolgungsausgabe in einer Datei auf der Festplatte
erfassen. Die Ablaufverfolgung findet innerhalb des Routers statt und der Router hat
keine Möglichkeit, die Ablaufverfolgung für Sie in einer Datei zu speichern. Eine
einfache Möglichkeit, dies unter Unix zu tun, ist die Ausführung von
telnet <ascend> | tee <ausgabedatei>. Oder, wenn Ihr System über den Befehl „script“
verfügt, können Sie eine Shell-Sitzung, einschließlich Telnet, in einer Datei speichern.
Beispiel zum Protokollieren in eine Datei namens tracefile.out:
$ script tracefile.out
Script started on <date/time>
$ telnet router
..... do your trace, then exit from the router's telnet session.
$ exit
Script done on <date/time>
Wireshark wird versuchen, Reverse-Name-Resolution-Fähigkeiten zu verwenden, wenn IPv4- und IPv6-Pakete decodiert werden.
Wenn Sie die Namensauflösung während der Verwendung von Wireshark deaktivieren möchten,
starten Sie Wireshark mit der Option -n, um die gesamte Namensauflösung (einschließlich
der Auflösung von MAC-Adressen und TCP/UDP/SMTP-Portnummern in Namen) zu deaktivieren,
oder mit der Option -N mt, um die Namensauflösung für alle Netzwerkschichtadressen
(IPv4, IPv6, IPX) zu deaktivieren.
Sie können dies zur Standardeinstellung machen, indem Sie das Dialogfeld „Einstellungen“ über den Punkt „Einstellungen“ im Menü „Bearbeiten“ öffnen, „Namensauflösung“ auswählen, die entsprechenden Optionen zur Namensauflösung deaktivieren und auf „OK“ klicken.
Wireshark kann eine einfache Decodierung von SNMP-Paketen durchführen; es kann auch die
libsmi-Bibliothek verwenden, um eine anspruchsvollere Decodierung durchzuführen, indem
es MIB-Dateien liest und die Informationen in diesen Dateien verwendet, um OIDs und
Variablenbindungswerte benutzerfreundlicher anzuzeigen. CMake wird automatisch
feststellen, ob die libsmi-Bibliothek auf Ihrem System vorhanden ist. Wenn Sie die
libsmi-Bibliothek haben, aber nicht möchten, dass Wireshark sie verwendet, können Sie
cmake mit der Option -DENABLE_SMI=OFF ausführen.
Wireshark befindet sich in ständiger Weiterentwicklung, daher ist es möglich, dass Sie bei der Verwendung auf einen Fehler stoßen. Bitte melden Sie Fehler unter https://gitlab.com/wireshark/wireshark/-/issues. Geben Sie den Fehler unbedingt mit folgenden Angaben ein:
Die vollständigen Build-Informationen aus dem Punkt „Über Wireshark“ im Menü „Hilfe“
oder die Ausgabe von wireshark -v für Wireshark-Fehler und die Ausgabe von
tshark -v für TShark-Fehler;
Wenn der Fehler unter Linux aufgetreten ist, die von Ihnen verwendete Linux-Distribution und die Version dieser Distribution;
Den Befehl, mit dem Sie Wireshark gestartet haben, falls Sie Wireshark von der Befehlszeile aus gestartet haben, oder TShark, falls Sie TShark gestartet haben, sowie die Abfolge der von Ihnen durchgeführten Operationen, die den Fehler verursacht haben.
Wenn der Fehler durch eine bestimmte Ablaufverfolgungsdatei verursacht wird, fügen Sie dem Fehler bitte eine Ablaufverfolgungsdatei zusammen mit Ihrer Fehlerbeschreibung bei. Wenn die Ablaufverfolgungsdatei vertrauliche Informationen (z. B. Passwörter) enthält, senden Sie sie bitte nicht.
Wenn Wireshark mit einem „Segmentation Violation“, „Bus Error“, „Abort“ oder einem anderen Fehler abgestürzt ist, der eine UNIX-Core-Dump-Datei erzeugt, können Sie den Entwicklern sehr helfen, wenn Sie einen Debugger installiert haben. Ein Stack-Trace kann mit Ihrem Debugger (hier als Beispiel 'gdb'), der ausführbaren Wireshark-Datei und der resultierenden Core-Datei abgerufen werden. Hier ist ein Beispiel, wie Sie den gdb-Befehl 'backtrace' dazu verwenden.
$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$
Die Core-Dump-Datei kann auf einigen Plattformen (z. B. BSD-Systemen) „wireshark.core“ statt „core“ heißen. Wenn Sie einen Core-Dump mit TShark anstelle von Wireshark erhalten haben, verwenden Sie „tshark“ als erstes Argument für den Debugger; der Core-Dump könnte „tshark.core“ heißen.
Wireshark wird unter der GNU GPLv2 vertrieben. Siehe die Datei COPYING für den vollständigen Lizenztext. Im Zweifelsfall ist der vollständige Text rechtlich bindend. Diese Hinweise dienen lediglich dazu, es Personen, die mit der GPLv2 nicht vertraut sind, leichter zu machen.
Es gibt keine Einschränkungen hinsichtlich der Nutzung. Es gibt Einschränkungen hinsichtlich der Weitergabe in Quell- oder Binärform.
Der größte Teil von Wireshark ist unter einer „GPL Version 2 oder später“-Lizenz abgedeckt. Einige Dateien sind unter anderen Lizenzen abgedeckt, die mit der GPLv2 kompatibel sind.
Eine bemerkenswerte Ausnahme: Einige mit dem Wireshark-Quellcode vertriebene Hilfsprogramme sind unter anderen Lizenzen abgedeckt, die nicht direkt mit der GPLv2 kompatibel sind. Dies ist in Ordnung, da nur die Werkzeuge selbst so lizenziert sind, die Ausgabe der Werkzeuge nicht als abgeleitetes Werk betrachtet wird und daher für die Verwendung durch Wireshark sicher lizenziert werden kann. Eine unvollständige Auswahl dieser Werkzeuge umfasst:
Teile von Wireshark können als Bibliotheken erstellt und vertrieben werden. Diese Teile unterliegen weiterhin der GPL und NICHT der Lesser General Public License oder einer anderen Lizenz.
Wenn Sie Wireshark ganz oder teilweise in Ihre eigene Anwendung integrieren und sich entscheiden, diese zu veröffentlichen oder herauszugeben, muss das kombinierte Werk unter den Bedingungen der GPLv2 veröffentlicht werden.
Es gibt keine Garantie, weder ausdrücklich noch stillschweigend, im Zusammenhang mit diesem Produkt. Nutzung auf eigenes Risiko.
Gerald Combs [email protected]
Gilbert Ramirez [email protected]
Guy Harris [email protected]