linux shell脚本监控网卡实时流量

本文分享了一个用于Centos6环境下实时监控网络流量的bash脚本,通过读取/proc/net/dev文件来获取指定网卡的上传和下载速率,并以KB/s或MB/s的形式显示,适用于测试环境的网络状况监测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Centos 6 测试环境

有问题的兄弟,可以下面留言,可以一起讨论

#!/bin/bash

read -p "Please input net name:" eth

for (( i=1;$i<=1;i=i++ ));
do
 

    net_RX_old=`cat /proc/net/dev | grep $eth | awk -F " " '{ print $2 }'`;
    net_TX_old=`cat /proc/net/dev | grep $eth | awk -F " " '{ print $10 }'`;
    break;
done

while true ;
do

    net_RX=`cat /proc/net/dev | grep $eth | awk -F " " '{ print $2 }'`;
    net_TX=`cat /proc/net/dev | grep $eth | awk -F " " '{ print $10 }'`;

    #
    net_RX_new=$(($net_RX-$net_RX_old));
    net_TX_new=$(($net_TX-$net_TX_old));
    #
    net_RX_KB=$(($net_RX_new/1024));
    net_TX_KB=$(($net_TX_new/1024));
    #
    net_RX_MB=$(($net_RX_KB/1024));
    net_TX_MB=$(($net_TX_KB/1024));
if [[ $net_RX_KB -ge 1024 || $net_TX_KB -ge 1024 ]];
then
    if [[ $net_TX_KB -ge 1024 && $net_RX_KB -ge 1024 ]];
    then
    echo "Up:$net_TX_MB M/s   Down:$net_RX_MB  M/s" > .net_read.tmp;
    cat .net_read.tmp;
elif [[ $net_TX_KB -ge 1024 ]];
then
echo "Up:$net_TX_MB M/s   Down:$net_RX_KB  KB/s" > .net_read.tmp;
cat .net_read.tmp;
elif [[ $net_RX_KB -ge 1024 ]];
then
echo "Up:$net_TX_KB KB/s   Down:$net_RX_MB  M/s" > .net_read.tmp;
cat .net_read.tmp;
fi
else
echo "Up:$net_TX_KB KB/s   Down:$net_RX_KB  KB/s"> .net_read.tmp;
cat .net_read.tmp;
fi
net_RX_old=`cat /proc/net/dev | grep $eth | awk -F " " '{ print $2 }'`;
net_TX_old=`cat /proc/net/dev | grep $eth | awk -F " " '{ print $10 }'`;
sleep 1;
clear;
rm -f .net_read.tmp;
done
 

-----------------------------------此脚本在执行的时候,需要输入监控网卡的名称--------------------------------------

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值