在Python中检索网络掩码
问题内容:
如何获取网络设备的网络掩码(最好是在Linux中,但是如果它是跨平台的,那么很酷)?我知道Linux上C语言的用法,但找不到Python中的方法-
也许减去ctypes。那还是解析ifconfig。还有其他方法吗?
ioctl(socknr, SIOCGIFNETMASK, &ifreq) // C version
问题答案:
这在Linux上的Python 2.2中对我有用:
iface = "eth0"
socket.inet_ntoa(fcntl.ioctl(socket.socket(socket.AF_INET, socket.SOCK_DGRAM), 35099, struct.pack('256s', iface))[20:24])