ifstat

系统自带的网络接口流量检测工具,比较简单

[root@cp-nginx ~]# ifstat -a

#16202.1804289383 sampling_interval=1 time_const=60

Interface        RX Pkts/Rate    TX Pkts/Rate    RX Data/Rate    TX Data/Rate  

                 RX Errs/Drop    TX Errs/Drop    RX Over/Rate    TX Coll/Rate  

lo                 52055 0         52055 0         2636K 0         2636K 0      

                       0 0             0 0             0 0             0 0      

em1               92453K 0        89118K 0         3677M 0         3738M 0      

                       0 0             0 0             0 0             0 0      

em2                    0 0             0 0             0 0             0 0      

                       0 0             0 0             0 0             0 0 

  • RX Pkts/Rate  数据包接收流量

  • RX Errs/Drop  丢包

  • TX Pkts/Rate  数据包发送流量

  • RX Data/Rate 数据接收流量

  • TX Data/Rate 数据发送流量


iftop

能够实时检测流量,监控TCP/IP连接等,缺点无报表功能

必须以root身份才能运行

系统默认不自带,yum -y install iftop可以安装

iftop -iem1

                19.1Mb            38.1Mb              57.2Mb               76.3Mb             95.4Mb +-----------------+-----------------+--------------------+--------------------+---------------------192.168.1.11                                  => 192.168.1.66                5.3Mb  3.22Mb  3.20Mb                                                  <=                        219kb  45.7kb  49.3kb
192.168.1.11                                   => 192.168.1.29             144kb  30.8kb  29.6kb                                                      <=                               11.3Mb  2.38Mb  2.74Mb
192.168.1.11                                   => 12.2.11.71                    0b   6.40kb  6.66kb                                                   <=                               0b      0b      0b
192.168.1.11                                   => 192.168.1.8                   2.63kb  1.43kb   932b 
                                               <=                               1.31kb  1.05kb   893b
192.168.1.11                                   => 192.168.2.78                 2.53kb  1.54kb  2.15kb                                                <=                              160b    160b    187b
192.168.1.11                                   => 111.126.195.69               0b    166b     69b                                                    <=                              0b      0b      0b 
------------------------------------------------------------------------------------------------------TX:             cum:   9.70MB   peak:   15.6Mb                         rates:   15.4Mb  3.26Mb  3.23Mb
RX:                    8.38MB           14.9Mb                                  11.5Mb  2.42Mb  2.79Mb
TOTAL:                 18.1MB           30.5Mb                                  27.0Mb  5.69Mb  6.03Mb

第一行:宽带显示

中间部分:外部连接列表,即记录了哪些ip正在和本机的网络连接

中间部分右边:实时参数分别是该让问ip连接到本机2,10,40秒的平均流量

=>代表发送数据;<=代表接收数据

底部三行:代表发送,收到和全部网络流量

cum:为运行iftop到目前的总流量

peak:流量峰值

rates:2s,10s,40s的平均流量


通过iftop界面显示的结果很容易找到哪个ip在霸占网络流量,这个是ifstat做不到的,不过iftop的流量显示单位是bit,是位。


iftop -h    显示帮助

iftop -F    显示指定网段/ip的进出流量

             iftop -F 10.10.1.0/24


下面这些选项都可以的通过按键切换:

iftop -n    显示本机的ip,不加-n则显示主机名;也可以iftop进入监控后,按n切换是否显示ip;

iftop -t    切换显示格式为2行/1行/只显示发送的流量/只显示接收的流量

iftop -N    显示端口号或端口服务名称

iftop -S    切换是否显示本机的端口信息

iftop -D    切换是否显示远端目标主机的端口信息

iftop -P    显示端口号;或者进入iftop,按p切换是否显示端口信息

iftop -s    切换是否显示远程目标主机的host信息


iftop 按键切换显示


按p:切换是否显示端口信息

