Wie starte ich wireshark mit root-Rechten?

95

Bei einer Standardinstallation von Wireshark erhält das Programm keine Berechtigung zum Zugriff auf die Netzwerkschnittstelle.

Ich nehme an, ich muss das Programm mit ausführen sudo, weiß aber nicht, wie ich es zum Symbol hinzufügen soll - wenn das der Weg ist, es zu tun.

Sven AA
quelle
Sprechen Sie über WireShark? Wenn nicht, können Sie einen Link zur Homepage der Anwendung erstellen, damit wir sehen, wovon Sie sprechen. Vielen Dank.
Oli
Eigentlich spricht er wahrscheinlich eher von Wireshark als von WireShark. :-)
Sie können das tcpdumpTool unter Linux ausprobieren , wenn wiresharkSie zu viele Probleme haben.
Warfreak92

Antworten:

149

Für WireShark gibt es einen besseren Weg. Das Bit, das normalerweise root benötigt, ist die Paketsammlungsanwendung. Diese kann so konfiguriert werden, dass bestimmte Personen sie ohne sudo,, verwenden gksukönnen etc.

Führen Sie in einem Terminal (sehr wichtig, dass Sie sich in einem Terminal befinden, nicht nur im Dialogfeld Alt + F2) Folgendes aus:

sudo dpkg-reconfigure wireshark-common

Hier werden Sie gefragt, ob Sie es Nicht-Root-Benutzern ermöglichen möchten, zu schnüffeln. Das ist, was wir anstreben, also wählen Sie Yesund drücken Sie die Eingabetaste.

Neukonfiguration von wireshark-common

Dies fügt eine wiresharkGruppe hinzu. Jeder in dieser Gruppe kann schnüffeln, ohne root zu sein. Dies ist offensichtlich sicherer, als nur jemanden schnüffeln zu lassen, bedeutet jedoch, dass keine Kennwortprüfung durchgeführt wird. Technisch gesehen kann jede Person mit Zugang zu einem Computer, der mit einem wiresharkKonto angemeldet ist , schnüffeln. Wenn das für Sie akzeptabel ist, machen Sie weiter.

Wenn nicht, führen Sie das noch einmal aus und wählen Sie no.

Dann müssen Sie nur noch den Benutzer zu dieser Gruppe hinzufügen. Führen Sie Folgendes aus:

sudo adduser $USER wireshark

Und neu starten oder abmelden. Wenn du wieder drin bist, solltest du anfangen zu schnüffeln, ohne Probleme damit, root zu sein.

Oli
quelle
2
Gibt es eine Möglichkeit, den Neustart- / Abmeldeschritt zu überspringen?
Taha Jahangir
4
Diese Lösung funktioniert nicht mehr in 14.04
Janghou
9
Und es ist definitiv eine viel bessere Möglichkeit, als Wireshark als root zu betreiben. In der README.packaging-Datei in der Wireshark-Quelle heißt es: "WIRESHARK ENTHÄLT MEHR ALS ZWEI MILLIONEN ZEILEN QUELLENCODE. LAUFEN SIE SIE NICHT WURZELN."
3
@TahaJahangir Wenn ein Neustart / Abmelden schwierig ist, können Sie den newgrp wiresharkBefehl verwenden, um vorübergehend in die Gruppe einzutreten, nachdem Sie Mitglied der wiresharkGruppe geworden sind.
Lekensteyn
3
@TahaJahangir und Oli: Viel bequemer als das Abmelden ist die Verwendung der su - $USERunter
Neu laden
3

Sie können Wireshark auch mit Root-Rechten ausführen, indem Sie gksu wiresharkvom Terminal aus arbeiten.

Beachten Sie, dass beim Ausführen von Wireshark in diesem Modus Sicherheitsbedenken bestehen, dh, dass jeder Exploit, der Wireshark gefährdet, jetzt über Root-Berechtigungen und keine Benutzerrechte mehr verfügt. Dies ist für Wireshark von größerer Bedeutung als für andere Anwendungen, da Wireshark von Natur aus (Erfassung und Verarbeitung von willkürlichen Eingaben) anfälliger für Exploits ist als typische Desktopanwendungen. Sie sind wahrscheinlich in einem SOHO-Netzwerk sicher, sollten sich jedoch dieser Bedenken bewusst sein, bevor Sie fortfahren.

Zitate:

Einzelgänger
quelle
Ich habe es gerade mit --enable-setcap-install flag konfiguriert, dann kann ich das nicht tun.
Smile.Hunter
Dies ist weitaus gefährlicher und problematischer, da es bei der Ausführung der vollständigen GUI als Root schwerwiegendere Fehler gibt und Konfigurationsprobleme auftreten können, wenn ein GUI-Programm als Root ausgeführt wird. Eine viel bessere Option finden Sie in der oben beschriebenen Lösung für dpkg-reconfigure.
Nealmcb
Für Desktop-Benutzer halte ich dies für eine Problemumgehung. Wenn Sie die App öffnen, verfügen alle von ihr erstellten Dateien über Root-Berechtigungen, und Sie müssen die Dateiberechtigungen ständig ändern, um sie Ihrem aktuellen Benutzer in Ihrem Home-Verzeichnis zur Verfügung zu stellen. Für Server und Sysadmins im Allgemeinen ist sudo der beste Ansatz.
JulioHM
@JulioHM Das Ausführen von Wireshark als Root ist für alle gefährlich, einschließlich Server und Sysadmins.
Kraxor
1
In ungefähr Zeile 40 der Datei doc / README.packaging von Wireshark heißt es: "WIRESHARK ENTHÄLT MEHR ALS ZWEI MILLIONEN ZEILEN QUELLENCODE. FÜHREN SIE SIE NICHT WURZELN AUS." Nehmen Sie diese Aussage sehr ernst.
3

Wirklich, Sie müssen WireShark nicht als root starten. Bitte lesen Sie die offizielle Seite . Kurz gesagt, sollten Sie Folgendes tun:

sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod o-rx /usr/bin/dumpcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap

Dann abmelden und wieder anmelden.

Hinweis: Diese Methode wurde mit 16.04 LTS, 17.10 und 18.04 LTS getestet.

Pyprismus
quelle
1
Dies wird Schnittstellen vom Laden bleiben, sofern nicht geändert. sudo chgrp USER_NAME / usr / bin / dumpcap
amrx
1

Sie können dies auch versuchen, das Terminal öffnen und diesen Befehl ausführen

# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

Führen Sie wireshark als Benutzer ohne Rootberechtigung aus

vik
quelle