Comment est-ce que je lance Warshark, avec les privilèges root?

95

Une installation standard de Wireshark n'autorise pas le programme à accéder à l'interface réseau.

Je suppose que je dois exécuter le programme avec sudo, mais je ne sais pas comment l'ajouter à l'icône - si c'est le moyen de le faire.

Sven AA
la source
Parlez-vous de WireShark? Si non, pouvez-vous créer un lien vers la page d'accueil de l'application afin que nous puissions voir de quoi vous parlez. Merci.
Oli
En fait, il parle probablement de Wireshark plutôt que de WireShark. :-)
Vous pourriez essayer un tcpdumpoutil sous Linux si cela wiresharkvous pose trop de problèmes.
warfreak92

Réponses:

149

Pour WireShark, il existe un meilleur moyen. Le bit qui doit normalement racine est l'application de collecte de paquets et cela peut être configuré pour permettre à certaines personnes de l' utiliser sans sudo, gksu, etc.

Dans un terminal (très important que vous soyez dans un terminal, pas seulement le dialogue Alt + F2), lancez ceci:

sudo dpkg-reconfigure wireshark-common

Cela vous demandera si vous voulez autoriser un utilisateur non-root à renifler. C'est ce que nous visons, alors sélectionnez Yeset appuyez sur retour.

Reconfiguration de Wireshark-common

Cela ajoute un wiresharkgroupe. N'importe qui dans ce groupe sera capable de renifler sans être root. Ceci est évidemment plus sûr que de laisser quelqu'un renifler, mais signifie qu'il n'y a pas de vérification de mot de passe. Techniquement, toute personne ayant accès à un ordinateur connecté avec un wiresharkcompte sera en mesure de renifler. Si cela vous convient, continuez.

Sinon, exécutez-le à nouveau et sélectionnez non.

Ensuite, il vous suffit d'ajouter l'utilisateur à ce groupe. Lance ça:

sudo adduser $USER wireshark

Et redémarrez ou déconnectez-vous. Lorsque vous êtes de retour, il devrait vous permettre de commencer à renifler sans vous inquiéter d'être root.

Oli
la source
2
Une façon de sauter l'étape de redémarrage / déconnexion?
Taha Jahangir
4
Cette solution a cessé de fonctionner en 14.04
Janghou
9
Et, oui, c’est certainement un bien meilleur moyen que de lancer Wireshark en tant que root. Le fichier README.packaging dans la source Wireshark indique "WIRESHARK CONTIENT PLUS DE DEUX MILLIONS DE LIGNES DE CODE SOURCE. NE LES LANCEZ PAS TOTALEMENT."
3
@TahaJahangir Si le redémarrage / la déconnexion n'est pas pratique, vous pouvez utiliser la newgrp wiresharkcommande pour entrer temporairement dans le groupe après que vous soyez devenu membre du wiresharkgroupe.
Lekensteyn
3
@TahaJahangir et Oli: Il est bien plus pratique de se déconnecter que de se déconnecter, comme indiqué su - $USERdans Recharger les affectations de groupe d'un utilisateur Linux sans se déconnecter - Super utilisateur
nealmcb
3

Vous pouvez également exécuter Wireshark avec les privilèges root en exécutant à gksu wiresharkpartir du terminal.

Notez que l’exécution de Wireshark dans ce mode pose des problèmes de sécurité, à savoir que tout exploit qui compromet Wireshark a désormais des privilèges root plutôt que des privilèges utilisateur. C’est plus un problème avec Wireshark que d’autres applications car, de par sa nature même (capture et traitement des entrées arbitraires), Wireshark est plus vulnérable aux exploits que les applications de bureau classiques. Vous êtes probablement en sécurité sur un réseau SOHO, mais vous devez être conscient de cette préoccupation avant de poursuivre.

Citations:

Maverick
la source
Je viens de le configurer avec l'option --enable-setcap-install, alors je ne peux pas le faire.
Smile.Hunter
C'est beaucoup plus dangereux et plus problématique, car il y a plus de bugs exploitables lors de l'exécution de l'interface graphique complète en tant que root, et des problèmes de configuration peuvent survenir lorsqu'un programme graphique s'exécute en tant que root. Voir la solution dpkg-reconfigure ci-dessus pour une bien meilleure option.
Nealmcb
Pour les utilisateurs de bureau, je considère cela comme une solution de contournement. Lorsque vous utilisez l'application, tous les fichiers créés ont une autorisation racine et vous devez constamment modifier les autorisations d'accès aux fichiers pour les rendre accessibles à votre utilisateur actuel dans votre répertoire de base. Pour les serveurs et les administrateurs système en général, sudo est en fait la meilleure approche.
JulioHM
@JulioHM Exécuter Wireshark en tant que root est dangereux pour tout le monde, y compris le serveur et les administrateurs système.
kraxor
1
Vers la ligne 40 environ du document doc / README.packaging de Wireshark , il est indiqué que "WIRESHARK CONTIENT PLUS DE DEUX MILLIONS DE LIGNES DE CODE SOURCE. NE LE COUREZ PAS DE MANQUE RACINE". Prenez cette déclaration très au sérieux.
3

En réalité, vous n'avez pas besoin de lancer WireShark en tant que root. S'il vous plaît lire la page officielle . En bref, vous devriez faire:

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

Puis déconnectez-vous et reconnectez-vous.

Remarque: cette méthode a été testée sur 16.04 LTS, 17.10 et 18.04 LTS.

pyprisme
la source
1
Cela restera des interfaces de chargement à moins qu’elles ne soient modifiées. sudo chgrp NOM_UTILISATEUR / usr / bin / dumpcap
amrx
1

vous pouvez aussi essayer ceci, ouvrez le terminal, lancez cette commande

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

lance Wirehark en tant qu'utilisateur non root

vik
la source