Netcat Remote Mouse (/ dev / input / mice)

4

Eu estava brincando com o nc e estou descobrindo como essa ferramenta é poderosa e versátil. Eu queria saber como funciona o arquivo /dev/input/mice porque quando eu faço cat /dev/input/mice você vê a saída, mas não sei como brincar com isso.

Eu tentei um echo "blablabla" > /dev/input/mice achei que mudaria minhas coordenadas de mouse, mas não fiz nada.

Eu vi em um post que você pode ter um mouse remoto com netcat (não tenho certeza onde eu vi)

Então, se eu posso pegar a gravação de / dev / input / mice em um PC remoto para um servidor escutando, escrevendo para seu dev / input / mice ¿?

Minha ideia é:

Servidor: nc -l -p 6000 > /dev/input/mice

Cliente: nc <IP> 6000 < /dev/input/mice

Eu acho que isso não funcionaria, alguém sabe como fazer isso e explicar um pouquinho? Obrigado antecipadamente

    
por aDoN 16.12.2014 / 13:18

1 resposta

0

A manipulação bruta de eventos de mouse usando um arquivo de dispositivo exigiria:

  1. privilégios elevados, de tal forma que você não deve expor a um aplicativo cliente
  2. conhecimento suficiente do funcionamento interno do dispositivo de mouse, basicamente para construir o seu próprio driver de mouse, que naturalmente poderia ser um módulo carregável do kernel e poderia ser acessível através de um serviço local de sua própria criação que receberia comandos de a rede e enviá-los para o módulo do kernel através de um protocolo personalizado, ou
  3. você poderia simplesmente criar um aplicativo que exponha a funcionalidade do driver do mouse carregado a algum tipo de interface de rede externa, caso em que a solução mais simples para o cliente seria torná-lo uma interface REST e operá-lo por meio de curl ou browser

Mas nenhuma das soluções acima parece segura ...

Felizmente, existem ferramentas que poupam você de um esforço tão meticuloso ... e oferecem a você uma solução segura para o seu problema.

Suponho que, quando você diz isso, "deseja controlar o mouse remotamente", você quer controlar o mouse conforme exibido na interface gráfica de usuário de destino. Este é um serviço fornecido pelo servidor X-Windows e pode ser controlado com facilidade e segurança via linha de comando usando ssh.
Com licença, mas eu realmente não sei como netcat se encaixa nessa foto ...

Então, o que você poderia fazer é simplesmente usar o xdotool para simular um evento de mouse em uma conexão ssh com:

$ ssh user@machine xdotool mousemove 0 0 click 1

Sim, é realmente assim tão simples!

Veja: Como funcionam os eventos do mouse no linux?
link

Nesse caso, você quer controlar o cursor do mouse como visto no sistema operacional de destino. Porque se o seu objetivo é criar um aplicativo de terminal que usa o mouse (este é o mouse que está fisicamente ligado ao cliente), então você deve definitivamente ir para um programa que é baseado em ncurses . ncurses faz uso de um servidor de mouse de terminal de código aberto e também pode ser usado para fornecer uma interface gráfica elaborada em todo o ssh e um terminal simples. Além disso, ncurses não depende do x-server em execução, porque ele não afeta o mouse do servidor de qualquer maneira, ele simplesmente usa o mouse do cliente para controlar o aplicativo.

De qualquer forma, se o seu objetivo é simplesmente tocar com arquivos de dispositivos linux, tente enviar um documento para o dispositivo de áudio e ver como ele soa ... um simples cat / pipe com privilégios de root funcionará.

    
por 13.10.2016 / 16:08