UDP 用に Python 内で透過プロキシを使用する可能性があるかどうかを知りたいです。私のソケットは次のように定義されます:
sock.setsockopt(socket.SOL_IP, IP_TRANSPARENT, 1)
sock.setsockopt(socket.SOL_IP, SO_ORIGINAL_DST, 1)
どこ
IP_TRANSPARENT (19) and SO_ORIGINAL_DST (20)
は定数です。ここで、そのソケットの元の IP とポートを取得したいと思います。TCP ではこのように機能sock.getsockname()
しますが、udp ソケットでは機能しません。もちろん、私は最初に次のようなことをします:
iptables -t mangle -I PREROUTING -d {ip} -p UDP --dport 20000:21000 -j TPROXY --on-port=8173 --on-ip={ip}