Auteur Sujet: Utiliser Wireshark sous Linux, sans les droits "root"  (Lu 11125 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
Utiliser Wireshark sous Linux, sans les droits "root"
« le: 27 avril 2015 à 08:53:10 »
Utiliser Wireshark sous Linux, sans les droits "root"

Si vous démarrez Wireshark sous Linux sans les droits root, vous pouvez ouvrir des fichiers mais impossible de faire des captures.

La fenêtre "capture interfaces" reste désespérèment vide :


Il n'est pas conseillé de démarrer Wireshark avec les droits root !
Une faille dans le logiciel pourrait avoir de lourdes conséquences.


La solution ?

Donner les droits à l’utilisateur courant de réaliser une capture après s'être déconnecté / reconnecté.

Copiez / collez ces 4 lignes dans un terminal, en remplacent VOTRE_LOGIN par votre login utilisateur :
sudo addgroup -quiet -system wireshark
sudo chown root:wireshark /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
sudo usermod -a -G wireshark VOTRE_LOGIN
sudo reboot
(un redémarrage est nécessaire pour la prise en compte)

L'utilisateur mentionné peut maintenant réaliser des captures.


Par contre, lors des mises à jour de Wireshark, l’exécutable /usr/bin/dumpcap est modifié, ce qui fait perdre les droits.

Le plus simple consiste à rajouter les droits à chaque démarrage du PC en éditant le fichier /etc/rc.local :

Dnas une ligne de commande tapez : sudo nano /etc/rc.local
Et rajoutez la ligne setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap après #!/bin/sh -e et avant exit 0

Un exemple de fichier /etc/rc.local :

#!/bin/sh -e

setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

exit 0

Autre solution, pour les Linux récents (pour Ubuntu, c'est à partir de la version 15.04), il est possible de donner les droits de faire une capture aux utilisateurs :



Il faut être dans le groupe wireshark pour pouvoir faire une capture.

Pour vérifier la liste des groupes de votre utilisateur, utilisez la commande groups :

$ groups
vivien adm cdrom sudo dip plugdev lpadmin sambashare wireshark

Pour rajouter un utilisateur dans le groupe Wireshark, voici la ligne de commande :
sudo usermod -a -G wireshark LOGIN

en remplacent LOGIN par le login de l'utilisateur à rajouter.

corrector

  • Invité
Utiliser Wireshark sous Linux, sans les droits "root"
« Réponse #1 le: 01 octobre 2016 à 11:04:40 »
Les "capabilities" correspondent à un dèmembrement des droits root (UID = 0).

Je prétends que ce truc est une branlette intellectuelle vaine et une gigantesque perte de temps, parce qu'en fait un seul des composants permet la plupart du temps de récupérer le vrai root (UID=0 et toutes les capacités) SAUF lorsqu'il s'agit des droits d'accès aux interfaces réseaux.

Je pense qu'il s'agit quand même d'une déviation néfaste par rapport à la philosophie Unix. J'aurais préféré un système "de type capacités", comme les descripteurs de fichiers.