Raw socket when interface down.

saju.pillai at gmail.com saju.pillai at gmail.com
Wed Nov 5 11:11:10 EST 2008


On Nov 5, 8:37 pm, Mat <matsu... at orange.fr> wrote:
> Hi,
>
> I'm trying to use raw sockets in python for a dhcp client. I write this code :
>
> soc = socket.socket(socket.PF_PACKET, socket.SOCK_RAW)
> soc.bind(("eth0",0x0800))
> data = soc.recv(1024)
> print len(data)
>
> It seems to work correctly when interface is up, but when network interface is
> down I get this message :
> socket.error: (100, 'Network is down')
>
> I look over a lot of C code of dhcp clients. But I didn't find something useful.
> I don't how to access the network when interface is down with python. Can
> someone helps

mmm, if the interface is down the n/w subsystem will not send messages
out and if possible also disables reception of messages via that
interface. In your case it is likely that the interface message
reception is also disabled. You need to bring up the interface
(ifconfig eth0 up) before you can read/write any data on that
interface.

-srp




More information about the Python-list mailing list