Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Re: getsockopt

Reply
Thread Tools

Re: getsockopt

 
 
Steve Holden
Guest
Posts: n/a
 
      12-16-2005
Fabian Deutsch wrote:
>>--- Ursprüngliche Nachricht ---
>>Von: Steve Holden <(E-Mail Removed)>
>>An: http://www.velocityreviews.com/forums/(E-Mail Removed)
>>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 ...
> +--------+---------+----------- - -
>

I'm not sure where ESP is going to come into this, or how the traffic
you will be receiving will be generated. I suspect you may need to
reconsider your application design a little.

The only way to get hold of the IP headers is to use SOCK_RAW, which
delivers everything that comes in from the packet driver.

What is it you're actually trying to do? If you perform the
transformation you outline in the diagrams above then the IP header will
certainly contain the wrong protocol value for a start.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: socket.getsockopt() and SO_ORIGINAL_DST chris Python 0 05-21-2010 08:26 AM
socket.getsockopt() and SO_ORIGINAL_DST chris Python 0 05-21-2010 06:51 AM
Incorrect number of bytes returned by getsockopt(socket.SOL_SOCKET,socket.TCP_INFO, buflen) Ashwin Rao Python 2 12-03-2009 09:36 PM
getsockopt Fabian Deutsch Python 0 12-16-2005 07:32 AM



Advertisments