Hi List,

not sure if I am in the right place as tproxy is part of the kernel now, but i am gonna as here anyway.

I am currently building a python based transparent TCP + UDP proxy. The setup for the proxy would be a basic mitm i.e.

Local Net --> Tproxy Box --> Internet

For TCP i can simply use getsockopt(SO_ORIGINAL_DST) to get original destination address and port. This works for tproxy and normal redirects. With UDP of course i cant do that. At the moment i am using IP_RECVORIGDST to get the original udp destination and port. This works fine apart from the fact that there seems to be a bug in recent kernels disabling this sockopt. (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=d36a1cb1e3285ba7eb1bcff5b231b4786deefc5b)

While researching tproxy i found this mail (https://lists.balabit.hu/pipermail/tproxy/2008-November/000996.html) in the thread archive. My question now is this udp accept part of the kernel version of tproxy or is there a patch for it out there for newer kernels. I ask because i feel this approach is a lot cleaner than me manually creating a new tproxy enabled socket.  So any info/help is much appreciated.

with kind regards,

Maximilian Frank