Get original destination IP and port with Linux 2.4 iptables redirect?

L

Lincoln Yeoh

Hi,

Say I use iptables to redirect tcp connections to my perl proxy
servers. How then do I get the original destination IP address and tcp
port?

On FreeBSD I just use ipfw and fwd and then following works:
$daddr=$client->sockhost;
$dport=$client->sockport;

And then my various proxies work transparently.

But on Linux I'm supposed to use some FD options:
e.g.
getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, &dst_addr, &slen)

What's a good way to do this with perl? Working examples would be very
helpful.

I've tried perl's getsockopt but replacing OPTNAME with
SO_ORIGINAL_DST doesn't work - it's not defined.

perl -f getsockopt
getsockopt SOCKET,LEVEL,OPTNAME

I've tried specifying a numerical 80 for OPTNAME but not sure how to
get the address etc.

Thanks,
Link.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top