リモートマウス 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デバイスファイルを使用することが目的であれば、ドキュメントをオーディオデバイスに送信し、どのように音が出るかを確認してください。ルートアクセスを持つ単純な猫とパイプが機能します。

関連情報