远程鼠标 netcat (/dev/input/mice)

aDo*_*DoN 6 devices mouse netcat remote-control

我在玩 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

我认为那行不通,所以有人知道如何执行此操作并稍微解释一下吗?先感谢您

Ang*_*tis 0

使用设备文件对鼠标事件进行原始处理需要:

  1. 提升的权限,以便您不应该暴露给客户端应用程序
  2. 对鼠标设备的内部工作原理有足够的了解,基本上可以构建您自己的鼠标驱动程序,这当然可以是可加载的内核模块,并且可以通过您自己创建的本地服务进行访问,该服务可以接收来自网络的命令并通过自定义协议将它们发送到内核模块,或者
  3. 您可以简单地创建一个应用程序,将加载的鼠标驱动程序的功能公开给某种外部网络接口,在这种情况下,客户端最简单的解决方案是将其设为一个接口,并通过以下任一方式REST操作它:curlbrowser

但上述解决方案似乎都不安全......

幸运的是,有一些工具可以让您免去如此艰苦的努力……并为您的问题提供安全的解决方案。

我想当您说“您想远程控制鼠标”时,您的意思是控制目标图形用户界面中显示的鼠标。这是 X-Windows 服务器提供的服务,可以使用 ssh 通过命令行轻松安全地控制。
抱歉,我真的不知道如何netcat适合这张照片......

因此,您可以做的就是简单地使用xdotoolssh 连接来模拟鼠标事件:

$ ssh user@machine xdotool mousemove 0 0 click 1
Run Code Online (Sandbox Code Playgroud)

是的,就是这么简单!

请参阅:
鼠标事件在 Linux 中如何工作?
/sf/ask/72031921/

以防万一,您想要控制目标操作系统中看到的鼠标光标。因为如果您的目标是创建一个使用鼠标的终端应用程序(这是物理连接到客户端的鼠标),那么您绝对应该选择基于ncurses. ncurses利用开源终端鼠标服务器,还可以用于通过 ssh 和简单的终端提供精致的 GUI 界面。另外,ncurses 不依赖于 x-server 运行,因为它不会以任何方式影响服务器的鼠标,它只是使用客户端的鼠标来控制应用程序。

无论如何,如果您的目标只是简单地使用 Linux 设备文件,请尝试将文档发送到音频设备并看看它听起来如何……具有 root 权限的简单猫和管道就可以工作。