当前位置: 首页 > news >正文

流量统计实例

以下是一个简单的使用Python统计网络流量的实例(以统计本地网络接口的进出流量为例),这里使用 psutil 库来获取系统相关信息:

 

import psutil

import time

 

def get_network_io_counters():

    net_io = psutil.net_io_counters()

    return net_io.bytes_sent, net_io.bytes_recv

 

if __name__ == "__main__":

    prev_sent, prev_recv = get_network_io_counters()

    while True:

        time.sleep(1)

        sent, recv = get_network_io_counters()

        sent_speed = (sent - prev_sent) / 1

        recv_speed = (recv - prev_recv) / 1

        print(f"发送流量速度: {sent_speed / 1024:.2f} KB/s, 接收流量速度: {recv_speed / 1024:.2f} KB/s")

        prev_sent, prev_recv = sent, recv

 

 

上述代码的工作原理如下:

 

1. 首先导入 psutil 库用于获取系统信息, time 库用于设置时间间隔。

2.  get_network_io_counters 函数调用 psutil.net_io_counters() 获取当前网络接口的发送和接收字节数。

3. 在主程序中,先获取初始的发送和接收字节数,然后进入一个无限循环,每次循环间隔1秒,再次获取当前的发送和接收字节数,计算出这1秒内的流量速度,并打印出来,同时更新上一次的发送和接收字节数,以便下一次计算。

 

这个实例只是一个简单的本地网络流量统计,如果要进行更复杂的网络流量统计,比如针对特定网络连接、特定应用程序的流量统计等,可能需要使用更高级的网络分析工具或库,如 scapy 等。

相关文章:

  • 域AD渗透手法【密码喷洒技术】
  • 【JavaScript】二十三、M端事件 + 轮播图Swiper插件
  • USB(TYPE-C)转串口(TTL)模块设计讲解
  • C++之 动态数组
  • 河南普瑞维升企业案例:日事清SOP流程与目标模块实现客户自主简报功能落地
  • 智能语音处理+1.5使用PocketSphinxshinx实现语音转文本(100%教会)
  • Pinpoint - 大型分布式系统的 APM(应用性能管理)工具
  • 强化学习的数学原理(五) MonteCarlo learning
  • MoogDB数据库日常维护技巧与常见问题解析
  • 未能安装包“Microsoft.VisualStudio.XXXXX
  • 3D语义地图中的全局路径规划!iPPD:基于3D语义地图的指令引导路径规划视觉语言导航
  • BR_输出功率(RF/TRM/CA/BV-01-C [Output Power])
  • 从零开始实现 MobileViT 注意力机制——轻量级Transformer Vision Model 的新思路
  • PyTorch框架学习01
  • 低盐、低蛋白、低钾饮食的肾脏保护机制(肾和计算机语言)
  • 第七章:7.6 写一个函数,将两个字符串连接
  • ThinkPHP框架接入Stripe支付
  • 【贪心】C++ 活动安排问题
  • 三角形分类程序黑盒实验(三)(包含完整源码)
  • 深入解析C++中的队列(queue)容器:原理、应用与最佳实践
  • 电脑dw怎么制作网页/安卓aso优化
  • 宁波方太集团网站建设/关键词的分类和优化
  • 广西住建局官方网站/郑州学校网站建设
  • 个人网站做交易类的赚钱吗/苏州网站建设费用
  • 嘉兴专业定制网站制作企业/新闻稿发布
  • 网站底色什么颜色好看/快速整站优化