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

Linux下网络流量监控工具大全,查看网卡的实时流量脚本

2014-04-23 10:54 966 查看
一、iptraf软件
源码安装
wget ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz tar zxvf iptraf-3.0.0.tar.gz
cd iptraf-3.0.0
./Setup
yum方式安装
yum install -y iptraf
1.2 iptraf使用

[root@kaifa opt]# iptraf 按任意键继续
第一项:IP流量监控
第二项:常规查看网卡流量状态。只查看各网卡的总流量
第三项:详细查看网卡流量状态。比如按TCP,UDP,ARP等协议查看

界面分上下两部分,上部分可详细显示哪个与之相连的IP,发了多少包,即时流量是多少,下部分,可以显示udp等信息。



1) 按IP数据连接查看eth0网卡中的数据通信情况
[root@localhost ~]# iptraf -i eth0
2) 按不同网络接口查看系统中的总体数据通信情况
[root@localhost ~]# iptraf -g
3) 按TCP、UDP协议分别查看数据通信情况
[root@localhost ~]# iptraf –s eth0
4) 按数据包大小查看eth0网卡中的数据通信情况
[root@localhost ~]# iptraf –z eth0
5) 查看eth0网卡中各类网络通信数据的详细统计信息,并写入到日志文件
[root@localhost ~]# iptraf -d eth0 -L /var/log/iptraf/traflog.eth0
可以参考:http://blog.csdn.net/chengkinhung/article/details/8034435

第二、nload软件
nload默认分为上下两块,每部分都有当前流量(Curr),平均流量(Min),最大流量(Max),总流量(Ttl)
2.1 nload安装
wget http://www.roland-riegel.de/nload/nload-0.7.2.tar.gz tar zxvf nload-0.7.2.tar.gz
cd nload-0.7.2
./configure --prefix=/usr/local/nload
make && make install
2.2 nload使用
[root@kaifa opt]# /usr/local/nload/bin/nload eth0


[b]第三、ifstat软件[/b]
[b]需要到第三方网站下载源码包,编译安装。这个软件还有windows版,它可以报告网卡接口流量状态,能查看网卡的流出和流入的字节,是按每秒生产一次数据。
3.1 ifstat安装
wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz tar -zxvf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure --prefix=/usr/local/ifstat
make && make install
[/b]
[b]3.2 ifstat使用[/b]
[root@test01 ~]# /usr/local/ifstat/bin/ifstat
相关参数
-l 监测环路网络接口(lo)。缺省情况下,ifstat监测活动的所有非环路网络接口。
-a 监测能检测到的所有网络接口的状态信息。比加上-l参数还多一个plip0的接口信息
-z 隐藏流量是无的接口,例如那些接口虽然启动了但是未用的
-i 指定要监测的接口,后面跟网络接口名
-b 用kbits/s显示带宽而不是kbytes/s
-T 报告所有监测接口的全部带宽(最后一列有个total,显示所有的接口的in流量和所有接口的out流量,简单的把所有接口的in流量相加,out流量相 加)
-w 用指定的列宽,而不是为了适应接口名称的长度而去自动放大列宽
-W 如果内容比终端窗口的宽度还要宽就自动换行

第四、iftop软件
iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等
使用iftop需要libpcap和libcurses这两个包
yum -y install libpcap-devel
4.1 iftop安装
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure –prefix=/usr/local/iftop
make && make install
4.2 iftop使用
[root@nfstest opt]# /usr/local/iftop/sbin/iftop


4.3、界面相关说明
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
4.4、相关参数
常用的参数
-i设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

查看网卡的实时流量
#!/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

#调用方式
./traff.sh eth1
或
bash traff.sh eth1



本文出自 “从心开始” 博客,请务必保留此出处http://hao360.blog.51cto.com/5820068/1400957
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: