您的位置:首页 > 理论基础 > 计算机网络

linux下网络流量监控工具 推荐

2014-11-07 15:34 155 查看
今天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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息