Não há interfaces nas quais uma captura possa ser feita


24

Estou usando o Ubuntu 13.04.

O Wireshark não me mostrará nenhum registro, nem funcionará. Estou conectado ao meu roteador WiFi, Belkin.


Uma solução rápida, não uma solução: Você pode executar wireshark como root: gksudo wireshark.
soulsource

Respostas:


45

Abra um terminal pressionando Ctrl+ Alt+ Te digite os seguintes comandos:

sudo dpkg-reconfigure wireshark-common

pressione a seta para a direita e digite sim

sudo chmod +x /usr/bin/dumpcap

agora você deve poder executá-lo sem root e poderá capturar.


4
+1. Também funciona em 14.04. Nota: os documentos dizem : "a captura de pacotes USB não está ativada para usuários não-root usando os Recursos do Linux. Você precisa capturar os pacotes usando o método descrito em I./a., Definindo o ID do usuário permanentemente usando o dpkg -statoverride ou executando o Wireshark como root. "
jfs

Seria grande ajuda para iniciantes, se você também pode descrever como o que está sendo feito com comandos acima que o fazem funcionar
Ahmed

1
FUNCIONA no LTS 14.04 .... Muito obrigado.
THN

chmod +xtorna o dumpcap executável para todos. Uma alternativa seria adicionar usuários que você deseja permitir a captura no grupo wireshark.
domen

2

A mensagem "Nenhuma interface pode ser usada para capturar neste sistema com a configuração atual" geralmente aparece quando você não tem privilégios para acessar as interfaces de rede para monitoramento. Tente abrir um terminal e executar o gksudo wireshark. Se várias interfaces de rede aparecerem, é porque, quando você executa o wireshark sem permissões de root, não tem privilégios para monitorar.

Para corrigir isso, execute o seguinte comando em um terminal:

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

"Tente abrir um terminal e executar o gksudo wireshark." Por favor note que este documento diz "A WIRESHARK CONTÉM MAIS DE DOIS MILHÕES DE LINHAS DE CÓDIGO DE ORIGEM. NÃO OS EXECUTARÁ COMO RAIZ". antes de fazer isso. Execute o sudo setcapcomando - ou use sudo dpkg-reconfigure wireshark-commonpara que o pacote defina os recursos para você.

0

Quando tentei executar o wireshark, estava recebendo este erro:

Couldn't run /usr/bin/dumpcap in child process: Permission denied

então eu costumava executá-lo como root, o que desativou o LUA. A janela pop-up informando que a LUA foi desativada era tão irritante que tentei corrigi-la.

primeiro verifiquei os privilégios executando

ls -l /usr/bin/dumpcap

que resultou em:

-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap

isso era óbvio, é o que o Wireshark está me dizendo. Então eu mudei o proprietário da raiz para a minha conta

sudo chown -R $LOGNAME /usr/bin/dumpcap

Que funcionou, agora posso executar o wireshark sem raiz


0

Pesquisou no Google "não pôde executar / usr / bin / dumpcap no processo filho" e encontrou esta pergunta:

Não consigo usar o wireshark "não foi possível executar / usr / bin / dumpcap no processo filho"

Que está marcado como duplicado e me trouxe aqui. A solução proposta é:

sudo chmod +x /usr/bin/dumpcap

O comando acima realmente funciona, mas eu gostaria de adicionar um aviso de segurança . Isso permitirá a captura de pacotes para TODOS OS USUÁRIOS no sistema. Pode ser uma solução temporária, mas não desejada como solução permanente.

Segui as instruções da página wireshark sobre os privilégios de captura:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

Eles recomendam restringir a execução do dumpcap a um grupo ou usuário específico.

Eu segui essas instruções (com adaptações):

Configurando privilégios de rede para dumpcap se o kernel e o sistema de arquivos suportarem recursos de arquivo

  • Verifique se você instalou as ferramentas necessárias, como o comando setcap.

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

(NOTA: Substitua / usr / bin por / usr / sbin, caso você receba um erro indicando que o dumpcap não está em / usr / bin)

  • Inicie o Wireshark como não raiz e verifique se você vê a lista de interfaces e pode capturar ao vivo. ( IGNOREI ESTA INSTRUÇÃO. NÃO FUNCIONOU PARA MIM )

Configurando privilégios de rede para o dumpcap se o seu kernel e sistema de arquivos não suportarem recursos de arquivos

Nesse caso, você precisará fazer o dumpcap set-UID como root.

sudo chown root /usr/bin/dumpcap 

(NOTA: Substitua / usr / bin por / usr / sbin neste comando e no próximo comando, caso você receba um erro que indique que o dumpcap não está em / usr / sbin)

sudo chmod u+s /usr/bin/dumpcap

Limitando a permissão de captura a apenas um grupo

Depois de definir os privilégios de rede do dumpcap:

  • Crie o usuário "wireshark" no grupo "wireshark".

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • Certifique-se de que o Wireshark funcione apenas a partir da raiz e de um usuário no grupo "wireshark" ( FIZ ESTA ETAPA SOMENTE NO FINAL - AINDA NÃO AINDA )

E, finalmente, mais duas etapas:

sudo dpkg-reconfigure wireshark-common

Escolha 'sim'.

Efetue logout de TODAS as interfaces para o usuário (incluindo ssh, que foi o meu maior erro) e efetue login novamente.

Felizmente, você deve iniciar o wireshark e ver todas as interfaces como um usuário comum (sem usar o sudo)

wireshark &

E se você verificar as permissões de arquivo

ls -la /usr/bin/dumpcap

Permite que apenas o usuário e o grupo executem

-rwxr-xr-- 1 wireshark raiz

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.