python学习:使用正则收集ip信息
转载使用正则表达式收集主机信息
#!/usr/bin/env python
from subprocess import Popen, PIPE
import re
def getIfconfig():
p = Popen(['ifconfig'], stdout=PIPE)
data = p.stdout.read().split('\n\n')
return [i for i in data if i and not i.startswith('lo')]
def parseIfconfig(data):
re_devname = re.compile(r'br|eth|em|virbr|lo|bond[\d:]+',re.M) 使用了正则表达式来收集ip信息
re_mac = re.compile(r'HWaddr ([0-9A-F:]{17})', re.M)
re_ip = re.compile(r'inet addr:([\d\.]{7,15})', re.M)
devname = re_devname.search(data)
if devname:
devname = devname.group()
else:
devname = ''
mac = re_mac.search(data)
if mac:
mac = mac.group(1)
else:
mac = ''
ip = re_ip.search(data)
if ip:
ip = ip.group(1)
else:
ip = ''
return {devname: [ip,mac]}
if __name__ == '__main__':
dic = {}
data = getIfconfig()
for i in data:
dic.update(parseIfconfig(i))
print dic
[root@web10 day03]# python 13_ip.py
{'eth': ['192.168.1.200', '00:0C:29:B7:57:8F']}
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
使用python收集IP信息
使用python收集IP信息
使用 python 收集 -
信息收集(二)IP信息收集
内容分发网络(CDN): 是指企业利用分布在不同区域的节点服务器群组成流量分配管理平
tcp/ip 网络 服务器 网络安全 安全 -
Python 使用正则表达式匹配IP信息
使用正则表达式匹配IP地址 、MAC地址 、网卡名称:
ip地址 mac地址 正则表达式 python 分享