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