サーバーにこのタスクを指示するときは、necatまたはsocatを使用してPC上でスクリプトを実行するように構成したいと思います。
UDP経由で簡単なメッセージを送信できる古いアプリケーションがあります。
メッセージはプレイリストに保存されます。
はい
netcat/socatを実行しているPCにマクロ/スクリプトを開くように求めるメッセージを送信したいとします。
"C:\Users\xxx\Desktop\script.bat"
サーバーには受信ポートが必要です。コマンドを受信するとプログラムを実行します。
どうすればいいですか?どのように始めるのか分からないし、インターネット上で何も見つからない。
PS。 UDPのセキュリティや信頼性は気にしないでください。これはLANの問題なので、サーバーが私に何も言う必要はありません。
ベストアンサー1
これは古典的な使い方ですnetcat
。しかし、これはunix.SE
私の答えが完全にUnixにあるということです。
注:netcat
ディストリビューションによって名前が異なります。
netcat
nc
:一部のディストリビューションのエイリアスnc
:LinuxのGNU netcatまたは* BSDのBSD netcatncat
:Nmap netcat、ほとんどのシステムで一貫している
オプションはバージョンごとに異なりnetcat
、バージョンごとに異なるように動作できる点を指摘します。また、netcat()のnmapバージョンはncat
システム全体でコマンドラインオプションが一貫しているため、インストールを強くお勧めします。
ncat
この回答全体でnetcat名を使用します。
伝送制御プロトコル
TCPを使用してシステムを制御するには、名前付きパイプの使用(すべてのバージョンのnetcatで動作)と使用(Linuxバージョンにのみ存在するか、より正確には* BSDでまったく異なる操作を実行する)netcat
という2つのオプションがあります。-e
-e
優秀サービス端末次のいずれかを実行する必要があります。
mkfifo pinkie
ncat -kl 0.0.0.0 4096 <pinkie | /bin/sh >pinkie
ここで、0.0.0.0
「すべてのインターフェイス」のプレースホルダは、特定のIPを使用する特定のインターフェイスに制限し、-l
リッスン-k
状態を維持します(シングル接続後は終了しません)。
別のオプション(linux / ncatで)は、次のものを使用することです:
ncat -kl 0.0.0.0 4096 -e /bin/sh
同じ結果を得てください。
優秀顧客アプリケーションを使用するか、単に以下を実行できます。
ncat <server ip> 4096
サーバーのシェルを制御し、コマンドを送信できます。
UDPプロトコル
UDPも同様ですが、いくつかの制限があります。-k
UDPプロトコルはそれなしでは使用できないため、-e
再利用可能なソケットを実装するにはlinux / ncatが必要です。
優秀サービス端末あなたは:
ncat -ukl 0.0.0.0 4096 -e /bin/sh
そして顧客(またはあなたのアプリケーションから):
ncat -u <server ip> 4096
再び機能するシェルがありました。