を使用せずにリモート Linux マシンを poke/ping しようとしていますssh
。これを行うための他のユーティリティはありますか?
追加: リモート マシンのパスワードを入力しなくても poke を実行できれば非常に便利です。それは可能ですか?
write
更新:ツールについて知りましたwall
。使い方を知っている人はいますか?
答え1
knockd
があなたの答えかもしれません。
サーバー部分:
- インストール
knockd
-->sudo apt-get install knockd
- 設定ファイルを編集します -->または
sudo nano /etc/knockd.conf
も使用できます。gedit
vi
編集後の設定ファイルは次のようになります。
[options] LogFile = /var/log/knockd.log Interface = wlan0 [sendMessage] sequence = 1111,2222 seq_timeout = 5 command = /usr/bin/env sh -c "echo 'Hello, World' | wall" tcpflags = syn
は
Interface
リッスンしているネットワーク インターフェイス、sequence
はポート ノッキング シーケンス、はcommand
ノックされたときに実行されるコマンドです。スタートアップファイルを編集する -->このファイルでは、次の
sudo nano /etc/default/knockd
変更のみが必要です。START_KNOCKD=0
START_KNOCKD=1
knockd
変更を適用するにはリロードしてくださいsudo /etc/init.d/knockd reload
クライアント側:
サーバーのポートとコマンドをその順序でtelnetするだけで実行されます。
telnet MYSERVER 1111
telnet MYSERVER 2222
次のユーティリティを使用することもできますknock
:
knock MYSERVER 1111 2222
最後のメモ
- 指定された接続を表示することもできます
Logfile
。(つまり/var/log/knockd.log
) - より複雑なポートの組み合わせを使用することもできます(例
5555,5050,3333,3030
: - ドキュメント全体は以下で読むことができます。開発者のウェブページ
- 素晴らしいチュートリアルを読むことができますUbuntu コミュニティ
答え2
nc
(netcat) を試して、ネットワーク経由でメッセージ (ファイルも) を送受信することができます。
たとえば、コンピュータ A の IP アドレスは 192.168.1.10 で、コンピュータ B の IP アドレスは 192.168.1.20 です。
まず、コンピュータ B が接続するコンピュータ A のポートを開きます。
$ nc -l 2000
これで、コンピュータ A はポート 2000 で着信接続をリッスンするようになります。「0-1023」以外のポート、つまり既知のポートを使用する必要があります。
ここで、コンピュータ B からコンピュータ A のポート 2000 に接続します。
$ nc 192.168.1.10 2000
これでコンピュータが接続され、コンピュータ A から任意のメッセージを書き込むと、それがコンピュータ B に表示され、その逆も同様になります。