Gewähren von Root-Rechten für Wireshark: Ausführen mit sudo unter Linux
Wireshark ist ein unschätzbares Tool zum Erfassen und Analysieren des Netzwerkverkehrs. Die Möglichkeit, solchen Datenverkehr zu erfassen, ist normalerweise auf Superuser-Konten auf einem Linux-System beschränkt. Das bedeutet, dass Sie, um Wireshark unter Linux zu verwenden, das Programm mit Root-Rechten ausführen müssen.
Der Prozess für den Zugriff auf Wireshark mit root kann leicht variieren, abhängig davon, wie Wireshark installiert wurde (z. B. über den Paketmanager oder von der Quelle installiert) sowie von der Linux-Distribution, die Sie verwenden. Manchmal müssen wir der Wireshark-Binärdatei die entsprechenden Fähigkeiten manuell zuweisen (dumpcap). In diesem Tutorial werden wir den Prozess der Vergabe von Root-Rechten an Wireshark durchgehen. Bei diesem Prozess werden der ausführbaren Wireshark-Datei bestimmte Netzwerkfunktionen zugewiesen. Am Ende sollte Wireshark durch die Verwendung des Befehls sudo wie erwartet ausgeführt werden.
In diesem Tutorial lernen Sie:
- So legen Sie die Dateifunktionen für Wireshark manuell mit dem Befehl
setcapfest - So konfigurieren Sie die Wireshark-Root-Einstellungen mit
dpkgin Ubuntu manuell neu - So bearbeiten Sie Dateiberechtigungen für Wireshark manuell mit
chownundchmod - So führen Sie Wireshark mit Root-Rechten aus
Gewähren von Root-Rechten für Wireshark
Wir gehen davon aus, dass Sie, wenn Sie dies lesen, wahrscheinlich Probleme beim Ausführen von Wireshark auf Ihrem Linux-System haben und festgestellt haben, dass das Problem auf einen Mangel an ausreichenden Berechtigungen zurückzuführen ist. Im Folgenden werden wir einige verschiedene Möglichkeiten behandeln, um Wireshark mit den richtigen Funktionen zu konfigurieren, damit es wie erwartet ausgeführt wird.
Installation aus einem Paket unter Ubuntu oder Debian
Wenn Sie Wireshark über den Paketmanager auf Distributionen wie Debian Linux und Ubuntu Linux installieren, wird während der Installation die folgende Eingabeaufforderung angezeigt:
sudo apt install wireshark
Ihre Auswahl in dieser Eingabeaufforderung wirkt sich darauf aus, ob Sie den Befehl sudo beim Erfassen von Paketen verwenden müssen oder ob normale Benutzer sie ohne Superuser-Berechtigungen erfassen können. Wenn Sie die falsche Option auswählen und zurückgehen möchten, um eine andere Antwort auszuwählen, können Sie das Paket jederzeit neu konfigurieren, indem Sie Folgendes ausführen:
sudo dpkg-reconfigure wireshark-common
Die gleiche Eingabeaufforderung wird erneut angezeigt. Antworten Sie mit Ja, wenn Sie allen Benutzern erlauben möchten, Pakete ohne Root-Zugriff zu erfassen.
Manuelles Festlegen von Dateifunktionen
Wireshark verwendet das dumpcap-Programm, um Pakete zu erfassen. Wenn Ihr Linux-Kernel Dateifunktionen unterstützt, müssen Sie die entsprechenden Funktionen für die dumpcap-Binärdatei konfigurieren, damit sie ordnungsgemäß funktioniert. Wenn Sie Wireshark über den Paketmanager installiert haben, wurde dies wahrscheinlich bereits für Sie konfiguriert. In anderen Szenarien müssen Sie möglicherweise den Befehl setcap verwenden, um die richtigen Dateifunktionen manuell zu konfigurieren.
Zuerst wollen wir herausfinden, wo unsere
dumpcap-Binärdateigespeichert ist, indem wir den folgenden Befehlwhichverwenden:which dumpcap /usr/bin/dumpcapDie Ausgabe zeigt, dass unsere
dumpcap-Binärdateiunter/usr/bin/dumpcapgespeichert ist.Als nächstes müssen wir den Befehl
setcapverwenden, um derdumpcap-Binärdateidie Berechtigungencap_net_rawundcap_net_admin+eipzu geben. Auf diese Weise kann das Programm Netzwerkpakete erfassen, die später von der Wireshark-Anwendung analysiert werden können.sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcapAnschließend können Sie überprüfen, ob diese Einstellungen wie erwartet funktioniert haben, indem Sie Wireshark mit einem Nicht-Superuser-Konto öffnen und versuchen, eine Live-Erfassung auf einer der Netzwerkschnittstellen Ihres Systems durchzuführen.
Manuelles Festlegen von Dateiberechtigungen
Das dritte Szenario, das wir behandeln werden, sollte nur für Linux-Systeme gelten, in denen der Kernel oder das Dateisystem keine Dateifunktionen unterstützt. In diesem Fall können wir Linux-Dateiberechtigungen verwenden, um sicherzustellen, dass wir die Dumpcap-Binärdatei mit Root-Berechtigungen ausführen.
Zuerst wollen wir herausfinden, wo unsere
dumpcap-Binärdateigespeichert ist, indem wir den folgenden Befehlwhichverwenden:which dumpcap /usr/bin/dumpcapDie Ausgabe zeigt, dass unsere
dumpcap-Binärdateiunter/usr/bin/dumpcapgespeichert ist.Verwenden Sie als Nächstes den Befehl
chown, um dasroot-Kontozum Eigentümer der Datei zu machen:sudo chown root /usr/bin/dumpcapZuletzt werden wir den Befehl
chmodverwenden, um dassetuid-Bitzu aktivieren.sudo chmod u+s /usr/sbin/dumpcapWUSSTEN SIE SCHON?
Wenn dassetuid-Bitverwendet wird, wird das Standard-Berechtigungsverhalten so geändert, dass eine ausführbare Datei beim Start (in diesem Falldumpcap) nicht mit den Rechten des Benutzers ausgeführt wird, der sie gestartet hat, sondern mit denen des Dateibesitzers. Wenn also zum Beispiel auf eine ausführbare Datei das setuid-Bit gesetzt ist und sie root gehört, wird sie, wenn sie von einem normalen Benutzer gestartet wird, mit Root-Rechten ausgeführt.
Abschließende Gedanken
In diesem Tutorial haben wir gesehen, wie man Wireshark auf einem Linux-System Root-Rechte gewährt. Genauer gesagt ging es dabei um die Bearbeitung der Berechtigungen für die Dumpcap-Binärdatei, die im Lieferumfang von Wireshark enthalten ist und für die eigentliche Paketerfassung verantwortlich ist.
Wir haben hier drei verschiedene Szenarien behandelt, um Benutzern mit unterschiedlichen Distributionen und Systemkernel-Fähigkeiten gerecht zu werden. Für Ubuntu-Benutzer, die Wireshark über den APT-Paketmanager installiert haben, bietet uns der dpkg-Installationsprozess eine einfache Eingabeaufforderung zum Aktivieren von Root-Berechtigungen auf Wireshark. Andernfalls können wir die Datei-Capabilities mit setcap bearbeiten, um die richtigen Capabilities zu gewähren, ohne alle zugehörigen Linux-Dateiberechtigungen bearbeiten zu müssen. Schließlich können wir in Szenarien, in denen das Festlegen der Dateifunktionen nicht verfügbar ist, auf die Verwendung von chown und der setuid-Einstellung von chmod zurückgreifen, um sicherzustellen, dass alle Benutzer in der Lage sind, die Wireshark-Paketerfassung mit Root-Rechten zu nutzen.

