各実行可能なUDPポートをリダイレクトできますか?

各実行可能なUDPポートをリダイレクトできますか?

特定のUDPポートを受信するブラックボックスプログラムがあります。私は選択したUDPポートでリッスンしたいです。

実行可能ファイルが別のポートでリッスンするように欺く方法はありますか?システムコールを傍受し、それを促進できるLD_PRELOADを注入できるライブラリがあると想像できます。

仮想マシンは確かに厳しい選択ですが、私にとっては選択肢ではありません。

ベストアンサー1

ブラックボックスプログラムが特定のIPアドレスのみを受信するように指示できる場合は、127.0.0.10などの任意のループバックアドレスにバインドし、nc127.0.0.10のポートと外部ポートでnetcat(AKA)を使用できます。 IP すべてのポート間にパイプを設定します。

プロキシに関するセクションがあるWikipediaのNetcatに関する記事があります。これを理解し、-uオプションを使用すると、デフォルトのTCPの代わりにUDPを使用できることに注意してください。

この例では、192.168.200.200 は外部 IP で、12345 はポートです。考えるブラックボックスモニタリング。 127.0.0.10はブラックボックスに使用するように指示したIPで、987はブラックボックスが大体使用するポートです。

mkfifo backpipe
chmod {something sane backpipe}
nc -l -u 192.168.200.200 12345 0<backpipe | nc 127.0.0.10 987 1>backpipe

mkfifoシステムに存在しない場合は Google "mknod Pipe"

おすすめ記事