より多くの制御を持つために「netcat」リレーを正しく実行するにはどうすればよいですか?

より多くの制御を持つために「netcat」リレーを正しく実行するにはどうすればよいですか?

リレーをどのように使用しますかnetcat?試しましたが動作しません。

cd /tmp
mknod backpipe p
nc -l -p 7007 0<backpipe | nc 192.168.1.101 9001 | tee backpipe
  1. 7007でデータを受信するには、リスニングモードにする必要があります。
    $他のアプリケーションはここにパケットを入れています。

  2. 7007で何が起こっていますか? 9001(受信ポートでもある)に移動する必要があります。

    $ telnet localhost 9001
    

    7007 パケットが表示されますか?

どんなアイデアがありますか?

オプション:パケットに追加のヘッダーを入れることもできますか? httpヘッダーをイメージコンテンツタイプにエミュレートしますか?

答え1

これにより:

nc -l -p 7007 | nc -l -p 9001

ポート 7007 に入るすべては 2 番目の netcat にパイプされ、ポート 9001 の Telnet セッションに中継されます。

ヘッダーを挿入するには、基本プロトコルを理解し、少なくとも「メッセージ」の境界を特定する必要があるため、これは些細なことではありません。これを行う方法がわかっている場合は、2つのパイプ間にコードを挿入してこれを実行できます。

nc -l -p 7007 | ./my_filter | nc -l -p 9001

./my_filter入力が実行され、記録されたすべてのstdin内容がstdoutポート9001に表示されます。

関連情報