ejecutando Wireshark dentro de un contenedor acoplable centOS

ejecutando Wireshark dentro de un contenedor acoplable centOS

Instalé Wireshark usando yum( RUN yum install -y wireshark wireshark-qt) y no puedo ejecutarlo cuando entro al contenedor.

# tshark
tshark: Couldn't run /usr/sbin/dumpcap in child process: Operation not permitted
Are you a member of the 'wireshark' group? Try running
'usermod -a -G wireshark _your_username_' as root.

Intenté ejecutar usermod -a -G wireshark root(ya que cuando entro a la máquina por ssh, es como root). Esto no ayuda.

También lo intenté su -c '/usr/sbin/tshark'sin éxito.

¿Qué tengo que hacer?

Respuesta1

dumpcaprequiere NET_RAW(usar sockets RAW y PACKET) NET_ADMIN(realizar operaciones relacionadas con la red) capacidades

$ getcap $(which dumpcap)
/usr/sbin/dumpcap = cap_net_admin,cap_net_raw+ep

No se otorgan de forma predeterminada a contenedores sin privilegios y deben agregarse explícitamente al --cap-add=NET_RAW --cap-add=NET_ADMINiniciar el contenedor.

$ docker build -t tshark - <<EOF 
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y tshark && rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["tshark"]
EOF

$ docker run --rm -it \
    --net=[container:<name|id> | host] \
    --cap-add=NET_RAW --cap-add=NET_ADMIN tshark


Respuesta2

Usé este comando y ejecutó:

usermod -a -G wireshark _your_username_  

newgrp wireshark

sudo chgrp wireshark /usr/sbin/dumpcap

tshark -i eth0 -w outfile

Por favor, inténtalo.

información relacionada