tcpdump problema de permissões

11

tendo problemas ao executar o tcpdump. Eu estou no Trusty. Eu preciso executar o tcpdump com o usuário não-root. Pesquisei na web por meu problema e descobri que deveria

sudo setcap cap_net_admin=eip /usr/sbin/tcpdump

Isso me permitiu executar o tcpdump com meu usuário, mas depois consegui:

you don't have permission to capture on that device

em qualquer dispositivo que eu tentei capturar.

Também foi um pouco de força bruta e fez:

sudo chmod +s /usr/sbin/tcpdump

Isso também não aconteceu ...

Espero conseguir ajuda, obrigado.

    
por Sivan Sigal 01.10.2014 / 10:13

2 respostas

17

Está um pouco atrasado, mas acabei de ter o mesmo problema. Você precisa dar a tcpdump a permissão e a capacidade para permitir capturas de pacotes brutos e manipulação da interface de rede .

Adicione um grupo de captura e adicione-se a ele:

sudo groupadd pcap
sudo usermod -a -G pcap $USER

Em seguida, altere o grupo de tcpdump e defina as permissões:

sudo chgrp pcap /usr/sbin/tcpdump
sudo chmod 750 /usr/sbin/tcpdump

Por fim, use setcap para fornecer tcpdump as permissões necessárias:

sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump

Cuidado, isso permitirá que todo mundo do grupo pcap manipule interfaces de rede e leia pacotes brutos!

Encontrado aqui: Configure o tcpdump para funcionar como não-raiz

    
por Horst 04.06.2015 / 13:42
0

Talvez isso possa funcionar. Semelhante ao que já foi postado. Não foi testado no Ubuntu.

(use um grupo do qual seu usuário é membro) chgrp wireshark / usr / sbin / tcpdump

setcap 'CAP_NET_RAW + eip CAP_NET_ADMIN + eip' / usr / sbin / tcpdump

usando getcap / usr / sbin / tcpdump você deve ver / usr / sbin / tcpdump = cap_net_admin, cap_net_raw + eip

    
por Serjan 08.04.2015 / 09:56