Je ne parviens pas à exécuter tcpdump. Je dois exécuter tcpdump avec un utilisateur non root. J'ai cherché mon problème sur le Web et j'ai compris que je devrais:
Sudo setcap cap_net_admin=eip /usr/sbin/tcpdump
Cela m'a permis de lancer tcpdump avec mon utilisateur mais ensuite j'ai eu:
you don't have permission to capture on that device
sur tout appareil, j'ai essayé de capturer.
Également allé un peu force brute et a fait:
Sudo chmod +s /usr/sbin/tcpdump
Cela ne l'a pas fait non plus.
C'est un peu tard, mais j'ai juste eu le même problème. Vous devez donner à tcpdump
l'autorisation et la possibilité d'autoriser les captures de paquets bruts et la manipulation de l'interface réseau .
Ajoutez un groupe de capture et ajoutez-y vous-même:
Sudo groupadd pcap
Sudo usermod -a -G pcap $USER
Ensuite, modifiez le groupe tcpdump
et définissez les autorisations:
Sudo chgrp pcap /usr/sbin/tcpdump
Sudo chmod 750 /usr/sbin/tcpdump
Enfin, utilisez setcap
pour donner à tcpdump
les autorisations nécessaires:
Sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
Faites attention, cela permettra à tout le monde du groupe pcap de manipuler les interfaces réseau et de lire les paquets bruts!
Je l'ai trouvé ici: Configurez tcpdump pour fonctionner en tant que non-root
Peut-être que cela pourrait fonctionner. Semblable à ce qui a déjà été posté. Il n'a pas été testé sur Ubuntu.
(utilisez un groupe dont votre utilisateur est membre) chgrp wireshark/usr/sbin/tcpdump
setcap 'CAP_NET_RAW + eip CAP_NET_ADMIN + eip'/usr/sbin/tcpdump
en utilisant getcap/usr/sbin/tcpdump, vous devriez voir/usr/sbin/tcpdump = cap_net_admin, cap_net_raw + eip