Il n'y a aucune interface sur laquelle une capture peut être effectuée

24

J'utilise Ubuntu 13.04.

Wireshark ne me montrera aucun journal, ne fonctionnera pas du tout. Je suis connecté à mon WiFi, routeur Belkin.

Mike Wentworth
la source
Une solution rapide, pas une solution: vous pouvez exécuter Wireshark en tant que root: gksudo wireshark.
soulsource

Réponses:

45

Ouvrez un terminal en appuyant sur Ctrl+ Alt+ Tet tapez les commandes suivantes:

sudo dpkg-reconfigure wireshark-common

appuyez sur la flèche droite et entrez pour oui

sudo chmod +x /usr/bin/dumpcap

vous devriez maintenant pouvoir l'exécuter sans root et vous pourrez capturer.

M.Tarun
la source
4
+1. Cela fonctionne aussi le 14.04. Remarque: les documents indiquent : "la capture de paquets USB n'est pas activée pour les utilisateurs non root en utilisant les capacités Linux. Vous devez capturer les paquets en utilisant la méthode décrite dans I./a., En définissant définitivement set-user-id à l'aide de dpkg -statoverride ou exécuter Wireshark en tant que root. "
jfs
Ce serait d'une grande aide pour les débutants, si vous pouvez également décrire ce qui est fait avec les commandes ci-dessus qui le font fonctionner
Ahmed
1
IL FONCTIONNE sur LTS 14.04 .... Merci beaucoup.
2015 à 5h19
chmod +xrend dumpcap exécutable pour tout le monde. Une alternative serait d'ajouter les utilisateurs que vous souhaitez autoriser la capture dans le groupe Wireshark.
domen
2

Le message «Aucune interface ne peut être utilisée pour la capture dans ce système avec la configuration actuelle» apparaît généralement lorsque vous n'avez pas les privilèges pour accéder aux interfaces réseau pour la surveillance. Essayez d'ouvrir un terminal et d'exécuter gksudo Wireshark. Si plusieurs interfaces réseau apparaissent, c'est parce que lorsque vous exécutez Wireshark sans autorisations root, vous n'avez pas les privilèges pour surveiller.

Pour résoudre ce problème, exécutez la commande suivante dans un terminal:

sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap
Vis
la source
"Essayez d'ouvrir un terminal et d'exécuter gksudo Wireshark." Veuillez noter que ce document indique "WIRESHARK CONTIENT PLUS DE DEUX MILLIONS DE LIGNES DE CODE SOURCE. NE LES EXÉCUTEZ PAS COMME ROOT." avant de faire ça. sudo setcapExécutez la commande à la place - ou utilisez sudo dpkg-reconfigure wireshark-commonpour que le package définisse les capacités pour vous.
0

Lorsque j'ai essayé d'exécuter Wirehark, j'obtenais cette erreur:

Couldn't run /usr/bin/dumpcap in child process: Permission denied

donc je l'ai utilisé en tant que root, ce qui a désactivé LUA. La fenêtre contextuelle m'informant que le LUA a été désactivé était si ennuyeuse que j'ai essayé de le réparer.

tout d'abord j'ai vérifié les privilèges en exécutant

ls -l /usr/bin/dumpcap

ce qui s'est traduit par:

-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap

c'était évident, c'est ce que Wireshark m'a dit. J'ai donc changé le propriétaire de root en mon acc

sudo chown -R $LOGNAME /usr/bin/dumpcap

Ce qui a fonctionné, je peux maintenant exécuter WireShark sans root

Adam Verner
la source
0

Google a «impossible d'exécuter / usr / bin / dumpcap dans le processus enfant» et a trouvé cette question:

Je ne parviens pas à utiliser Wireshark "Impossible d'exécuter / usr / bin / dumpcap dans le processus enfant"

Qui est marqué comme doublon et m'a amené ici. La solution proposée est:

sudo chmod +x /usr/bin/dumpcap

La commande ci-dessus fonctionne vraiment, mais je voudrais ajouter un AVERTISSEMENT de sécurité . Cela permettra la capture de paquets pour TOUS LES UTILISATEURS du système. Il peut s'agir d'une solution temporaire, mais non souhaitée comme solution permanente.

J'ai suivi les instructions de la page Wireshark sur les privilèges de capture:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

Ils RECOMMANDENT de restreindre l'exécution de dumpcap à un groupe ou un utilisateur spécifique.

J'ai suivi ces instructions (avec adaptations):

Définition des privilèges réseau pour dumpcap si votre noyau et votre système de fichiers prennent en charge les capacités de fichiers

  • Assurez-vous d'avoir installé les outils nécessaires, tels que la commande setcap.

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

(REMARQUE: remplacez / usr / bin par / usr / sbin au cas où vous recevriez une erreur indiquant que dumpcap n'est pas dans / usr / bin)

  • Démarrez Wireshark en tant que non root et assurez-vous que vous voyez la liste des interfaces et que vous pouvez effectuer une capture en direct. ( J'ai ignoré cette instruction. N'a pas fonctionné pour moi )

Définition des privilèges réseau pour dumpcap si votre noyau et votre système de fichiers ne prennent pas en charge les capacités de fichiers

Dans ce cas, vous devrez définir dumpcap set-UID sur root.

sudo chown root /usr/bin/dumpcap 

(REMARQUE: remplacez / usr / bin par / usr / sbin dans cette commande et la commande suivante au cas où vous recevez une erreur qui indique que dumpcap n'est pas dans / usr / sbin)

sudo chmod u+s /usr/bin/dumpcap

Limiter l'autorisation de capture à un seul groupe

Après avoir défini les privilèges réseau de dumpcap:

  • Créez l'utilisateur "WireShark" dans le groupe "WireShark".

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • Assurez-vous que Wireshark fonctionne uniquement à partir de la racine et d'un utilisateur dans le groupe "WireShark" ( JE N'AI FAIT CETTE ÉTAPE QU'À LA FIN - PAS ENCORE PLUS )

Et enfin, deux autres étapes:

sudo dpkg-reconfigure wireshark-common

Choisissez «oui».

Déconnectez TOUTES les interfaces de l'utilisateur (y compris ssh qui était ma plus grosse erreur) et reconnectez-vous.

Avec un peu de chance, vous devriez démarrer Wireshark et voir toutes les interfaces en tant qu'utilisateur normal (n'utilisez pas sudo)

wireshark &

Et si vous vérifiez les autorisations de fichier

ls -la /usr/bin/dumpcap

Il permet UNIQUEMENT à l'UTILISATEUR et au GROUPE d'exécuter

-rwxr-xr-- 1 racine wirehark

Marco A. Pivetta
la source