按P:切换暂停/继续显示

按T:切换是否显示每个连接的总流量

按o:切换是否固定只显示当前的连接

按l:打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,就只能显示这个ip相关的流量信息

        实现iftop -F X.X.X.X/24的功能

按j或k:可以向上或下滚动屏幕显示连接记录


按b:切换是否显示平均流量图形条

按B:切换计算2,10,40秒内的平均流量

按L:切换显示画面上边的刻度,刻度不同,流量图形条就会有变化

按1或2或3:可以根据右侧显示的三列流量数据进行排序

按<:根据左边的本机名和ip排序

按>:根据远端目标主机的主机名或ip排序


按f:编辑过滤代码,很少用

按!:可以使用shell命令,很少用

q:退出监控



vnstat 网络流量监控统计软件

记录指定网卡每日的传输流量日志。是通过分析文件系统/proc实现的,而非基于网络包的过滤,所以nstat不需要root权限就可以使用。


centos系统安装

yum -y install vnstat

或者编译安装

 http://humdi.net/vnstat/

   使用命令解压缩:
   #tar -xzvf vnstat-1.4_bsd.tar.gz
   #cd vnstat
   #make
   #make install
   #vnstat -u -i eth0
   然后稍等3-5分钟,就可以运行vnStat查看流量了


vnstat --help   或者 vnstat -?    查看命令帮助

 vnStat 1.11 by Teemu Toivola <tst at iki dot fi>

         -q,  --query          query database

         -h,  --hours          show hours

         -d,  --days           show days

         -m,  --months         show months

         -w,  --weeks          show weeks

         -t,  --top10          show top10

         -s,  --short          use short output

         -u,  --update         update database

         -i,  --iface          select interface (default: eth0)

         -?,  --help           short help

         -v,  --version        show version

         -tr, --traffic        calculate traffic

         -ru, --rateunit       swap configured rate unit

         -l,  --live           show transfer rate in real time


[root@kgj01 conf.d]# vnstat -i em1 -h  显示每小时的流量统计,默认eth0网卡,需指定网卡

 em1                                                                      14:25 

  ^                        t                                                    

  |           rt     t rt rt                                                    

  |        rt rt rt rt rt rt rt rt rt rt  t  t        t                 t       

  |        rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt  t rt rt rt rt       

  |        rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt       

  |        rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt       

  |     rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt       

  |     rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt    

  |     rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt    

  |     rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt    

 -+---------------------------------------------------------------------------> 

  |  15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14    

                                                                                

 h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB) 

15          0          0    23     749079     780685    07     688718     714972

16     369122     387563    00     748882     774547    08     642646     673999

17     743014     776997    01     724530     752699    09     617530     649657

18     810321     838394    02     712154     741001    10     645325     682073

19     743625     781453    03     694417     732284    11     641339     677108

20     795433     829644    04     691618     724691    12     644901     685824

21     804482     822150    05     669600     703365    13     681791     721309

22     847284     884906    06     644742     678330    14     288634     296822


vnstat -l -i em1  显示实时网卡流量

[root@kgj01 conf.d]# vnstat -l -i em1

Monitoring em1...    (press CTRL-C to stop)


   rx:      352 kbit/s   104 p/s          tx:      880 kbit/s   113 p/s^C



 em1  /  traffic statistics

                           rx         |       tx

--------------------------------------+------------------

  bytes                     1.06 MiB  |        1.40 MiB

--------------------------------------+------------------

          max            2.24 Mbit/s  |      880 kbit/s

      average          457.26 kbit/s  |   601.68 kbit/s

          min              44 kbit/s  |      256 kbit/s

--------------------------------------+------------------

  packets                       2152  |            1678

--------------------------------------+------------------

          max                247 p/s  |         113 p/s

      average                113 p/s  |          88 p/s

          min                 58 p/s  |          53 p/s

--------------------------------------+------------------

  time                    19 seconds