원격 마우스 netcat(/dev/input/mice)

원격 마우스 netcat(/dev/input/mice)

저는 nc를 사용하고 있는데 이 도구가 얼마나 강력하고 다재다능한지 발견했습니다. 이 파일 /dev/input/mice을 실행하면 cat /dev/input/mice출력이 표시되지만 사용 방법을 잘 모르기 때문에 이 파일이 어떻게 작동하는지 궁금합니다 .

내 마우스 좌표가 변경될 것이라고 생각 했지만 echo "blablabla" > /dev/input/mice아무 일도 일어나지 않았습니다.

netcat을 사용하여 원격으로 마우스를 사용할 수 있다는 기사를 봤습니다(어디에서 봤는지 모르겠습니다).

그렇다면 원격 PC의 /dev/input/mice에 작성된 내용을 수신 중인 서버로 보내고 이를 그의 dev/input/mice ¿에 쓸 수 있다면 어떻게 될까요?

내 의견은 다음과 같습니다.

섬기는 사람: nc -l -p 6000 > /dev/input/mice

고객:nc <IP> 6000 < /dev/input/mice

나는 그것이 작동하지 않을 것이라고 생각하는데, 이것을 수행하고 설명하는 방법을 아는 사람이 있습니까? 미리 감사드립니다

답변1

나는 썼다더 자세한 답변본질적으로같은 질문하지만 주요 아이디어는 다음과 같습니다.

고객:nc -l -p 4567 | uinput

섬기는 사람:intercept -g /dev/input/by-id/usb-My-mouse-name | nc 10.1.2.3 4567

이는 다음을 사용합니다.인터셉터 - libudev 및 libevdev를 기반으로 하는 최소 구성 가능 인프라

답변2

장치 파일을 사용하여 마우스 이벤트를 원시적으로 처리하려면 다음이 필요합니다.

  1. 클라이언트 응용 프로그램에 노출되지 않도록 권한을 높였습니다.
  2. 기본적으로 자신만의 마우스 드라이버를 구축할 수 있을 만큼 마우스 장치의 내부 작동을 충분히 이해하십시오. 물론 이는 로드 가능한 커널 모듈일 수 있고 네트워크 명령에서 데이터를 수신하여 컴퓨터로 보내는 자신이 만든 로컬 서비스를 통해 액세스할 수 있습니다. 사용자 정의 프로토콜을 통한 커널 모듈, 또는
  3. 로드된 마우스 드라이버의 기능을 일부 외부 네트워크 인터페이스에 노출하는 응용 프로그램을 만들 수 있습니다. 이 경우 클라이언트를 위한 가장 쉬운 솔루션은 이를 인터페이스로 만들고 다음 중 하나를 통해 전달하는 것입니다 REST. :curlbrowser

그러나 위의 솔루션 중 어느 것도 안전하지 않은 것 같습니다 ...

다행히도 여러분의 수고를 덜고 문제에 대한 안전한 해결책을 제공할 수 있는 도구가 있습니다.

"마우스를 원격으로 제어하고 싶다"는 말은 대상 GUI에 표시된 마우스를 제어한다는 뜻이라고 생각합니다. X-Windows 서버에서 제공하는 서비스로 SSH를 이용하여 명령줄에서 쉽고 안전하게 제어할 수 있습니다. 죄송합니다. 이 사진을
어떻게 맞추는지 잘 모르겠습니다 ...netcat

따라서 할 수 있는 일은 xdotoolSSH 연결을 사용하여 마우스 이벤트를 시뮬레이션하는 것입니다.

$ ssh user@machine xdotool mousemove 0 0 click 1

예, 정말 간단합니다!

바라보다:
Linux에서 마우스 이벤트는 어떻게 작동합니까?
https://stackoverflow.com/questions/1029027/x11-move-an-existing-window-via-command-line

혹시라도 대상 운영체제에 보이는 마우스 커서를 제어하고 싶을 때가 있습니다. 목표가 마우스(클라이언트에 물리적으로 연결된 마우스)를 사용하는 터미널 응용 프로그램을 만드는 것이라면 GUI 인터페이스 기반 ncursesncurses

어쨌든, 단순히 Linux 장치 파일을 사용하는 것이 목표라면 문서를 오디오 장치로 보내고 소리가 어떻게 나는지 확인하십시오. 루트 액세스 권한이 있는 간단한 고양이와 파이프가 작동할 것입니다.

관련 정보