Redirecionamento de tabelas de ip C ++ formando pacotes separados

Eu tenho todo o tráfego da porta 50 redirecionado para 5050 usando

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

Eu escuto usando um soquete RAW no 5050 e vejo pacotes IP de 0.0.0.0:50 a 0.0.0.0:5050. O endereço de destino original obviamente não está presente, pois esse parece ser um pacote de redirecionamento separado da porta 50 para a porta 5050.

Se o pacote original deveria ir para a.b.c.d: 50, como obtenho esse endereço IP? Como posso descobrir o endereço de destino para onde a mensagem deveria ser enviada, para que eu possa encaminhá-la para lá?

Eu aprecio sua ajuda.

P.S .: Eu não quero usar o libipq, pois, por algum motivo, não funcionou e desejo não perder mais tempo fazendo com que ele funcione.

questionAnswers(1)

yourAnswerToTheQuestion