python如何查看系统网络流量的信息

python如何查看系统网络流量的信息,第1张

概述前言流量信息可以直接在/proc/net/dev中进行查看,笔者实现的程序使用命令:pythonnet.pyinterface

前言

流量信息可以直接在/proc/net/dev中进行查看,笔者实现的程序使用命令:

python net.py interface

其中interface为网卡名称,使用什么网卡,电脑有哪些网卡,可以使用

sudo ifconfig

进行查看。

Python实现的程序如下:

# Coding:utf-8import 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     0vmnet1:    0    0  0  0  0   0     0     0    0   56  0  0  0   0    0     0vmnet8:    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)

程序入口从if name=='main'处开始,首先通过参数获取interface,然后调用get_net_data()函数获取流量信息,接下来都是一些数据处理的过程。

总结

以上就是这篇文章的全部内容了,希望对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

总结

以上是内存溢出为你收集整理的python如何查看系统网络流量的信息全部内容,希望文章能够帮你解决python如何查看系统网络流量的信息所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1203665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存