python如何查看系统网络流量的信息
发布时间:2020-12-16 20:24:39 所属栏目:Python 来源:网络整理
导读:前言 流量信息可以直接在 /proc/net/dev 中进行查看,笔者实现的程序使用命令: python net.py interface 其中 interface 为网卡名称,使用什么网卡,电脑有哪些网卡,可以使用 sudo ifconfig 进行查看。 Python实现的程序如下: # coding:utf-8import sys,t
前言 流量信息可以直接在 python net.py interface 其中 sudo ifconfig 进行查看。 Python实现的程序如下: # coding:utf-8 import sys,time,os ''' Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 28169 364 0 0 0 0 0 0 28169 364 0 0 0 0 0 0 wlan1: 7432984 6018 0 0 0 0 0 0 681381 6115 0 0 0 0 0 0 vmnet1: 0 0 0 0 0 0 0 0 0 56 0 0 0 0 0 0 vmnet8: 0 0 0 0 0 0 0 0 0 55 0 0 0 0 0 0 eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ''' _unit_=['B','KB','MB','GB','TB'] def get_net_data(interface): for line in open('/proc/net/dev','r'): if line.split(':')[0].find(interface)>=0: return map(int,line.split(':')[1].split()) def convert_bytes_to_string(b): cnt = 0 while b >= 1024.0: b = float(b) / 1024.0 cnt += 1 return '%.2f%s'%(b,_unit_[cnt]) if __name__ == '__main__': interface = sys.argv[1] while True: net_data = get_net_data(interface) receive_data_bytes = net_data[0] transmit_data_bytes = net_data[8] os.system('clear') print 'Interface:%s -> Receive Data: %s Transmit Data: %s'%(interface,convert_bytes_to_string(receive_data_bytes),convert_bytes_to_string(transmit_data_bytes)) time.sleep(1) 程序入口从 总结 以上就是这篇文章的全部内容了,希望对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |