Isso é normal. Você se conectou ao seu Pi como usuário pi , pedindo ssh (ou PuTTY neste caso) para encaminhar sua conexão X para sua área de trabalho. Isso só permite que o usuário pi no Pi acesse seu servidor X em sua área de trabalho; Quando você executa wireshark como root , como root no seu Pi não tem acesso ao seu servidor X, você vê a mensagem de erro que você deu.
Eu lhe darei a solução ssh , mas é a abordagem errada neste caso; Eu também darei a abordagem correta para wireshark .
Em geral, para executar um programa X como outro usuário diferente do usuário com o qual você se conectou a uma máquina remota, é necessário mesclar as informações da autoridade X. Nesse caso, para permitir que root se conecte à sua área de trabalho, execute o seguinte no seu Pi:
xauth extract - $DISPLAY | sudo xauth merge -
Isso extrai a autoridade X do seu usuário pi e a mescla com a autoridade X do usuário root . Você pode receber um aviso sobre /root/.Xauthority não existente; isso não importa, xauth criará o arquivo para você. Agora você deve conseguir executar wireshark como root .
Mas executando wireshark como root não é recomendado; Falhas de segurança são encontradas regularmente no Wireshark ... /usr/share/doc/wireshark/README.Debian fornece duas abordagens possíveis. A primeira é executar dumpcap como root para capturar todo o tráfego que você está interessado, então execute wireshark para analisar a saída gerada (e você pode executar dumpcap no seu Pi, então use o Wireshark no seu computador desktop). A segunda é adicionar o seu usuário pi ao grupo wireshark e reconfigurar o Wireshark para permitir que os membros do grupo wireshark capturem o tráfego; você pode fazer isso executando o seguinte no seu Pi:
adduser pi wireshark
sudo dpkg-reconfigure wireshark-common
e escolha "Sim" na tela de configuração. Em seguida, execute wireshark as pi .
