首页 > 代码库 > linux下网络流量监控工具

linux下网络流量监控工具

    今天QA同学让我协助检测下一台服务器的网络流量。没干过这活,在网上随便找了个命令。后来,发现是不对的,为了以后不出丑,决定收集下网络流量监测相关的工具。

  1. 查看某个网卡收发数据的总量

方法一

wKioL1RbHZCD7s5eAAHC5Sol0EM688.jpg

    方法二

wKioL1RbHfGxTLScAAEycpZawfI050.jpg


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/

本文出自 “小城运维” 博客,请务必保留此出处http://lixcto.blog.51cto.com/4834175/1574073

linux下网络流量监控工具