今天QA同学让我协助检测下一台服务器的网络流量。没干过这活,在网上随便找了个命令。后来,发现是不对的,为了以后不出丑,决定收集下网络流量监测相关的工具。
- 查看某个网卡收发数据的总量
方法一
方法二
2.查看网卡的实时的流量
工具一
网上找到的一个脚本,基本上来说是处理ifconfig的结果,得到单位时间内的流量。也可以通过处理/proc/net/dev文件得到同样的结果。
使用方法:bash scriptfile eth1 不加参数默认为eth0
#!/bin/bash if [ -n "$1" ]; then eth_name=$1 else eth_name="eth0" fi i=0 send_o=`busybox ifconfig $eth_name | grep bytes | awk ‘{print $6}‘ | awk -F : ‘{print $2}‘` recv_o=`busybox ifconfig $eth_name | grep bytes | awk ‘{print $2}‘ | awk -F : ‘{print $2}‘` send_n=$send_o recv_n=$recv_o while [ $i -le 100000 ]; do send_l=$send_n recv_l=$recv_n sleep 1 send_n=`busybox ifconfig $eth_name | grep bytes | awk ‘{print $6}‘ | awk -F : ‘{print $2}‘` recv_n=`busybox ifconfig $eth_name | grep bytes | awk ‘{print $2}‘ | awk -F : ‘{print $2}‘` i=`expr $i + 1` send_r=`expr $send_n - $send_l` recv_r=`expr $recv_n - $recv_l` total_r=`expr $send_r + $recv_r` send_ra=`expr \( $send_n - $send_o \) / $i` recv_ra=`expr \( $recv_n - $recv_o \) / $i` total_ra=`expr $send_ra + $recv_ra` sendn=`busybox ifconfig $eth_name | grep bytes | awk -F \( ‘{print $3}‘ | awk -F \) ‘{print $1}‘` recvn=`busybox ifconfig $eth_name | grep bytes | awk -F \( ‘{print $2}‘ | awk -F \) ‘{print $1}‘` clear echo "Last second : Send rate: $send_r Bytes/sec Recv rate: $recv_r Bytes/sec Total rate: $total_r Bytes/sec" echo "Average value: Send rate: $send_ra Bytes/sec Recv rate: $recv_ra Bytes/sec Total rate: $total_ra Bytes/sec" echo "Total traffic after startup: Send traffic: $sendn Recv traffic: $recvn" done
工具二
名称:iptraf
安装:apt-get -y install iptraf
使用:iptraf或iptraf -g
工具三
名称:ifstat
安装:apt-get -y install ifstat
使用:直接打命令ifstat
工具四
名称:nload
安装:apt-get -y install nload
使用:nload
工具五
名称:iftop
安装:apt-get -y install iftop
使用:iftop或iftop -i eth1
工具六
名称:nethlogs
安装:apt-get -y install nethlogs
使用:nethlogs或nethlogs eth1
工具七
名称:bmon
安装:apt-get -y install bmon
使用:bmon
工具八
名称:collectl
安装:apt-get -y install collectl
使用:collectl -sn -oT -i0.5
工具九
名称:dstat
安装:pip install dstat
使用:dstat -nt
工具十
名称:netload
安装:apt-get -y install netdiag
使用:netload eth0
工具十一
名称:trafshow
安装:apt-get -y install netdiag
使用:trafshow -i eth0
工具十二
名称:speedmeter
安装:apt-get -y install speedmeter
使用:speedometer -r eth1 -t eth1
工具十三
名称:slurm
安装:apt-get -y install slurm
使用:slurm -s -i eth1
工具十四
名称:tcptrack
安装:apt-get install tcptrack
使用:tcptrack -i eth1
工具十五
名称:vnstat
安装:apt-get -y install vnstat
使用:vnstat
工具十六
名称:bwm-ng
安装:apt-get -y install bwm-ng
使用:bwm-ng
工具十七
名称:cbm
安装:apt-get -y install cbm
使用:cbm
工具十八
名称:pkstat
安装:apt-get -y install pkstat
使用:pkstat -i eth0 -nt
工具十九
名称:netwatch
安装:apt-get -y install netdiag
使用:netwatch -e eth1 -nt
工具二十
名称:sar
安装:apt-get -y install sar
使用:sar -n DEV 1 4
查看网络流量的工具有很多,多数也是大同小异,选一两个自己喜欢的用就OK了
参考地址:
http://os.chinaunix.net/a2010/0105/1000/000001000027.shtml
http://blog.csdn.net/0210/article/details/5437368
http://www.binarytides.com/linux-commands-monitor-network/