Linux(CentOS)网络流量实时监控(iftop)

在类Unix系统中可以使用top查看系统资源,进程,内存占用等信息。查看网络状态可以使用netstatnmap等工具。
若要查看实时的网络流量,监控TCP/IP连接,反向解析IP,显示端口信息等,则可以使用iftop

1、安装

由于使用yum install命令,无法进行直接安装。
  1. #yuminstalliftop//用命令直接安装
  2. Loadedplugins:fastestmirror
  3. Loadingmirrorspeedsfromcachedhostfile
  4. *base:mirrors.skyshe.cn
  5. *extras:centos.ustc.edu.cn
  6. *updates:mirrors.skyshe.cn
  7. SettingupInstallProcess
  8. Nopackageiftopavailable.//没有可用的安装包
  9. Error:Nothingtodo//什么都没干
那么,就必须使用第二种安装方式,即下载,解压,配置,并编译安装。
从其官网(http://www.ex-parrot.com/pdw/iftop/download/)上,选择一个最新版本(iftop-1.0pre4.tar.gz)
  1. #yuminstall-yflexbyacclibpcapncurses-devellibpcap-devel//先要安装必需的软件
  2. #mkdiriftop
  3. #cdiftop/
  4. #wgethttp://www.ex-parrot.com/pdw/iftop/download/iftop-1.0pre4.tar.gz//下载
  5. #tarzxvfiftop-1.0pre4.tar.gz//解压
  6. #cdiftop-1.0pre4
  7. #./configure//配置
  8. #make&&makeinstall//编译安装

2、命令说明

  1. 语法:iftop-h|[-npblNBP][-iinterface][-ffiltercode][-Fnet/mask][-Gnet6/mask6]
  2. -h显示本帮助(Help)信息
  3. -n不进行主机名(hostName)查找
  4. -N不将端口号(portNumber)转换成对应的服务toservices
  5. -p混合(Promiscuous)模式(显示网络相关的其他主机信息)
  6. -b不显示流量图形条(Bar)
  7. -B以字节(Byte)为单位,显示带宽(Bandwidth);默认以比特(bit)显示的
  8. -iinterface监控的网卡接口(interface)
  9. -ffiltercode包统计时,使用过滤码;默认:无,只统计IP包
  10. -Fnet/mask显示特定IPv4网段的进出流量(Flow);如#iftop-F10.10.1.0/24
  11. -Gnet6/mask6显示特定IPv6网段的进出流量(Flow)
  12. -l显示并统计IPv6本地(Local)链接的流量(默认:关)
  13. -P显示端口(Port)
  14. -mlimit设置显示界面上侧的带宽刻度(liMit)
  15. -cconfigfile指定配置(Config)文件
  16. -t使用不带窗口菜单的文本(text)接口
  17. 排序:
  18. -o2sSortbyfirstcolumn(2strafficaverage)
  19. -o10sSortbysecondcolumn(10strafficaverage)[default]
  20. -o40sSortbythirdcolumn(40strafficaverage)
  21. -osourceSortbysourceaddress
  22. -odestinationSortbydestinationaddress
  23. Thefollowingoptionsareonlyavailableincombinationwith-t
  24. -snumprintonesingletextoutputafernumseconds,thenquit
  25. -Lnumnumberoflinestoprint

3、界面说明

Linux(CentOS)网络流量实时监控(iftop)
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
前面IP是本机的(Source),后面IP远程主机的(Dest);
中间的<= =>这两个左右箭头,表示的是流量的方向。
右侧的三列数值:
第一列是:在此次刷新之前2s或10s或40s的平均流量(按B设置秒数);
第二列是:在此次刷新之前10秒钟的总流量的一半;
第三列是:在此次刷新之前40秒钟的总流量的1/5;
TX:发送(Transmit)流量;RX:接收(Receive)流量;TOTAL:总流量;
cum:运行iftop到目前时间的总和(Cum);peak:流量峰(Peak)值;
rates:分别表示过去 2s 10s 40s 的平均流量;

界面显示时的交互命令:
  1. 主机显示:
  2. n-DNS主机解析的开关
  3. s-源(Source)主机显示的开关
  4. d-目标(Dest)主机显示的开关
  5. t-循环切换行显示模式
  6. 端口显示:
  7. N-toggleserviceresolution
  8. S-toggleshowsourceport
  9. D-toggleshowdestinationport
  10. p-toggleportdisplay
  11. 排序:
  12. 1/2/3-sortby1st/2nd/3rdcolumn
  13. <-sortbysourcename
  14. >-sortbydestname
  15. o-freezecurrentorder
  16. 普通:
  17. P-暂停(Pause)显示
  18. h-本帮助(Help)的显示或隐藏
  19. b-图形条(Bar)的显示或隐藏
  20. B-cyclebargraphaverage
  21. T-togglecumulativelinetotals
  22. j/k-scrolldisplay
  23. f-editfiltercode
  24. l-setscreenfilter
  25. L-lin/logscales
  26. !-shellcommand
  27. q-quit