[Bytes,Network,eth0,网络数据,Linux]如何从Linux系统中获取带宽、流量网络数据

简介:   Linux中的网络数据提取  在Linux系统中我们可以从/proc 目录里来获取相应的数据并进行处理。  让我们来看下网络相关的/proc/net/dev

  Linux中的网络数据提取

  在Linux系统中我们可以从/proc 目录里来获取相应的数据并进行处理。

  让我们来看下网络相关的/proc/net/dev

  cat /proc/net/dev

  Inter-| Receive | Transmit

  face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed

  eth0: 313568232649602 558303341870 0 0 0 0 0 0 227503770878768 476857419543 0 0 0 0 0 0

  lo: 440905770 5512243 0 0 0 0 0 0 440905770 5512243 0 0 0 0 0 0

  这个文件是本机所有网卡的数据记录。

  从标题可以看出,第一列是网卡名称,第二列是入方向字节数(流量),第三列是入方向数据包数量,第四列是入方向错误包数,第10列是出方向字节数(流量)

  脚本计算带宽和流量

  有了数据,我们就可以写个shell脚本来获取买二手域名带宽和流量数据了

  脚本getnettraffic.sh

  #!/bin/bash

  DATE1=date --utc

  RX1=cat /proc/net/dev | grep eth0 |awk '{print $2}'

  TX1=cat /proc/net/dev | grep eth0 |awk '{print $10}'

  sleep60

  DATE2=date --utc

  RX2=cat /proc/net/dev | grep eth0 |awk '{print $2}'

  TX2=cat /proc/net/dev | grep eth0 |awk '{print $10}'

  RX=$(( $RX2-$RX1 ))

  TX=$(( $TX2-$TX1 ))

  RXBAND=$(($RX*8/60/1024/1024))

  TXBAND=$(($TX*8/60/1024/1024))

  echo "time Range $DATE1 - $DATE2"

  echo "Network In Bytes: $RX Bytes"

  echo "Network Out Bytes: $TX Bytes"

  echo "Network In BW: $RXBAND Mbps"

  echo "Network Out BW: $TXBAND Mbps"

  执行结果:

  time Range Thu Jun 4 05:38:06 UTC 2021 - Thu Jun 4 05:39:06 UTC 2021

  Network In Bytes: 628578266 Bytes

  Network Out Bytes: 465529561 Bytes

  Network In BW: 79 Mbps

  Network Out BW: 59 Mbps

  扩展

  我们已经知道 /proc/net/dev 这个文件存储了主机上的网络数据。但如果我想看某个进程的网络数据怎么办?

  同样的Linux也提供了 /proc/$PID/net/dev 这个文件来记录进程的网络数据。

  如果主机上运行了虚拟机或者docker容器,也可以使用这种方法来获取网络数据。

目录
相关文章
|
26天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
89 4
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
2月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
311 55
|
8天前
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
51 28
|
5天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
21 11
|
17天前
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
44 18
|
13天前
|
前端开发 小程序 Java
uniapp-网络数据请求全教程
这篇文档介绍了如何在uni-app项目中使用第三方包发起网络请求
33 3
|
1月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
76 15
|
2月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
189 7
|
2月前
|
数据采集 监控 安全
公司网络监控软件:Zig 语言底层优化保障系统高性能运行
在数字化时代,Zig 语言凭借出色的底层控制能力和高性能特性,为公司网络监控软件的优化提供了有力支持。从数据采集、连接管理到数据分析,Zig 语言确保系统高效稳定运行,精准处理海量网络数据,保障企业信息安全与业务连续性。
58 4