Raw socket when interface down.

M

Mat

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 ?

Thanks !
 
S

saju.pillai

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top