ポートを継続的にリッスンすることは可能ですか?
次のコマンドで着信TCP通知をリッスンします
Sudo nc -l -p 999
しかし、通知が到着したらすぐに、同じコマンドでlistenを再開する必要があります。ユーザーがリッスンを中止することを決定するまで通知が届いたときにコマンドを再起動する必要なしにポートをリッスンすることは可能ですか?
簡単なbashスクリプトで解決
#!/bin/bash
#Make Sure Script Is Ran As Root
if [ $(id -u) != 0 ]; then
echo; echo -e "\e[1;31mScript must be run as Sudo. Please Type \"Sudo\" To Run As Root \e[0m"; echo
exit 1
fi
echo "Enter port to listen"
read portL
while true;
do
nc -l -p $portL
done
exit 0
ヒントをくれたdreamlaxに感謝!
ちょっと古い質問ですが、Google検索で最初に出てきました。
最初の接続を受信した直後にnetcatがシャットダウンしないようにするには、-k
オプション。
男から:
-k現在の接続が完了した後、ncに別の接続の待機を強制します。このオプションを-lオプションなしで使用すると、エラーになります。