博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网卡流量检测.py
阅读量:5063 次
发布时间:2019-06-12

本文共 3629 字,大约阅读时间需要 12 分钟。

network_speed网卡流量检测

#!/usr/bin/env python#coding:utf-8import sysimport osimport atexitimport timeimport psutil#print "Welcome,current system is",os.name," 3 seconds late start to get data..."      time.sleep(3)line_num = 1#function of Get CPU State;  def getCPUstate(interval=1):    return (" CPU: " + str(psutil.cpu_percent(interval)) + "%")#function of Get Memory      def getMemorystate():        phymem = psutil.virtual_memory()        line = "Memory: %5s%% %6s/%s"%(            phymem.percent,            str(int(phymem.used/1024/1024))+"M",            str(int(phymem.total/1024/1024))+"M"            )        return linedef bytes2human(n):        """            >>> bytes2human(10000)            '9.8 K'            >>> bytes2human(100001221)            '95.4 M'            """        for s in reversed(symbols):                if n >= prefix[s]:        return '%.2f B' % (n)def poll(interval):        """Retrieve raw stats within an interval window."""        tot_before = psutil.net_io_counters()        pnic_before = psutil.net_io_counters(pernic=True)        # sleep some time              time.sleep(interval)        tot_after = psutil.net_io_counters()        pnic_after = psutil.net_io_counters(pernic=True)        # get cpu state              cpu_state = getCPUstate(interval)        # get memory              memory_state = getMemorystate()        return (tot_before, tot_after, pnic_before, pnic_after,cpu_state,memory_state)def refresh_window(tot_before, tot_after, pnic_before, pnic_after,cpu_state,memory_state):        if os.name == 'nt':            os.system("cls")        else:            os.system("clear")        """Print stats on screen."""        #print current time #cpu state #memory              print(time.asctime()+" | "+cpu_state+" | "+memory_state)        # totals              print(" NetStates:")        )        print("total packets:                 sent: %-10s     received: %s" % (tot_after.packets_sent,        )        # per-network interface details: let's sort network interfaces so              # that the ones which generated more traffic are shown first              print("")        nic_names = pnic_after.keys()        #nic_names.sort(key=lambda x: sum(pnic_after[x]), reverse=True)              for name in nic_names:                stats_before = pnic_before[name]                stats_after = pnic_after[name]                templ = "%-15s %15s %15s"                print(templ % (name, "TOTAL", "PER-SEC"))                print(templ % (                        "bytes-sent",                        bytes2human(stats_after.bytes_sent),                        bytes2human(stats_after.bytes_sent - stats_before.bytes_sent) + '/s',                ))                print(templ % (                        "bytes-recv",                        bytes2human(stats_after.bytes_recv),                        bytes2human(stats_after.bytes_recv - stats_before.bytes_recv) + '/s',                ))                print(templ % (                        "pkts-sent",                        stats_after.packets_sent,                        stats_after.packets_sent - stats_before.packets_sent,                ))                print(templ % (                        "pkts-recv",                        stats_after.packets_recv,                        stats_after.packets_recv - stats_before.packets_recv,                ))                print("")try:        interval = 0        while 1:                args = poll(interval)                refresh_window(*args)                interval = 1except (KeyboardInterrupt, SystemExit):        pass

 

转载于:https://www.cnblogs.com/liuyansheng/p/6281829.html

你可能感兴趣的文章
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
更改git仓库地址
查看>>
有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
查看>>
Recipe 1.4. Reversing a String by Words or Characters
查看>>
Rule 1: Make Fewer HTTP Requests(Chapter 1 of High performance Web Sites)
查看>>
sql注入
查看>>
「破解」Xposed强
查看>>
src与href的区别
查看>>
ABAP工作区,内表,标题行的定义和区别
查看>>
《xxx重大需求征集系统的》可用性和可修改性战术分析
查看>>
Python 中 创建类方法为什么要加self
查看>>
关于indexOf的使用
查看>>
【转】JS生成 UUID的四种方法
查看>>
英语单词
查看>>
centos6.8下安装matlab2009(图片转帖)
查看>>