手机
当前位置:查字典教程网 >脚本专栏 >python >python如何查看系统网络流量的信息
python如何查看系统网络流量的信息
摘要:前言流量信息可以直接在/proc/net/dev中进行查看,笔者实现的程序使用命令:pythonnet.pyinterface其中inter...

前言

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

python net.py interface

其中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)

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

总结

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

【python如何查看系统网络流量的信息】相关文章:

python实现网页链接提取的方法分享

python实现的登录和操作开心网脚本分享

wxpython学习笔记(推荐查看)

python 从远程服务器下载日志文件的程序

讲解python参数和作用域的使用

python备份文件的脚本

python实现linux服务器批量修改密码并生成execl

Python列表推导式的使用方法

使用Python获取Linux系统的各种信息

python学习笔记:字典的使用示例详解

精品推荐
分类导航