Wireshark: Acessando Interfaces de Barramento USB sem sudo

5

Estou tentando monitorar algum tráfego USB usando o Wireshark no Linux (Ubuntu). Se eu iniciar o Wireshark como meu usuário normal sem privilégios de root, as interfaces de barramento USB não serão listadas. Se eu sudo wireshark , eu vejo as interfaces de barramento USB. Isso talvez seja melhor ilustrado usando o comando dumpcap para listar as interfaces de captura disponíveis:

~$dumpcap -D

1. eth0
2. any (Pseudo-device that captures on all interfaces)
3. lo

versus

~$sudo dumpcap -D

1. eth0
2. usbmon1 (USB bus number 1)
3. usbmon2 (USB bus number 2)
4. usbmon3 (USB bus number 3)
5. usbmon4 (USB bus number 4)
6. usbmon5 (USB bus number 5)
7. usbmon6 (USB bus number 6)
8. usbmon7 (USB bus number 7)
9. usbmon8 (USB bus number 8)
10. any (Pseudo-device that captures on all interfaces)
11. lo

Existe uma maneira que eu possa configurar o Wireshark para que eu não precise correr como root para ter acesso às interfaces de barramento USB? Eu já segui um guia para configurar o wireshark para que eu não precise executá-lo como root para ver as interfaces Ethernet, então estou pensando se é simplesmente uma questão de alterar permissões em algum outro executável para poder ver interfaces USB sem executar como root ...

    
por Bryce Thomas 24.07.2012 / 14:15

2 respostas

6

Sim, você só precisa adicionar outro recurso ao utilitário dumpcap. O CAP_DAC_OVERRIDE permite substituir as verificações de permissão nos arquivos e permite que o dumpcap acesse os arquivos necessários para a captura de USB. Não é uma solução bonita, mas é muito melhor do que rodar todo o Wireshark como root. Já que você já fez a maior parte do trabalho, você só precisa executar este último comando.

sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip CAP_DAC_OVERRIDE+eip' /usr/bin/dumpcap

Leia a resposta de Evan Huus neste relatório de erros para mais informações:

link

    
por 15.08.2012 / 04:37
3

CAP_DAC_OVERRIDE certamente dará à wireshark a capacidade de capturar usb como não-root, mas também permite acesso a todo o resto. De uma perspectiva de segurança, isso não é bom. Há outro caminho no entanto.     %código% Isso dará acesso apenas ao monitoramento usb. Isso poderia ser mais refinado, criando um grupo chamado wireshark, em seguida, fazendo o seguinte:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod g+s /usr/bin/dumpcap
sudo chgrp wireshark dev/usbmon*
sudo chmod g+r /dev/usbmon*

Isso configura as coisas de modo que o dumpcap tenha acesso para monitorar o usb e ainda esteja limitado por restrições de permissão normais. Além disso, os programas que são membros do grupo 'wireshark' terão esse acesso.

Para quem não conhece o dumpcap, é o programa subordinado de trabalhadores da wireshark. Além disso, a menos que alterações de configuração adicionais sejam feitas, o / dev / usbmon * será revertido para as permissões padrão na reinicialização, desabilitando o acesso à monitoração usb. Basta executar novamente o sudo chmod go+r /dev/usbmon* para ativar. As alterações nas permissões do dumpcap sobreviverão à reinicialização.

    
por 17.01.2014 / 02:51