基于/proc统计网络流量的脚本
来源:互联网 发布:销售网络分布图下载 编辑:程序博客网 时间:2024/05/22 05:21
#!/bin/sh
# 下面两个参数可根据需要修改
EthXname=eth0 # 网卡名称
StatFreq=2 # 统计间隔时长,单位为:秒,建议为2或2的倍数
# 下面的参数,请不要修改
influx_kbps=0
outflux_kbps=0
influx_mbps=0
outflux_mbps=0
unsigned_long_max=4294967295 # 做溢出处理
Ethname=`cat /proc/net/dev|grep $EthXname|awk -F"[: ]+" '{ printf("%s", $2); }'`
if test "$EthXname" != "$Ethname"; then
echo "Please set EthXname first before running"
exit
fi
influx1_byte=`cat /proc/net/dev|grep $EthXname|awk -F"[: ]+" '{ printf("%d", $3); }'`
outflux1_byte=`cat /proc/net/dev|grep $EthXname|awk -F"[: ]+" '{ printf("%d", $11); }'`
while test 2 -gt 1;
do
sleep $StatFreq
influx2_byte=`cat /proc/net/dev|grep $EthXname|awk -F"[: ]+" '{ printf("%d", $3); }'`
outflux2_byte=`cat /proc/net/dev|grep $EthXname|awk -F"[: ]+" '{ printf("%d", $11); }'`
dd=`date +'%Y-%m-%d/%H:%M:%S'`
if test $influx2_byte -ge $influx1_byte; then
let influx_byte=$influx2_byte-$influx1_byte
else
let influx_byte=$unsigned_long_max-$influx1_byte
let influx_byte=$influx_byte+$influx2_byte
fi
if test $outflux2_byte -ge $outflux1_byte; then
let outflux_byte=$outflux2_byte-$outflux1_byte
else
let outflux_byte=$unsigned_long_max-$outflux1_byte
let outflux_byte=$outflux_byte+$outflux2_byte
fi
let influx_byte=$influx_byte/$StatFreq
let outflux_byte=$outflux_byte/$StatFreq
# TO bps
let influx_bps=$influx_byte*8
let outflux_bps=$outflux_byte*8
# To kbps
let influx_kbps=$influx_bps/1024
let outflux_kbps=$outflux_bps/1024
# To mbps
let influx_mbps=$influx_kbps/1024
let outflux_mbps=$outflux_kbps/1024
# 输出列说明:统计时间,输入流量(单位:Kbps),输入流量(Mbps),输出流量(Kbps),输出流量(Mbps)
echo "$dd,${influx_kbps}Kbps,${influx_mbps}Mbps,${outflux_kbps}Kbps,${outflux_mbps}Mbps"
let influx1_byte=influx2_byte
let outflux1_byte=outflux2_byte
done
- 基于/proc统计网络流量的脚本
- 网络流量统计的内核驱动程序
- linux网络流量的监控脚本
- Linux查看网络流量的脚本
- 监控Linux网络流量的脚本
- linux监控网络流量的脚本
- 统计网络流量
- 网络流量统计
- 实现本电脑的网络流量统计
- iOS-网络流量统计功能的实现
- 统计内网机器网络流量的方案
- 一个简单的监控网络流量的脚本
- 写了个监控网络流量的脚本
- 查看Solaris网络流量情况的脚本
- Linux查看网络流量的脚本(转载)
- 一个计算网络流量的shell脚本
- 基于TC技术的网络流量控制实战
- 笔记:基于Netflow的网络流量工程
- MOOON-scheduler问题讨论:消息如何传递回去和主动发送出去?
- linux out of memory分析(OOM)
- 虚拟机学习系列 - 6 - JDK工具
- shell脚本实现对网卡流量监控
- Linux的Proc文件系统详解
- 基于/proc统计网络流量的脚本
- 简单的统计指定进程ID(或进程名)CPU、内存脚本
- linux下测试磁盘的读写IO速度
- MOOON-scheduler设计图更新
- Linux下select使用陷阱
- 源于生活的设计之一:职责问题
- Linux下显示目录树的源代码包
- 内网软件设计要领
- Linux与网卡相关的几个命名