Python监控网卡流量#!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: leexide@126.com #Python监控网卡流量 """ 1、实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果 2、特别注意:被监控的机器上需要支持snmp。yum install -y net-snmp*安装 """ #!/usr/bin/python import re import os #get SNMP-MIB2 of the devices def getAllitems(host,oid): sn1 = os.popen("snmpwalk -v 2c -c public " + host + " " + oid).read().split("
")[:-1] return sn1
#get network device def getDevices(host): device_mib = getAllitems(host,"RFC1213-MIB::ifDescr") device_list = [] for item in device_mib: if re.search("eth",item): device_list.append(item.split(":")[3].strip()) return device_list
#get network date def getDate(host,oid): date_mib = getAllitems(host,oid)[1:] date = [] for item in date_mib: byte = float(item.split(":")[3].strip()) date.append(str(round(byte/1024,2)) + " KB") return date
if __name__ == "__main__": hosts = ["192.168.10.1","192.168.10.2"] for host in hosts: device_list = getDevices(host)