我正在使用 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
答案2
使用设备文件对鼠标事件进行原始处理需要:
- 提升的权限,以便您不应该暴露给客户端应用程序
- 对鼠标设备的内部工作原理有足够的了解,基本上可以构建您自己的鼠标驱动程序,这当然可以是可加载的内核模块,并且可以通过您自己创建的本地服务进行访问,该服务可以接收来自网络的命令并通过自定义协议将它们发送到内核模块,或者
- 您可以简单地创建一个应用程序,将加载的鼠标驱动程序的功能公开给某种外部网络接口,在这种情况下,客户端最简单的解决方案是将其设为一个接口,并通过以下任一
REST
方式操作它:curl
browser
但上述解决方案似乎都不安全......
幸运的是,有一些工具可以让您免去如此艰苦的努力……并为您的问题提供安全的解决方案。
我想当您说“您想远程控制鼠标”时,您的意思是控制目标图形用户界面中显示的鼠标。这是 X-Windows 服务器提供的服务,可以使用 ssh 通过命令行轻松安全地控制。
抱歉,我真的不知道如何netcat
适合这张照片......
因此,您可以做的就是简单地使用xdotool
ssh 连接来模拟鼠标事件:
$ ssh user@machine xdotool mousemove 0 0 click 1
是的,就是这么简单!
看:
Linux 中的鼠标事件如何工作?
https://stackoverflow.com/questions/1029027/x11-move-an-existing-window-via-command-line
以防万一,您想要控制目标操作系统中看到的鼠标光标。因为如果您的目标是创建一个使用鼠标的终端应用程序(这是物理连接到客户端的鼠标),那么您绝对应该选择基于ncurses
.ncurses
使用开源终端鼠标服务器,还可以用于通过 ssh 和简单的终端提供精致的 GUI 界面。另外,ncurses 不依赖于 x-server 运行,因为它不会以任何方式影响服务器的鼠标,它只是使用客户端的鼠标来控制应用程序。
无论如何,如果您的目标只是简单地使用 Linux 设备文件,请尝试将文档发送到音频设备并看看它听起来如何……具有 root 权限的简单猫和管道就可以工作。