Wireshark ist ein Netzwerkverkehrsanalysator oder "Sniffer" 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 Paketaufnahme- und Filterbibliotheken.
Die Wireshark-Distribution wird auch mit Tshark ausgestattet, einem zeilenorientierten Sniffer (ähnlich wie Suns Snoop oder TCPDump), der dieselbe Dissektion, Capture-Datei-Lesen und -schreiben sowie Paketfiltercode als Wireshark und mit EditCap verwendet, das ein ist Programm zum Lesen von Erfassungsdateien und zum Schreiben der Pakete aus dieser Erfassungsdatei, möglicherweise in einem anderen Capture -Dateiformat, und mit einigen Paketen, die möglicherweise aus der Erfassung entfernt sind.
Die offizielle Heimat von Wireshark ist https://www.wireshark.org.
Die neueste Verteilung finden Sie im Unterverzeichnis https://www.wireshark.org/download
Das Wireshark -Projekt baut und testet regelmäßig auf den folgenden Plattformen:
Offizielle Installationspakete sind für Microsoft Windows und MacOS verfügbar.
Es ist entweder als Standard- oder Add-On-Paket für viele beliebte Betriebssysteme und Linux-Verteilungen erhältlich, darunter Debian, Ubuntu, Fedora, CentOS, Rhel, Arch, Gentoo, OpenSuse, FreeBSD, Dragonfly BSD, NetBSD und OpenBSD.
Zusätzlich ist es über viele Verpackungssysteme von Drittanbietern wie PKGSRC, OpenCSW, Homebrew und MacPorts erhältlich.
Es sollte auf anderen Unix-ISH-Systemen ohne allzu große Probleme 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 könnte das Standardpaket für Wireshark einfach alt sein. Dies ist bei Solaris und HP-UX der Fall.
Python 3 wird benötigt, um Wireshark zu bauen. Asciidoctor ist erforderlich, um die Dokumentation einschließlich der Menschenseiten zu erstellen. Perl und Flex sind erforderlich, um einen Teil des Quellcode zu generieren.
Sie müssen daher Python 3, Asciidoctor und GNU "Flex" (Vanilla "Lex" nicht funktionieren) auf Systemen, denen sie fehlen, funktioniert. Möglicherweise müssen Sie auch Perl installieren.
Vollständige Installationsanweisungen finden Sie in der Installationsdatei und im Entwicklerhandbuch unter https://www.wireshark.org/docs/wsdg_html_chunked/
Siehe auch die entsprechende Readme. Betriebssystemdateien für osspezifische Installationsanweisungen.
Um Pakete aus dem /dev
zu fangen Solaris und HP-UX, die DLPI unterstützen, fallen normalerweise in diese Kategorie. Obwohl es verlockend sein mag, das Wireshark und die ausführbaren SetUid -Roots zu machen oder sie als Root auszuführen, tun Sie dies bitte nicht. Der Erfassungsprozess wurde in DUPPCAP isoliert; Dieses einfache Programm enthält weniger wahrscheinlich Sicherheitslöcher und ist daher sicherer als Root.
Bitte wenden Sie sich an die Mannseite, um eine Beschreibung jeder Befehlszeilenoption und Schnittstellenfunktion zu erhalten.
Wireshark kann Pakete aus verschiedenen Dateitypen lesen. Eine Liste der unterstützten Dateiformate finden Sie auf der Seite Wireshark Man oder im Wireshark -Benutzerhandbuch.
Wireshark kann transparent komprimierte Versionen einer dieser Dateien lesen, wenn die erforderliche Komprimierungsbibliothek verfügbar war, als Wireshark zusammengestellt wurde. Derzeit unterstützte Komprimierungsformate sind:
GZIP und LZ4 (bei Verwendung unabhängiger Blöcke, was die Standardeinstellung verwendet) unterstützen die schnelle zufällige Suche, die in großen Dateien eine viel bessere GUI -Leistung bietet. Jedes dieser Komprimierungsformate kann zum Kompilieren von Kompilierzeit deaktiviert werden, indem die entsprechende Option an cmake, dh, cmake -DENABLE_ZLIB=OFF
, cmake -DENABLE_LZ4=OFF
oder cmake -DENABLE_ZSTD=OFF
übergeben wird.
Obwohl Wireshark AIX Iptrace-Dateien lesen kann, ist die Dokumentation des IPTrace-Paket-Trace-Befehls von AIX spärlich. Der Befehl iptrace
startet einen Daemon, den Sie töten müssen, um die Spur zu stoppen. Durch das Experimentieren scheint das Senden eines HUP -Signals an diesen Iptrace Dämon zu einem anmutigen Abschaltungsabschluss und ein komplettes Paket wird in die Trace -Datei geschrieben. Wenn am Ende ein Teilpaket gespeichert wird, beschwert sich Wireshark beim Lesen dieser Datei, aber Sie können alle anderen Pakete lesen. Wenn dies geschieht, informieren Sie die Wireshark-Entwickler bitte unter [email protected]. Senden Sie uns unbedingt eine Kopie dieser Trace-Datei, wenn sie klein ist und nicht sensitive Daten enthält.
Die Unterstützung von Lucent/Ascend -Produkten beschränkt sich auf die Debug -Trace -Ausgabe, die von der Max- und Pipline -Produktreihe erzeugt wird. Wireshark kann die Ausgabe der Befehle von wandsession
, wandisplay
, wannext
und wdd
lesen.
Wireshark kann auch die Müllverfolgung aus der Toshiba "Compact Router" -Linie von ISDN-Routern (TR-600 und TR-650) lesen. Sie können den Router telnet und eine Dump -Sitzung mit snoop dump
beginnen.
Cosinus L2 -Debug -Ausgabe kann auch von Wireshark gelesen werden. Um den L2-Debug-Ausgang zuerst zu erhalten, geben Sie zuerst den Diags create-pkt-log-profile
und apply-pkt-lozg-profile
unter Layer-2-Kategorie. Für weitere Details, wie Sie diese Befehle verwenden, sollten Sie den Hilfebehilfe-Befehl per layer-2 create ?
oder layer-2 apply ?
.
Um die Spuren von Lucent/Ascend, Toshiba und Cosinus mit Wireshark zu verwenden, müssen Sie die Trace -Ausgabe zu einer Datei auf der Festplatte erfassen. Die Spur findet im Router statt und der Router hat keine Möglichkeit, die Spur in einer Datei für Sie zu speichern. Eine einfache Möglichkeit, dies unter Unix zu tun, besteht darin telnet <ascend> | tee <outfile>
auszuführen telnet <ascend> | tee <outfile>
. Wenn Ihr System den Befehl "Skript" installiert hat, können Sie eine Shell -Sitzung, einschließlich Telnet, in einer Datei speichern. Zum Beispiel, um sich bei einer Datei mit dem Namen TraceFile.out anzumelden:
$ 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 versucht, die Funktionen für die Reverse -Namensauflösung bei der Dekodierung von IPv4- und IPv6 -Paketen zu verwenden.
Wenn Sie bei Verwendung Wireshark die Auflösung des Namens abschließen möchten, starten Sie Wireshark mit der Option -n
, um alle Namensauflösung (einschließlich Auflösung von MAC -Adressen und TCP/UDP/SMTP -Portnummern an Namen) oder mit der Option -N mt
zu deaktivieren zu deaktivieren. Die Auflösung des Namens für alle Netzwerk-Schicht-Adressen (IPv4, IPv6, IPX).
Sie können dies zur Standardeinstellung erstellen, indem Sie das Dialogfeld "Einstellungen" mithilfe des Einstellungselements im Menü "Bearbeiten", "Namensauflösung", die entsprechenden Optionen für die Namensauflösung ausschalten und auf "OK" ausschalten.
Wireshark kann eine grundlegende Dekodierung von SNMP -Paketen durchführen. Es kann auch die Bibliothek Libsmi verwenden, um eine ausgefeiltere Dekodierung durchzuführen, indem MIB -Dateien gelesen und die Informationen in diesen Dateien verwendet werden, um OIDs und variable Bindungswerte freundlicher anzuzeigen. CMAKE enthält automatisch, ob Sie über die Bibliothek Libsmi in Ihrem System verfügen. Wenn Sie die Bibliothek Libsmi haben, aber nicht möchten, dass Wireshark sie verwendet, können Sie CMake mit der Option -DENABLE_SMI=OFF
ausführen.
Wireshark steht in ständiger Entwicklung, daher ist es möglich, dass Sie während der Verwendung auf einen Fehler stoßen. Bitte melden Sie Fehler unter https://gitlab.com/wireshark/wireshark/-/issues. Stellen Sie sicher, dass Sie den Fehler eingeben:
Die vollständigen Build -Informationen aus dem Element "About Wireshark" im Hilfemenü oder der Ausgabe von wireshark -v
für Wireshark -Fehler und die Ausgabe von tshark -v
für TSHARK -Fehler;
Wenn der Fehler auf Linux, die von Ihnen verwendete Linux -Verteilung und die Version dieser Verteilung stattgefunden hat;
Der Befehl, den Sie verwendet haben, um Wireshark aufzurufen, wenn Sie Wireshark aus der Befehlszeile oder TSHARK ausgeführt haben, wenn Sie TSHARK ausgeführt haben, und die Abfolge der von Ihnen ausgeführten Operationen, die den Fehler angezeigt haben.
Wenn der Fehler von einer bestimmten TRACE -Datei erstellt wird, achten Sie bitte zusammen mit Ihrer Fehlerbeschreibung mit dem Fehler mit dem Fehler eine Trace -Datei an. Wenn die Trace -Datei vertrauliche Informationen (z. B. Passwörter) enthält, senden Sie sie bitte nicht.
Wenn Wireshark mit einem "Segmentierungsverletzung", "Busfehler", "Abbruch" oder einem anderen Fehler, der eine Unix -Core -Dump -Datei erzeugt, bei Ihnen gestorben ist, können Sie den Entwicklern sehr helfen, wenn Sie einen Debugger installiert haben. Eine Stapelverfolgung kann mit Ihrem Debugger ('GDB' in diesem Beispiel), dem Wireshark Binary und der resultierenden Kerndatei erhalten werden. Hier ist ein Beispiel dafür, wie Sie den GDB -Befehl "Backtrace" verwenden.
$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$
Die Core -Dump -Datei kann auf einigen Plattformen (z. B. BSD Systems) eher "Wireshark.core" als "Core" bezeichnet werden. Wenn Sie einen Kern -Müllkippe mit TSHARK und nicht Wireshark haben, verwenden Sie "Tshark" als erstes Argument für den Debugger. Der Kernmüll kann "tshark.core" genannt werden.
Wireshark wird unter der GNU GPLV2 verteilt. Siehe die Datei, die den vollständigen Text der Lizenz kopiert. Im Zweifelsfall ist der vollständige Text der rechtsverbindliche Teil. Diese Notizen dienen nur dazu, Menschen, die mit dem GPLV2 nicht vertraut sind, einfacher zu machen.
Es gibt keine Einschränkungen für die Verwendung. Es gibt Beschränkungen für die Verteilung in Quelle oder Binärform.
Die meisten Teile von Wireshark werden durch eine "GPL Version 2 oder später" -Lizenz abgedeckt. Einige Dateien werden von verschiedenen Lizenzen abgedeckt, die mit dem GPLV2 kompatibel sind.
Als bemerkenswerte Ausnahme werden einige mit der Wireshark -Quelle verteilte Versorgungsunternehmen von anderen Lizenzen abgedeckt, die selbst nicht direkt mit dem GPLV2 kompatibel sind. Dies ist in Ordnung, da nur die Tools selbst auf diese Weise lizenziert werden, wird die Ausgabe der Tools nicht als abgeleitete Arbeit angesehen und kann daher sicher für die Verwendung von Wireshark lizenziert werden. Eine unvollständige Auswahl dieser Tools umfasst:
Teile von Wireshark können als Bibliotheken gebaut und verteilt werden. Diese Teile werden weiterhin von der GPL und nicht von der geringeren allgemeinen öffentlichen Lizenz oder einer anderen Lizenz abgedeckt.
Wenn Sie alle oder einen Teil von Wireshark in Ihre eigene Anwendung integrieren und sich dafür entscheiden, sie zu veröffentlichen oder zu veröffentlichen, müssen die kombinierten Arbeiten unter den Bedingungen des GPLV2 veröffentlicht werden.
Mit diesem Produkt gibt es keine Garantie, ausgedrückt oder impliziert. Verwenden Sie auf eigenes Risiko.
Gerald Combs [email protected]
Gilbert ramirez [email protected]
Guy Harris [email protected]