O Xming não será iniciado se for executado como superusuário

1

Cenário:

Estou tentando executar WireShark por meio de servidor xming localizado em uma máquina windows 8.1 fora de um Raspberry Pi B + que é conectado a um Wifi Pineapple Mark 5 .

O Xming é iniciado com sucesso com o seguinte comando

pi@raspberrypi~$ wireshark -i interface name

No entanto, quando tento acessar (qualquer uma das interfaces, incluindo uma gerada com airmon-ng), obtenho

"You don't have permission to access this interface"

de wireshark.

Então, naturalmente, eu digo: "Derp, você precisa executá-lo com o sudo"

Quando eu corro

pi@raspberrypi~$ sudo wireshark -i interface name

xming não conecta e diz

PuTTY X11 proxy: wrong authorisation protocol attempted
(wireshark:3123): Gtk-WARNING **: cannot open display: localhost:10.0

Eu estou em uma perda total de porque isso está acontecendo.

Eu pesquisei um pouco e sugiro adicionar

"ForwardX11Trusted yes"

para o meu arquivo sshd_config mas quando faço isso e tento reiniciar meu servidor ssh ele diz que é uma chave ruim. Eu também tentei ssh_config. Não recebi um erro de reinicialização, mas ainda experimentei os mesmos problemas de xming.

    
por Anthony Russell 28.04.2015 / 01:50

1 resposta

4

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 .

    
por 28.04.2015 / 07:15