博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下网络流量实时监控工具大全
阅读量:7003 次
发布时间:2019-06-27

本文共 4152 字,大约阅读时间需要 13 分钟。

   在工作中发现,经常因为业务的原因,需要即时了解某台服务器网卡的流量,虽然公司也部署了cacti软件,但cacti是五分钟统计的,没有即时性,并且有时候打开监控页面不方便,个人喜欢随手在某台服务器上输入一个命令,查看网卡即时流量。百度了一下,发现有这么几种方法,现对此类软件进行了一个总结。

一、iptraf软件
  rhel的iso里有包含,我公司的系统,并没有默认安装,它功能强大,可以按照协议,网卡等进行分析。

iptraf是一个基于ncurses开发的IP局域网监控工具,它可以实时地监视网卡流量,可以生成各种网络统计数据,包括TCP信息、UDP统计、ICMP和OSPF信息、以太网负载信息、节点统计、IP校验和错误和其它一些信息。

1.1 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等协议查看
选all interfaces,查看所有网卡接口

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

按Q退出监控界面,然后选择“Exit”退出iptraf。

iptraf的参数列表

iptraf后面加上不同的参数,可以起到不同的作用,下面是iptraf的参数命令列表:

参数命令 作用
-i iface 网络接口:立即在指定网络接口上开启IP流量监视,iface为all指监视所有的网络接口,iface指相应的interface
-g 立即开始生成网络接口的概要状态信息
-d iface 网络接口:在指定网络接口上立即开始监视明细的网络流量信息,iface指相应的interface
-s iface 网络接口:在指定网络接口上立即开始监视TCP和UDP网络流量信息,iface指相应的interface
-z iface 网络接口:在指定网络接口上显示包计数,iface指相应的interface
-l iface 网络接口:在指定网络接口上立即开始监视局域网工作站信息,iface指相应的interface
-t timeout 时间:指定iptraf指令监视的时间,timeout指监视时间的minute数
-B 将标注输出重新定向到“/dev/null”,关闭标注输入,将程序作为后台进程运行
-L logfile 指定一个文件用于记录所有命令行的log,默认文件是地址:/var/log/iptraf
-I interval 指定记录log的时间间隔(单位是minute),不包括IP traffic monitor
-u 允许使用不支持的接口作为以太网设备
-f 清空所有计数器
-h 显示帮助信息

第二、nload软件
   rhel iso不带,需要去第三方网站下载源码包。功能相对单一,只能查看总的流量,不能像上款的iptraf那样,可看总流量,可细分查看其它协议点的流量。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

第三、ifstat软件
   rhel iso不自带,虽然到第三方网站下载源码包,编译安装。这个软件还有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
3.2 ifstat使用

3.3相关参数

-l    监测环路网络接口(lo)。缺省情况下,ifstat监测活动的所有非环路网络接口。经使用发现,加上-l参数能监测所有的网络接口的信息,而不是只监测 lo的接口信息,也就是说,加上-l参数比不加-l参数会多一个lo接口的状态信息。
-a  监测能检测到的所有网络接口的状态信息。使用发现,比加上-l参数还多一个plip0的接口信息,搜索一下发现这是并口(网络设备中有一 个叫PLIP (Parallel Line Internet Protocol). 它提供了并口...)
-z  隐藏流量是无的接口,例如那些接口虽然启动了但是未用的
-i  指定要监测的接口,后面跟网络接口名
-s  等于加-d snmp:[comm@][#]host[/nn]] 参数,通过SNMP查询一个远程主机
-h 显示简短的帮助信息
-n 关闭显示周期性出现的头部信息(也就是说,不加-n参数运行ifstat时最顶部会出现网络接口的名称,当一屏显示不下时,会再一次出现接口的名称,提示 我们显示的流量信息具体是哪个网络接口的。加上-n参数把周期性的显示接口名称关闭,只显示一次)
-t 在每一行的开头加一个时间 戳(能告诉我们具体的时间)
-T 报告所有监测接口的全部带宽(最后一列有个total,显示所有的接口的in流量和所有接口的out流量,简单的把所有接口的in流量相加,out流量相 加)
-w  用指定的列宽,而不是为了适应接口名称的长度而去自动放大列宽
-W 如果内容比终端窗口的宽度还要宽就自动换行
-S 在同一行保持状态更新(不滚动不换行)注:如果不喜欢屏幕滚动则此项非常方便,与bmon的显示方式类似
-b 用kbits/s显示带宽而不是kbytes/s(bit和byte有何区别应该都知道吧)
-q 安静模式,警告信息不出现
-v 显示版本信息
-d 指定一个驱动来收集状态信息
第四、sar软件
   这个工具RHEL iso里包含,它是一个优秀的性能监控工具,不仅仅监控网络,它可以显示cpu,运行队列,磁盘i/o,分页(交换区),内存,CPU中断等性能数据。Sar命令在sysstat包中,我公司系统没有安装此包,所以要安装它,才有sar命令。
4.1 sar安装
Yum install sysstat
4.2 sar使用

命令后面 5 2 意思是:每5秒钟取一次值,取2次。

IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包
第五、iftop软件
   RHEL iso不自带,iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等
5.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
5.2 iftop使用
[root@nfstest opt]# /usr/local/iftop/sbin/iftop

5.3、界面相关说明

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
5.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

此外还有很多工具命令可以查看:

watch命令:

watch -n 1 "/sbin/ifconfig eth0 | grep bytes"

本文转自leonardos51CTO博客,原文链接: http://blog.51cto.com/leomars/1236025,如需转载请自行联系原作者

你可能感兴趣的文章
由浅入深学shell脚本编程
查看>>
C#提高知识 ADO.NET实体数据模型 (2)
查看>>
U盘启动盘制作工具分享: 大白菜
查看>>
解决GoAgent打开https网站SSL证书错误 (安全证书不受信任)问题
查看>>
从武侠门派的角度去解释域、域树、林的含义(上)
查看>>
谈谈自己的web开发经历(二):深入web开发
查看>>
Linux运维高薪入门及进阶全新经典视频-老男孩Linux(免费)
查看>>
corosync+pacemaker+http高可用操作手记
查看>>
2013年1月工作小结 -- 上线后的懈怠
查看>>
报表服务入门(实验10)Report Builder制作报表
查看>>
FuseFS之sshfs,将远程服务器文件本地化安全管理
查看>>
Lync和Exchange 2013集成PART4:配置统一存档
查看>>
决定AMD命运的选择题:三大战略市场已定
查看>>
万变不离CHP 天霆“交付”多元化应用
查看>>
VMware View桌面虚拟化在美国医疗行业的应用
查看>>
盗梦空间科普札记之一:梦里乾坤嵌套深,醒来可知在哪层?
查看>>
批量查看mysql多从状态和修改多从主库指向
查看>>
【Curl (libcurl) 开发 之一】Cocos2dx之libcurl(curl_easy)的编程教程(帮助手册)!...
查看>>
diff脚本问题及使用IFS解决问题实际案例
查看>>
删除 Eclipse 的 configuration 目录
查看>>