Tengo problemas para ejecutar tcpdump. Debo ejecutar tcpdump con un usuario no root. Busqué mi problema en la web y descubrí que debería:
sudo setcap cap_net_admin=eip /usr/sbin/tcpdump
Eso me permitió ejecutar tcpdump con mi usuario pero luego obtuve:
you don't have permission to capture on that device
en cualquier dispositivo que intenté capturar.
También fue un poco de fuerza bruta e hizo:
sudo chmod +s /usr/sbin/tcpdump
Eso tampoco lo hizo.
14.04
permissions
tcpdump
Sivan Sigal
fuente
fuente

tcpdump: eth0: You don't have permission to capture on that device (socket: Operation not permittedRespuestas:
Es un poco tarde, pero tuve el mismo problema. Debe otorgar
tcpdumpel permiso y la capacidad para permitir la captura de paquetes sin formato y la manipulación de la interfaz de red .Agregue un grupo de captura y agréguese a él:
A continuación, cambie el grupo de
tcpdumpy establezca permisos:Finalmente, use
setcappara otorgartcpdumplos permisos necesarios:¡Tenga cuidado, ya que esto permitirá que todos, desde el grupo pcap, manipulen las interfaces de red y lean los paquetes sin formato!
Lo encontré aquí: configure tcpdump para que funcione como no root
fuente
cap_net_raw,cap_setpcap=ep. La eliminación de laifue porque mi programa no necesitaba bifurcarse. Esto es para un binario personalizado, así que ymmv.iftopun programa que muestra la utilización de la red por dirección IP / nombre DNSQuizás esto pueda funcionar. Similar a lo que ya se publicó. No ha sido probado en ubuntu.
(use un grupo del cual su usuario sea miembro) chgrp wireshark / usr / sbin / tcpdump
setcap 'CAP_NET_RAW + eip CAP_NET_ADMIN + eip' / usr / sbin / tcpdump
usando getcap / usr / sbin / tcpdump debería ver / usr / sbin / tcpdump = cap_net_admin, cap_net_raw + eip
fuente