12 votes

Pourquoi suis-je capable d'ouvrir Wireshark et de capturer des paquets dans MacOS sans privilèges Root ?

Pour autant que je sache, la capture de paquets à l'aide de Wireshark nécessite les privilèges de Root/administrateur. Sous Windows, il demande une élévation de l'UAC et fonctionne avec les privilèges d'administrateur. La même chose dans Ubuntu ; il demande un mot de passe pour autoriser l'accès avant de me montrer les interfaces.

Cependant, sous MacOS, aucune autorisation n'est requise. Je n'ai pas à entrer de mot de passe. Au lieu de cela, Wireshark m'indique directement les interfaces et je suis en mesure de capturer les paquets.

Comment Wireshark peut-il faire cela sur MacOS ? Quelle est la particularité de MacOS qui permet de surveiller les interfaces et les paquets ? sans l'accès administratif ?

21voto

Jose Chavez Points 645

La raison en est que le programme d'installation de Wireshark installe un LaunchDaemon (c'est-à-dire quelque chose qui s'exécute avec les privilèges de superutilisateur au démarrage) pour définir des autorisations spéciales afin de capturer les paquets réseau. Plus précisément, vous pouvez consulter le fichier /Library/LaunchDaemon/org.wireshark.ChmodBPF.plist pour voir ce qu'il fait et quand il est exécuté.

Comme la création de ces LaunchDaemons nécessite des privilèges de superutilisateur en soi, le programme d'installation de Wireshark exige que vous soyez un superutilisateur (c'est-à-dire que vous devez entrer un mot de passe d'utilisateur administrateur pour installer le logiciel).

Si vous regardez le script réel exécuté par le LaunchDaemon en /Library/Application Support/Wireshark/ChmodBPF/ChmodBPF vous verrez qu'il crée 256 entrées de périphériques /dev/bpf0 à /dev/bpf255 et définit que tous les membres du groupe access_bpf peuvent lire et écrire dans ces fichiers de périphériques.

Les groupes access_bpf sont en fait également créés par l'installateur de Wireshark. Cela nécessite également des privilèges de superutilisateur. Si vous ouvrez les Préférences Système et ensuite Utilisateurs et Groupes, vous pourrez déplier la partie "Groupes" de l'arbre et voir "access_bpf" y être listé. Vous pouvez alors ajouter/supprimer des utilisateurs de ce groupe pour donner ou retirer la permission de capturer des paquets réseau dans Wireshark.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X