def get_host_devices(iface_prefix=''):
rst = {}
for ifacename in netifaces.interfaces():
if not ifacename.startswith(iface_prefix):
continue
addrs = netifaces.ifaddresses(ifacename)
if netifaces.AF_INET in addrs and netifaces.AF_LINK in addrs:
ips = [addr['addr'] for addr in addrs[netifaces.AF_INET]]
for ip in ips:
if is_ip4_loopback(ip):
break
else:
rst[ifacename] = {'INET': addrs[netifaces.AF_INET],
'LINK': addrs[netifaces.AF_LINK]}
return rst
评论列表
文章目录