how to use socket to get packet which destination ip is not local?

Hans hansyin at gmail.com
Tue Nov 16 23:14:51 EST 2010


On Nov 16, 12:57 pm, MRAB <pyt... at mrabarnett.plus.com> wrote:
> On 16/11/2010 20:38, Hans wrote:
>
> > Hi,
>
> > Maybe it's a very simple question. I'm trying to write a dhcpclient
> > code with python. The dhcpclient does not have ip address at the very
> > beginning, it sends out dhcpdiscover and then server sends back
> > dhcpoffer. the dhcpoffer will use assigned ip as destination ip, but
> > that ip is not client's local ip yet. How can I make my socket to
> > receive that packet?
>
> > I tried socket bind to 0.0.0.0, but it only binds to any local ip, not
> > any ip which may not be local. therefore the socket cannot get that
> > dhcp offer packet even I can use wireshark to see that packet did come
> > to this pc.
>
> > How to solve it? Thanks in advance.
>
> Have you read this:
>
>      http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

Thanks for the response. Yes, I read it. it tells me how dhcp works.
But I cannot find answer for my question, dhcp response may be unicast
or broadcast depends on the flag in request. my question is how to use
socket to read that response. In my test, sniffer already shows server
sends back an offer response(unicast in my case), but because the dst-
ip in response is not local ip, then my socket cannot read it.

Can you help? thank you very much!



More information about the Python-list mailing list