getsockopt

Fabian Deutsch fabian.deutsch at gmx.de
Fri Dec 16 04:13:11 EST 2005


> --- Ursprüngliche Nachricht ---
> Von: Steve Holden <steve at holdenweb.com>
> An: python-list at python.org
> Betreff: Re: getsockopt
> Datum: Fri, 16 Dec 2005 08:29:08 +0000
> 
> Fabian Deutsch wrote:
> > Hello,
> > 
> > my name is fabian and i'm a student from northern germany. right now i
> > try to create som kind of decapsulation of esp-udp packets using python.
> > 
> > therefor i need to use the socket.getsockopt (SOL_IP, IP_OPTIONS, 20)
> > method. But al i get is some empty value. Nothin.
> > 
> > Does someone know or have an working exmaple of how to use this method??
> > 
> > The lines:
> > s = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP)
> > s.bind(('',4500))
> > while 1:    # Run until cancelled
> > 	message, client = s.recvfrom(1400) # <=256 byte datagram
> >         hdr = s.getsockopt (SOL_IP, IP_OPTIONS, 20)
> >         print "Client connected:", client
> >         print "HDR:" + binascii.hexlify(hdr)
> > 
> Perhaps you're getting an empty string back because no IP options are 
> set in the received packets' headers?
> 
Hey,
you are right - i just re-read the ip (7) man - i only get the ip options ..

but do you know a way of getting the whole header?

'cause what i'm trying to do is, to "remove" the udp-header of the packet i
recieved and sendind a new packet without the udp-header.
I want to do this by taking it's payload (incl. esp-hdr) and ip-header and
resending it to my system creating a new packet with the old ip-header and
payload (incl. esp-hdr) i got from the recvd packet.

Before:
+--------+---------+----------+----------- - - 
| IP HDR | UDP HDR |  ESP HDR | PAYLOAD ...
+--------+---------+----------+----------- - - 
After :
+--------+---------+----------- - - 
| IP HDR | ESP HDR | PAYLOAD ...
+--------+---------+----------- - - 

regards
fabian

-- 
Fabian Deutsch <fabian.deutsch at gmx.de>



More information about the Python-list mailing list