使用python收集IP信息
2016-12-26 20:12
337 查看
使用python收集IP信息
另外一种方法获取devname,ipaddr,mac,一行一行切分
[root@133 systeminformation]# vim devname_1.py #!/usr/bin/env python from subprocess import Popen,PIPE def getIfconfig(): tuple_addr = ('lo','vir','vnet','em3','em4') #有些网卡以这些字符开头,排除在外 p = Popen(['ifconfig'], stdout=PIPE) data = p.stdout.read().split('\n\n') return [i for i in data if i and not i.startswith(tuple_addr)]#排除在外 def parseIfconfig(data): dic = { } for lines in data: line_list = lines.split('\n') devname = line_list[0].split()[0] macaddr = line_list[0].split()[-1] ipaddr = line_list[1].split()[1].split(':')[1] print devname, macaddr, ipaddr #打印出来网卡名字,mac,ip dic [devname] = [ipaddr, macaddr] return dic if __name__ == '__main__': data = getIfconfig() print parseIfconfig(data) [root@133 systeminformation]# python devname_1.py br1 A4:BA:DB:20:93:23 112.65.140.133 docker0 00:00:00:00:00:00 172.17.42.1 em1 A4:BA:DB:20:93:23 em2 A4:BA:DB:20:93:25 192.168.101.237 {'docker0': ['172.17.42.1', '00:00:00:00:00:00'], 'em1': ['', 'A4:BA:DB:20:93:23'], 'br1': ['112.65.140.133', 'A4:BA:DB:20:93:23'], 'em2': ['192.168.101.237', 'A4:BA:DB:20:93:25']}
另外一种方法获取devname,ipaddr,mac,一行一行切分
[root@133 systeminformation]# vim devname_2.py #!/usr/bin/env python from subprocess import Popen,PIPE def getIP(): p = Popen(['ifconfig'], stdout=PIPE, stderr=PIPE) stdout,stderr = p.communicate() data = [i for i in stdout.split('\n') if i] return data def genIP(data): #每个大的列表是每个网卡的信息 new_line = '' lines = [] tuple_addr= ('lo','vir','vnet','em3','em4') for line in data: if line[0].strip(): #顶格,例如:em1,将网卡信息加到new_line lines.append(new_line) new_line = line + '\n' #最后加一个\n else: new_line +=line + '\n' #把之后未顶格的都加到这个网卡列表中 lines.append(new_line) #print [i for i in lines if i and not i.startswith(tuple_addr)] return [i for i in lines if i and not i.startswith(tuple_addr)] #切分网卡信息的函数 def parseIfconfig(data): dic = { } for lines in data: line_list = lines.split('\n') devname = line_list[0].split()[0] macaddr = line_list[0].split()[-1] ipaddr = line_list[1].split()[1].split(':')[1] print devname, macaddr, ipaddr dic [devname] = [ipaddr, macaddr] return dic if __name__ == '__main__': data = getIP() data_list = genIP(data) parseIfconfig(data_list) [root@133 systeminformation]# python devname_2.py br1 A4:BA:DB:20:93:23 112.65.140.133 docker0 00:00:00:00:00:00 172.17.42.1 em1 A4:BA:DB:20:93:23 em2 A4:BA:DB:20:93:25 192.168.101.237
相关文章推荐
- python 收集ip信息
- Python——psutil的使用(收集系统基础信息)
- 通过Python使用saltstack收集服务器资产信息自动入库
- 使用 python 获取 Linux 的 IP 信息(通过 ifconfig 命令)
- 通过Python使用saltstack收集服务器资产信息自动入库
- 使用Python收集获取Linux系统主机信息
- python使用在线API查询IP对应的地理位置信息实例
- 使用 python 收集获取 Linux 系统主机信息
- 使用Python收集获取Linux系统主机信息
- python3中使用GeoIP来查找IP信息
- (3)Python笔记:使用WMI模块+TCP/IP来远程监控系统信息
- python学习:收集ip信息
- python:使用netifaces模块获取本机IP网关等信息
- JSP Web 页面收集用户IP地址信息-聚合数据IP地址数据接口的使用
- python使用在线API查询IP对应的地理位置信息实例
- 通过Python使用saltstack收集服务器资产信息自动入库
- 使用IP Helper函数列出网卡信息MAC,IP。
- 可爱的 Python: 使用 mechanize 和 Beautiful Soup 轻松收集 Web 数据
- 信息收集--IP扫描 (下篇)
- [转]使用Python获得本机IP地址