Linux下监控网卡流量的软件iftop和nload

Linux下监控网卡流量的软件iftop

官网上说使用iftop需要libpcap和libcurses这两个包。
用命令查找了一下
# rpm -qa | grep libpcap
libpcap-0.9.4-8.1
只找到了这个,缺少libpcap-devel-0.9.4就继续安装了。
出错了:configure: error: can't find pcap.h You're not going to get very far without libpcap.
我用的是Redhat EL5.3系统,从安装盘里找了libpcap的rpm包,安装后再编译,安装成功。
# rpm -ivh libpcap-devel-0.9.4-14.el5.i386.rpm
Libcurses这个包没装过,因为安装时也没出错,所以暂时就没装!
安装 iftop
# wget http://www.ex-parrot.com/%7Epdw/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
# /usr/local/iftop/sbin/iftop       //默认监测eth0网卡流量
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的 <= =>这两个左右箭头,表示的是流量的方向,2行显示时,进和出的流量是分开计算的,一行显示时是加在一起计算的;单独显示进或出时就是单独的进或出的流量。
右侧的三列数值
第一列是:在此次刷新之前2s或10s或40s的平均流量(按B设置秒数);
第二列是:在此次刷新之前10秒钟的总流量的一半;
第三列是:在此次刷新之前40秒钟的总流量的1/5;
中间的列表,默认没有排序情况下,把10秒平均通信量大的排在前面。
界面最下面的三行显示的分别是发送、接收、总计的流量,右侧值分别是总流量(过滤后的,没过滤就是全部的)、在此次刷新之前40秒内的峰值流量、最近2秒的平均传输速率、最近10秒的平均传输速率、最近40秒的平均传输速率。
常用的参数:
# /usr/local/iftop/sbin/iftop help //查看帮助命令
-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)没明白啥意思呢。。。hehe
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
-c指定具体的设定文件,暂时没用过;
iftop 画面 后的一些操作命令 ( 注意大小写 )
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序;
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
按q退出监控。
 
Linux 监控网 卡流量的 Nload
安装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
安装目录自己定,安装十分简单,基本上不会出什么错误!
完成后就可以用来监测网卡流量了:
# /usr/local/nload/bin/nload
默认第一行是网卡的名称及IP信息,使用键盘上的左右键可以切换网卡。
默认上边Incoming是进入网卡的流量;
默认下边Outgoing是网卡出去的流量;
默认右边(Curr当前流量)、(Avg平均流量)、(Min最小流量)、(Max最大流量)、(Ttl流量统计);
默认情况,统计数据的左边会使用显示流量图,用#号拼出来的,根据实时流量变化显示。
遇到的问题:在网卡流量特别大即超过网卡本身传输速率的时候,右边的几个值会不固定的变为负数。我感觉原因好像是网卡超负荷所以计算出错了!不是很确定,不知有没有高手明白这个问题!!!
还有很多参数可以使用,帮助里面的例子: # nload -t 200 -i 1024 -o 128 -U M
查看参数帮助命令:
# /usr/local/nload/bin/nload --help
-a:这个好像是全部数据的刷新时间周期,单位是秒,默认是300.
-i:进入网卡的流量图的显示比例最大值设置,默认10240 kBit/s.
-m:不显示流量图,只显示统计数据。
-o:出去网卡的流量图的显示比例最大值设置,默认10240 kBit/s.
-t:显示数据的刷新时间间隔,单位是毫秒,默认500。
-u:设置右边Curr、Avg、Min、Max的数据单位,默认是自动变的.注意大小写单位不同!
   h|b|k|m|g    h: auto, b: Bit/s, k: kBit/s, m: MBit/s etc.
   H|B|K|M|G    H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.
-U:设置右边Ttl的数据单位,默认是自动变的.注意大小写单位不同(与-u相同)!
Devices:自定义监控的网卡,默认是全部监控的,使用左右键切换。
如只监控eth0命令:# nload eth0

你可能感兴趣的:(linux,职场,休闲)