TCP port/ip addressに素早くバインドし、すべての情報をSTDOUTに出力するだけの方法はありますか?127.0.0.1:4444に書き込む簡単なデバッグソリューションがあります。 dは単純にbashからポートをバインドし、遭遇したすべてを印刷できるようにしたいのですが、これを行う簡単な方法はありますか?
_$ nc -k -l 4444 > filename.out
_
nc(1)
を参照してください
bash
でそれを行う方法を尋ねたからといって、netcat
の答えは非常に有効です。
$ exec 3<>/dev/tcp/127.0.0.1/4444
$ cat <&3
期待どおりに機能しています:
nc -k -l 4444 |bash
そしてあなた
echo "ls" >/dev/tcp/127.0.0.1/4444
次に、bashによって実行されるリストが表示されます。
[簡単なセキュリティ警告]
もちろん、このようなものをコンピューター上で実行したままにしておくと、ネットワーク内の任意のホスト上の任意のユーザーアカウントからコマンドを送信できるため、あらゆる種類の攻撃に対して広く開かれたゲートウェイがあります。これはセキュリティ(認証、識別)を一切実装せず、送信されたすべてのコマンドをネットワーク上で暗号化せずに送信するため、非常に簡単に悪用される可能性があります。
@Freedom_Benが示唆したncat
を使用した回答の追加:
ncat -k -l 127.0.0.1 4444
およびncatのオプションの説明:
-k, --keep-open Accept multiple connections in listen mode
-l, --listen Bind and listen for incoming connections