2. Pourquoi capturer le trafic au niveau utilisateur ?

Pour effectuer une capture de trafic au niveau le plus proche possible du matériel, il faut disposer de droits d'accès particuliers sur les interfaces réseau. Historiquement, cette contrainte impose d'exécuter le programme Wireshark avec les droits du super-utilisteur. Comme il s'agit d'une application graphique assez lourde, il est justement vivement déconseillé de l'utiliser au niveau super-utilisteur ou root. Voilà, les termes de la contradiction sont posés et trouver un moyen d'exécuter l'analyseur au niveau utilisateur devient un exercice très intéressant.

Un premier niveau de réponse assez répandu consiste à utiliser l'outil sudo qui attribue les droits du super-utilisateur «à l'acte» pour une application donnée. C'est ce que j'ai proposé dans le support Introduction à l'analyse réseau. Ce n'est pas vraiment satisfaisant dans la mesure où on a toujours recours au niveau super-utilisteur.

Sur un système GNU/Linux comme sur tout autre système Unix, la règle de conception fondamentale veut que tous les droits d'accès soient basés sur les fichiers puisque l'on accède à tous les éléments du système comme s'ils étaient des fichiers. Depuis quelques années, une «méthode d'accès» baptisée Linux Capabilities a été développée pour introduire davantage de granularité dans le «monde binaire» des droits d'accès limité aux deux seuls niveaux utilisateur et super-utilisateur.