您的位置:首页 > 编程语言 > Python开发

根据 设备名(br0/eth0/em0)称获取 当前机器的IP地址与子网掩码信息

2013-02-01 12:47 204 查看
#!/usr/bin/env python

'''
根据 设备名(br0/eth0/em0)称获取 当前机器的IP地址与子网掩码信息
'''

import socket, struct, fcntl

def get_ipaddress(ifname = 'eth0'):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x8915, # SIOCGIFADDR
struct.pack('24s',ifname))[20:24])

def get_netmask(ifname = 'eth0'):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x891b, #SIOCGIFNETMASK
struct.pack('24s',ifname))[20:24])

print get_ipaddress('eth0')
print get_netmask('eth0')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python IOCTL