1

Ubuntu の下で bash で実行:

出力を生成するソースがありますが、すぐには生成されません。ソケットでリッスンする最初の netcat であると仮定しましょう: netcat -l 12345.

そして、それを発信netcat(TCP経由で接続)にパイプしたいと思いますnetcat -l 12345 | netcat localhost 54321。しかし、トリッキーな点は、コマンドを実行したときに localhost 54321 でその着信接続をリッスンしているものがないことはわかっていますが、最初の実際の文字がパイプを介して到着したときに 1 つあることはわかっています。

だから私の質問は: 次のいずれかの方法があります:

  • 最初の文字がパイプに到着するまで発信 netcat の実行を遅らせる、または
  • 標準入力で最初の文字を受信するまで、発信 netcat が TCP 接続を確立しようとするのを遅らせるには? (人間にはそのための直接的なオプションはありません。UDP への切り替えは受け入れられません)

前もって感謝します!

編集: 実際には、ソースは netcat よりも複雑です。つまり、あらゆる種類のストリーム変更を介してパイプされたリッスン netcat です。

4

3 に答える 3

1

netcat を使用したポート フォワーディングまたはポート マッピング:

ncat -l -p 12345 -c 'ncat localhost 54321'

使用socat:

socat TCP4-LISTEN:12345 TCP4:localhost:54321

このコマンドは、最初の接続が完了すると終了します。

于 2013-04-04T12:16:15.173 に答える