我想知道是否有可能在 Python 中为 UDP 使用透明代理。我的套接字定义为:
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}