Python收集centos7IP地址

Python通过正则收集网卡IP与MAC地址

#!/usr/bin/env python
# coding=utf-8
 
import re
from subprocess import Popen, PIPE
 
def getIfconfig():
    p = Popen([‘ifconfig‘], stdout=PIPE)
    data = p.stdout.read().decode().split(‘\n\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 = 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)
时间: 2024-10-14 16:16:34

Python收集centos7IP地址的相关文章

Python收集主机信息

Python收集linux主机信息,需要安装dmidecode命令,yum -y install dmidecode #!/usr/bin/env python # coding=utf-8   from subprocess import Popen, PIPE   #获取ifconfig命令信息 def getIfconfig():     p = Popen(['ifconfig'], stdout=PIPE)     data = p.stdout.read().decode()    

Python学习教程(Python学习路线):python—收集系统信息

Python学习教程(Python学习路线):python—收集系统信息  1.1 hashlib模块使用 获取文件的MD5值,和shell下的MD5sum一样 方法一:先实例化一个对象,再使用update做校验,最后十六进制查看hexdigest In [3]: import hashlib In [5]: md5 = hashlib.md5 In [6]: md5.update("a") In [7]: md5.hexdigest Out[7]: '0cc175b9c0f1b6a8

python将下载地址转换成迅雷和qq旋风的下载地址

迅雷和qq旋风下载,有加速和离线功能,很方面,我是在网上看到的原始地址和迅雷地址,qq旋风地址的转化原理,然后用python+pyqt写了一个客户端 原理: 迅雷: 迅雷下载地址="thunder://"+Base64编码("AA"+"真实地址"+"ZZ") QQ旋风: qqdl="qqdl://"+Base64编码("真实地址") import re import base64 fro

python 查找IP地址归属地

#!/usr/bin/env python # -*- coding: utf-8 -*- #查找IP地址归属地 #writer by keery_log #Create time:2013-10-30 #Last update:2013-10-30 #用法: python chk_ip.py www.google.com |python chk_ip.py 8.8.8.8 |python chk_ip.py ip.txt import signal import urllib import j

Python 收集Twitter时间序列数据

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-18 @author: guaguastd @name: collect_time_series.py ''' if __name__ == '__main__': # import json import json # import partial from functools import partial # import trend from tren

python源代码下载地址

Python 源代码下载地址 http://ftp.python.org/ftp/python/ http://www.python.org/ftp/python/

python项目练习地址

作者:Wayne Shi链接:http://www.zhihu.com/question/29372574/answer/88744491来源:知乎著作权归作者所有,转载请联系作者获得授权. 目前是34个Python项目,会继续保持更新.Learn by doing才是正确的技术学习姿势.20160816更新:Python - 高德API+Python解决租房问题Python - 基于 Flask 及爬虫实现微信娱乐机器人Python - Python3 实现淘女郎照片爬虫Python - Py

python收集参数

最近学习python,看<Python基础教程>(第2版),发现函数定义里面有一个"收集参数"很有趣. 用户定义函数时,可以定义一个确定参数数量的函数,如: >>> store(data, name1, name2, name3) 但是假如定义前不知道有多少个参数,该如何定义呢,C++和java中都有相应的解决方法,python中自然也有 def print_params(*params): print(params) 这里参数前面加上了星号*,即是不确定

python之IP地址或IP段处理模块-ipaddr

python处理IP和IP段的模块基本有两个:IPy与ipaddr IPy基本处理8位.16位.24位掩码的网段,其他的网段处理起来就会出现问题. ipaddr是google出的一个模块,很好的可以处理模块IPy不能解决这个问题,所以建议使用模块ipaddr! 模块地址:http://pythonhosted.org/ipaddr/ 使用介绍: Class总共分为:BaseIP.IPv4.IPv6 ipaddr.IPv4Network()    ipv4网段对象建立 ipaddr.IPv6Net