`
f002489
  • 浏览: 264739 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

实时查看linux网卡流量

阅读更多
https://www.oschina.net/code/snippet_20912_2989

将下列脚本保存为可执行脚本文件,比如叫traff.sh。

1、本脚本可自定义欲查看接口,精确到小数,并可根据流量大小灵活显示单位。
2、此脚本的采集间隔为1秒。
3、此脚本不需要额外再安装软件,可在急用情况下应付一下,比如临时想看一下是否有流量通过,大概为多少等。
4、一些流量查看软件由于计算的精确度不同,所以与此脚本显示的数值不可能一致,此脚本的显示结果与du meter对比过,相差很小。还有就是传输工具本身显示的传输速度并不准确。
用法为:
1、chmod +x ./traff.sh 将文件改成可执行脚本。
2、./traff.sh eth0即可开始监看接口eth0流量,按ctrl+c退出。


#!/bin/bash
while [ "1" ]
do
eth=$1
RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
sleep 1
RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
clear
echo  -e  "\t RX `date +%k:%M:%S` TX"
RX=$((${RXnext}-${RXpre}))
TX=$((${TXnext}-${TXpre}))
 
if [[ $RX -lt 1024 ]];then
RX="${RX}B/s"
elif [[ $RX -gt 1048576 ]];then
RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
else
RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
fi
 
if [[ $TX -lt 1024 ]];then
TX="${TX}B/s"
elif [[ $TX -gt 1048576 ]];then
TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
else
TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
fi
 
echo -e "$eth \t $RX   $TX "
done

分享到:
评论
4 楼 f002489 2017-03-23  
(nload, cbm, slurm, bwm-ng, ifstat, dstat, pktstat, ...)

$watch -n 1 -d 命令

#tcpdump + 命令组合
3 楼 f002489 2017-03-22  
将下列脚本保存为可执行脚本文件,比如叫linuxidc.sh。

1、本脚本默认监视eth0流量,因为换算成KB所以精度不高,如要精确度可不除以1024。
2、限于sleep命令的间隔最小为秒,所以速度的实时性有限。
3、此脚本不需要额外再安装软件,可在急用情况下应付一下,比如临时想看一下是否有流量通过,大概为多少等。

用法为watch -n 1 ./linuxidc.sh即可开始监看流量,按ctrl+c退出。

实时查看Linux网卡流量Shell脚本



#!/bin/bash
eth=eth0
RXpre=$(ifconfig ${eth} | grep bytes | awk  '{print $2}'| awk -F":" '{print $2}')
TXpre=$(ifconfig ${eth} | grep bytes | awk '{print $6}' | awk -F":" '{print $2}')
sleep 1
RXnext=$(ifconfig ${eth} | grep bytes | awk  '{print $2}'| awk -F":" '{print $2}')
TXnext=$(ifconfig ${eth} | grep bytes | awk '{print $6}' | awk -F":" '{print $2}')

echo RX ----- TX
echo "$(((${RXnext}-${RXpre})/1024))KB/s   $(((${TXnext}-${TXpre})/1024))KB/s"


1 楼 f002489 2017-03-22  
在Linux下怎么看网络流量?方法太多了


Linux查看当前网卡流量
sar –n DEV  1 2
命令后面1 2 意思是:每一秒钟取1次值,取2次。

相关推荐

Global site tag (gtag.js) - Google Analytics