Website-Suche

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 setcap fest
  • So konfigurieren Sie die Wireshark-Root-Einstellungen mit dpkg in Ubuntu manuell neu
  • So bearbeiten Sie Dateiberechtigungen für Wireshark manuell mit chown und chmod
  • 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.

  1. Zuerst wollen wir herausfinden, wo unsere dumpcap-Binärdatei gespeichert ist, indem wir den folgenden Befehl which verwenden:

    
    which dumpcap
    /usr/bin/dumpcap
    

    Die Ausgabe zeigt, dass unsere dumpcap-Binärdatei unter /usr/bin/dumpcap gespeichert ist.

  2. Als nächstes müssen wir den Befehl setcap verwenden, um der dumpcap-Binärdatei die Berechtigungen cap_net_raw und cap_net_admin+eip zu 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/dumpcap
    
  3. Anschließ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.

  1. Zuerst wollen wir herausfinden, wo unsere dumpcap-Binärdatei gespeichert ist, indem wir den folgenden Befehl which verwenden:

    
    which dumpcap
    /usr/bin/dumpcap
    

    Die Ausgabe zeigt, dass unsere dumpcap-Binärdatei unter /usr/bin/dumpcap gespeichert ist.

  2. Verwenden Sie als Nächstes den Befehl chown, um das root-Konto zum Eigentümer der Datei zu machen:

    
    sudo chown root /usr/bin/dumpcap
    
  3. Zuletzt werden wir den Befehl chmod verwenden, um das setuid-Bit zu aktivieren.

    
    sudo chmod u+s /usr/sbin/dumpcap
    

    WUSSTEN SIE SCHON?
    Wenn das setuid-Bit verwendet wird, wird das Standard-Berechtigungsverhalten so geändert, dass eine ausführbare Datei beim Start (in diesem Fall dumpcap) 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.

Verwandte Artikel: