|
|

楼主 |
发表于 2006-9-7 14:53:00
|
显示全部楼层
恩,python写到一半,被卡住了……
- #!/usr/bin/python
- #Filename:ethIP.py
- from socket import *
- import IN
- import fcntl
- import struct
- def get_ip_addr(ifname):
- "usage: get_ip_addr(<interface>)"
-
- sfd = socket(AF_INET, SOCK_STREAM)
- binaryIP = fcntl.ioctl(sfd.fileno(),0x8915,struct.pack('25s',ifname))[20:24] #SIOCGIFADDR --> 0x8915
- return inet_ntoa(binaryIP)
- def get_hw_addr(ifname):
- "usage: get_hw_addr(<interface>)"
-
- sfd = socket(AF_INET,SOCK_STREAM)
- binaryHW = fcntl.ioctl(sfd.fileno(),0x8927,struct.pack('25s',ifname))[??:??] #SIOCGIFHWADDR --> 0x8927
- ???how to conver binary to xx:xx:xx::xx???
- return binaryHW
- print get_ip_addr('eth0')
- print get_hw_addr('eth0')
复制代码
???部分不知道如何写。调试了半天。 |
|