Python监控网卡流量

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('\n')[:-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)
                                                                                     
                inside = getDate(host,'IF-MIB::ifInOctets')
                outside = getDate(host,'IF-MIB::ifOutOctets')
                                                                                     
                print '==========' + host + '=========='
                for i in range(len(inside)):
                        print '%s : RX: %-15s  TX: %s ' % (device_list[i], inside[i], outside[i])
                print

《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版]

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]

Python脚本获取Linux系统信息

Ubuntu下用Python搭建桌面算法交易研究环境

Python 的详细介绍请点这里
Python 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/512e13581def061c692ff5414dc122b7.html