ポートY(UDP)で実行されているアプリケーションがあります。アプリケーションAに触れることなくミラーを作成して、アプリケーションAとは別のポートYのアプリケーションB(同じホスト)からメッセージを受信できますか?
私は前に試しました
socat udp-listen:x,reuseaddr,fork udp:localhost:y
残念ながら、socat
リスナーはポートXで起動し、アプリケーションAはメッセージを受信しません。
私はまた、iptables
mangleを使ったいくつかの解決策を読んだ。私のバージョンではこれ以上サポートしていないようですiptables
。
2 つの異なるプラットフォームで実行する必要があります。
- iptables v1.8.4(以前のバージョン)を含むUbuntu 20.04
- SLES12SP5 v1.4.21
eth0
インターフェイスサブネットの2番目のIPアドレスは利用できません。
答え1
ああ、これをすればいいIPテーブルを含む...
このウェブサイトから:
iptables -t mangle -A PREROUTING -p UDP --dport 162 -j TEE --gateway 127.0.0.2
iptables -t nat -A PREROUTING -d 127.0.0.2 -p UDP --dport 162 -j DNAT --to 127.0.0.1:1162
詳細については、私がリンクしたウェブサイトをご覧ください。