前言
流量信息可以直接在/proc/net/dev中进行查看,笔者实现的程序使用命令:
python net.py interface
立即学习“Python免费学习笔记(深入)”;
其中interface为网卡名称,使用什么网卡,电脑有哪些网卡,可以使用
sudo ifconfig
立即学习“Python免费学习笔记(深入)”;
进行查看。
Python实现的程序如下:
一个功能强大的黄页查询系统,支持两级行业和地区分类功能,动态生成静态的企业资料网页,大大减轻了服务器负担提高网络推广效果,后台批量管理分类和企业信息,本系统的扩展功能强大,能方便快捷地建立一个功能强大的黄页查询平台
10
# 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)立即学习“Python免费学习笔记(深入)”;
程序入口从if name=='main'处开始,首先通过参数获取interface,然后调用get_net_data()函数获取流量信息,接下来都是一些数据处理的过程。
总结
以上就是这篇文章的全部内容了,希望对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。
更多python如何查看系统网络流量的信息相关文章请关注PHP中文网!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号