samedi 3 mars 2012

Faire fonctionner Wireshark en non-root sous Ubuntu

J'avais besoin de faire une capture réseau. Réflexe : wireshark.

Après un sudo apt-get install wireshark, je le lance : wireshark &, ou Applications -> Internet -> Wireshark.

Par contre, si on le lance pas en root, impossible de lister les interfaces pour sniffer. Je le lance donc en root (sudo su -, puis wireshark & : pas bien!!), et il me le rapelle très bien :

Running as user "root" and group "root".
This could be dangerous.
If you're running Wireshark this way in order to perform live capture, you may want to be aware that there is a better way documented at
/usr/share/doc/wireshark-common/README.Debian

Un petit more /usr/share/doc/wireshark-common/README.Debian indique que l'on peut donner les droits à tous les users pour qu'ils lancent des captures. La notice indique :
The installation method can be changed any time by running:
   dpkg-reconfigure wireshark-common
Pour traduire, il faut changer la méthode d'installation par la commande ci dessus.
dpkg-reconfigure wireshark-common
Je le configure donc pour que tous les users puissent y accéder.

Je relance donc wireshark avec mon user : wireshark &

Une fenêtre pop-up indique :
Couldn't run /usr/bin/dumpcap in child process
en regardant les droits du fichier, on voit que les autres users ne peuvent exécuter le fichier.
$ ll /usr/bin/dumpcap
-rwxr-xr-- 1 root wireshark 67552 2011-09-25 07:50 /usr/bin/dumpcap*
Je rajoute donc les droits d'exécution aux autres.
sudo chmod +x /usr/bin/dumpcap
$ ll /usr/bin/dumpcap
-rwxr-xr-x 1 root wireshark 67552 2011-09-25 07:50 /usr/bin/dumpcap*
Edit : utiliser usermod -a -G wireshark $USER pour rajouter (-a) l'utilisateur ($USER) dans le groupe wireshark en secondaire (-G)

Vous pouvez maintenant lister les interfaces et faire des captures.
Ça a fonctionné chez moi, les feedbacks sont les bienvenus.

3 commentaires:

  1. Le must du must c'est de pouvoir choisir quels utilisateurs de ton système peuvent utiliser wireshark. C'est ce que propose la conf debian par défaut.

    Du coup tu remets /usr/bin/dumpcap avec les droits par défaut :
    chmod 754 /usr/bin/dumpcap

    et tu ajoutes les utilisateurs à qui tu veux donner le droit d'utiliser wireshark au groupe wireshark.

    Normalement ça devrait marcher.

    RépondreSupprimer
  2. Premier commentaire du blog! Merci Yannick pour l'amélioration :)

    RépondreSupprimer
  3. Merci !!!! fonctionne bien avec une image XUBUNTU 12.04 et Virtualbox 4.1.14 sous Windows 7

    RépondreSupprimer