CentOS & Ubuntu 查看网口信息脚本

来源:互联网 发布:java开源文件管理系统 编辑:程序博客网 时间:2024/06/04 18:43

注:自动屏蔽掉了回环口 lo


# coding=utf-8import psutilimport platformimport osdef get_net_info():    if 'centos' in platform.platform():        path = '/etc/sysconfig/network-scripts'        info = psutil.net_if_addrs()        data = {}        for i in info:            if i != 'lo':                abs_path = '{}/ifcfg-{}'.format(path, i)                stor = {}                with open(abs_path, 'r') as f:                    for line in f:                        if 'IPADDR' in line:                            a = line.split('=')[1].strip()                            stor['IP'] = a                        if 'NETMASK' in line:                            a = line.split('=')[1].strip()                            stor['NETMASK'] = a                        if 'TYPE' in line:                            a = line.split('=')[1].strip()                            stor['TYPE'] = a                        if 'ONBOOT' in line:                            a = line.split('=')[1].strip()                            if a == 'yes':                                stor['STATUS'] = 1                            else:                                stor['STATUS'] = 0                data[i] = stor        return data    if 'Ubuntu' in platform.platform():        info = psutil.net_if_addrs()        path = '/etc/network/interfaces'        data = {}        for i in info:            if i != 'lo':                stor = {}                with open(path, 'r') as f:                    a = f.read()                    lis = a.split('\n\n')                for block in lis:                    if i in block:                        result = block.split('\n')                        for line in result:                            if 'address' in line:                                a = line.split(' ')[1].strip()                                stor['IP'] = a                            if 'netmask' in line:                                a = line.split(' ')[1].strip()                                stor['NETMASK'] = a                        if block.startswith('#'):                            stor['STATUS'] = 0                        else:                            stor['STATUS'] = 1                config_info = os.popen('ifconfig')                for line in config_info:                    if 'Link encap' in line and i in line:                        stor['TYPE'] = line.split('Link encap:')[1].split('HWaddr')[0].strip()                data[i] = stor        return data


原创粉丝点击