C ++ iptables Umleitung bilden separate Pakete

Ich habe den gesamten Datenverkehr von Port 50 mit @ auf 5050 umgeleite

iptables -t nat -A POSTROUTING -p udp --dport 50 -j REDIRECT --to-port 5050

Ich höre mit einem RAW-Socket auf 5050 und sehe IP-Pakete von 0.0.0.0:50 bis 0.0.0.0:5050. Die ursprüngliche Zieladresse ist offensichtlich nicht vorhanden, da dies ein separates Umleitungspaket von Port 50 zu Port 5050 zu sein scheint.

Wenn das Originalpaket an a.b.c.d: 50 gesendet werden sollte, wie erhalte ich diese IP-Adresse? Wie kann ich die Zieladresse ermitteln, an die die Nachricht gesendet werden soll, damit ich sie dort weiterleiten kann?

Ich schätze Ihre Hilfe

P.S .: Ich möchte libipq nicht verwenden, da es aus irgendeinem Grund nicht funktioniert hat und ich nicht mehr Zeit damit verschwenden möchte, es zum Laufen zu bringen.