リレーをどのように使用しますかnetcat
?試しましたが動作しません。
cd /tmp
mknod backpipe p
nc -l -p 7007 0<backpipe | nc 192.168.1.101 9001 | tee backpipe
7007でデータを受信するには、リスニングモードにする必要があります。
$他のアプリケーションはここにパケットを入れています。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に表示されます。