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 permitted
Respuestas:
Es un poco tarde, pero tuve el mismo problema. Debe otorgar
tcpdump
el 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
tcpdump
y establezca permisos:Finalmente, use
setcap
para otorgartcpdump
los 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 lai
fue porque mi programa no necesitaba bifurcarse. Esto es para un binario personalizado, así que ymmv.iftop
un 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