Python collects network card IP and MAC addresses via regular
#!/usr/bin/env python# coding=utf-8 import refrom subprocess import popen, pipe def getifconfig (): p = popen ([' Ifconfig '], stdout= PIPE) data = p.stdout.read (). Decode (). Split (' \ n ') Return [i for i in data if i and not i.startswith (' lo ')] def parseifconfig (data): re_devname = re.compile (R ' ^ (eth|em|lo| Bond) [\d:]+ ', re. M) re_mac = re.compile (R ' ether ([0-9a-f:]{17}) ', re. M) re_ip = re.compile (R ' inet ([\d\.] {7,15}) ', re. M) devname = re_devname.search (data) if devname: devname = devname.group () mac&nbSp;= re_mac.search (data) if mac: mac = mac.group (1) else: mac = ' ip = re_ip.findall (data) if ip: ip = ip[0] else: ip = ' else:       RETURN    RETURN {DEVNAME: [IP, MAC]} if __name__ == ' __main__ ': dic = {} data = getifconFig () for i in data: if parseifconfig (i): dic.update ( Parseifconfig (i)) print (DIC)
Python collects Centos7ip addresses