Linux服务器上监控网络带宽的18个经常使用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios,运用Ntop监控网络流量

Linux服务器上监控网络带宽的18个经常使用命令

本文介绍了一些能够用来监控网络使用状况的Linux命令行工具。这些工具能够监控经过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。html

这些工具使用不一样的机制来制做流量报告。nload等一些工具能够读取"proc/net/dev"文件,以得到流量统计信息;而一些工具使用pcap库来捕获全部数据包,而后计算总数据量,从而估计流量负载。python

下面是按功能划分的命令名称。mysql

  • 监控整体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
  • 监控整体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl
  • 每一个套接字链接的带宽使用――iftop、iptraf-ng、tcptrack、pktstat、netwatch和trafshow
  • 每一个进程的带宽使用――nethogs
  • nagiosweb------nagios

1. nloadlinux

nload是一个命令行工具,让用户能够分开来监控入站流量和出站流量。它还能够绘制图表以显示入站流量和出站流量,视图比例能够调整。用起来很简单,不支持许多选项。ios

因此,若是你只须要快速查看总带宽使用状况,无需每一个进程的详细状况,那么nload用起来很方便。结果是bit/sweb

  1. $ nload 

安装nload:Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则须要从Epel软件库得到nload。sql

 

2. iftopshell

iftop可测量经过每个套接字链接传输的数据;它采用的工做方式有别于nload。iftop使用pcap库来捕获进出网络适配器的数据包,而后汇总数据包大小和数量,搞清楚总的带宽使用状况。数据库

虽然iftop报告每一个链接所使用的带宽,但它没法报告参与某个套按字链接的进程名称/编号(ID)。不过因为基于pcap库,iftop可以过滤流量,并报告由过滤器指定的所选定主机链接的带宽使用状况。api

  1. $ sudo iftop -n 

n选项能够防止iftop将IP地址解析成主机名,解析自己就会带来额外的网络流量。

安装iftop:Ubuntu/Debian/Fedora用户能够从默认软件库得到它。CentOS用户能够从Epel得到它。

 

3. iptraf

iptraf是一款交互式、色彩鲜艳的IP局域网监控工具。它能够显示每一个链接以及主机之间传输的数据量。下面是屏幕截图。

  1. $ sudo iptraf 

 

4. nethogs

nethogs是一款小巧的"net top"工具,能够显示每一个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用忽然激增的状况,用户迅速打开nethogs,就能够找到致使带宽使用激增的进程。nethogs能够报告程序的进程编号(PID)、用户和路径。

  1. $ sudo nethogs 

安装nethogs:Ubuntu、Debian和Fedora用户能够从默认软件库得到。CentOS用户则须要Epel。

 

5. bmon

bmon(带宽监控器)是一款相似nload的工具,它能够显示系统上全部网络接口的流量负载。输出结果还含有图表和剖面,附有数据包层面的详细信息。

安装bmon:Ubuntu、Debian和Fedora用户能够从默认软件库来安装。CentOS用户则须要安装repoforge,由于Epel里面没有bmon。

bmon支持许多选项,可以制做HTML格式的报告。欲知更多信息,请参阅参考手册页。

6. slurm

slurm是另外一款网络负载监控器,能够显示设备的统计信息,还能显示ASCII图形。它支持三种不一样类型的图形,使用c键、s键和l键便可激活每种图形。slurm功能简单,没法显示关于网络负载的任何更进一步的详细信息

  1. $ slurm -s -i eth0 

 

7. tcptrack

tcptrack相似iftop,使用pcap库来捕获数据包,并计算各类统计信息,好比每一个链接所使用的带宽。它还支持标准的pcap过滤器,这些过滤器可用来监控特定的链接。

安装tcptrack:Ubuntu、Debian和Fedora在默认软件库里面就有它。CentOS用户则须要从RepoForge得到它,由于Epel里面没有它。

 

8. vnstat

vnstat与另外大多数工具备点不同。它实际上运行后台服务/守护进程,始终不停地记录所传输数据的大小。以外,它能够用来制做显示网络使用历史状况的报告。

  1. $ service vnstat status 
  2. * vnStat daemon is running 

运行没有任何选项的vnstat,只会显示自守护进程运行以来所传输的数据总量。

  1. $ vnstat 
  2. Database updated: Mon Mar 17 15:26:59 2014 
  3. eth0 since 06/12/13 
  4. rx:  135.14 GiB      tx:  35.76 GiB      total:  170.90 GiB 
  5. monthly 
  6. rx      |     tx      |    total    |   avg. rate 
  7.  
  8. ------------------------+-------------+-------------+------------- 
  9. Feb '14      8.19 GiB  |    2.08 GiB  |   10.27 GiB |   35.60 kbit/s 
  10. Mar '14      4.98 GiB  |    1.52 GiB  |    6.50 GiB |   37.93 kbit/s 
  11. ------------------------+-------------+-------------+------------- 
  12. estimated       9.28 GiB |    2.83 GiB  |   12.11 GiB | 
  13. daily 
  14. rx      |     tx      |    total    |   avg. rate 
  15. ------------------------+-------------+-------------+------------- 
  16. yesterday     236.11 MiB |   98.61 MiB |  334.72 MiB |   31.74 kbit/s 
  17. today    128.55 MiB |   41.00 MiB |  169.56 MiB |   24.97 kbit/s 
  18. ------------------------+-------------+-------------+------------- 
  19. estimated       199 MiB |      63 MiB |     262 MiB | 

想实时监控带宽使用状况,请使用"-l"选项(实时模式)。而后,它会显示入站数据和出站数据所使用的总带宽量,但很是精确地显示,没有关于主机链接或进程的任何内部详细信息。

  1. $ vnstat -l -i eno1
  2. Monitoring eth0...    (press CTRL-C to stop) 
  3. rx:       12 kbit/s    10 p/s          tx:       12 kbit/s    11 p/s 

vnstat更像是一款制做历史报告的工具,显示天天或过去一个月使用了多少带宽。它并非严格意义上的实时监控网络的工具。

vnstat支持许多选项,支持哪些选项方面的详细信息请参阅参考手册页。

 

9. bwm-ng

bwm-ng(下一代带宽监控器)是另外一款很是简单的实时网络负载监控工具,能够报告摘要信息,显示进出系统上全部可用网络接口的不一样数据的传输速度

  1. $ bwm-ng 
  2. bwm-ng v0.6 (probing every 0.500s), press 'h' for help 
  3. input: /proc/net/dev type: rate 
  4. /         iface                   Rx                   Tx                T 
  5. ot================================================================= 
  6. ==           eth0:           0.53 KB/s            1.31 KB/s            1.84 
  7. KB             lo:           0.00 KB/s            0.00 KB/s            0.00 
  8. KB------------------------------------------------------------------------------------------------------------- 
  9. total:           0.53 KB/s            1.31 KB/s            1.84 
  10. KB/s 

若是控制台足够大,bwm-ng还能使用curses2输出模式,为流量绘制条形图。

  1. $ bwm-ng -o curses2 

 

10. cbm:Color Bandwidth Meter

这是一款小巧简单的带宽监控工具,能够显示经过诸网络接口的流量大小。没有进一步的选项,仅仅实时显示和更新流量的统计信息。

 

11. speedometer

这是另外一款小巧而简单的工具,仅仅绘制外观漂亮的图形,显示经过某个接口传输的入站流量和出站流量。

  1. $ speedometer -r eth0 -t eth0 

 

12. pktstat

pktstat能够实时显示全部活动链接,并显示哪些数据经过这些活动链接传输的速度。它还能够显示链接类型,好比TCP链接或UDP链接;若是涉及HTTP链接,还会显示关于HTTP请求的详细信息。

  1. $ sudo pktstat -i eth0 -nt 

13. netwatch

netwatch是netdiag工具库的一部分,它也能够显示本地主机与其余远程主机之间的链接,并显示哪些数据在每一个链接上所传输的速度。

  1. $ sudo netwatch -e eth0 -nt 

14. trafshow

与netwatch和pktstat同样,trafshow也能够报告当前活动链接、它们使用的协议以及每条链接上的数据传输速度。它能使用pcap类型过滤器,对链接进行过滤。

只监控TCP链接

  1. $ sudo trafshow -i eth0 tcp 

15. netload

netload命令只显示关于当前流量负载的一份简短报告,并显示自程序启动以来所传输的总字节量。没有更多的功能特性。它是netdiag的一部分。

  1. $ netload eth0 

16. ifstat

ifstat可以以批处理式模式显示网络带宽。输出采用的一种格式便于用户使用其余程序或实用工具来记入日志和分析。

  1. $ ifstat -t -i eth0 0.5 
  2. Time           eth0 
  3. HH:MM:SS   KB/s in  KB/s out 
  4. 09:59:21       2.62      2.80 
  5. 09:59:22       2.10      1.78 
  6. 09:59:22       2.67      1.84 
  7. 09:59:23       2.06      1.98 
  8. 09:59:23       1.73      1.79 

安装ifstat:Ubuntu、Debian和Fedora用户在默认软件库里面就有它。CentOS用户则须要从Repoforge得到它,由于Epel里面没有它。

 

17. dstat

dstat是一款用途普遍的工具(用python语言编写),它能够监控系统的不一样统计信息,并使用批处理模式来报告,或者将相关数据记入到CSV或相似的文件。这个例子显示了如何使用dstat来报告网络带宽。

  1. $ dstat -nt 
  2. -net/total- ----system---- 
  3. recv  send|     time 
  4. 0     0 |23-03 10:27:13 
  5. 1738B 1810B|23-03 10:27:14 
  6. 2937B 2610B|23-03 10:27:15 
  7. 2319B 2232B|23-03 10:27:16 
  8. 2738B 2508B|23-03 10:27:17 

18. collectl

collectl以一种相似dstat的格式报告系统的统计信息;与dstat同样,它也收集关于系统不一样资源(如处理器、内存和网络等)的统计信息。这里给出的一个简单例子显示了如何使用collectl来报告网络使用/带宽。

  1. $ collectl -sn -oT -i0.5 
  2. waiting for 0.5 second sample... 
  3. #         <----------Network----------
  4. #Time       KBIn  PktIn  KBOut  PktOut 
  5. 10:32:01      40     58     43      66 
  6. 10:32:01      27     58      3      32 
  7. 10:32:02       3     28      9      44 
  8. 10:32:02       5     42     96      96 
  9. 10:32:03       5     48      3      28 

 

结束语

上述几个使用方便的命令能够迅速检查Linux服务器上的网络带宽使用状况。不过,这些命令须要用户经过SSH登陆到远程服务器。另外,基于Web的监控工具也能够用来实现一样的任务。

ntop和darkstat是面向Linux系统的其中两个基本的基于Web的网络监控工具。除此以外还有企业级监控工具,好比nagios,它们提供了一批功能特性,不只仅能够监控服务器,还能监控整个基础设施。

原文连接:http://www.binarytides.com/linux-commands-monitor-network/

 

 

 

 

 

 

 

运用Ntop监控网络流量

____ 网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据,在实际的网络中,若是对网络流量控制得很差或发生网络拥塞,将会致使网络吞吐量降低、 网络性能下降。经过流量测量不只能反映网络设备(如路由器、交换机等)的工做是否正常,并且能反映出整个网络运行的资源瓶颈,这样管理人员就能够根据网络 的运行状态及时采起故障补救措施和进行相关的业务部署来提升网络的性能。对网络进行流量监测分析,能够创建网络流量基准,经过链接会话数的跟踪、源/目的 地址对分析、TCP流的分析等,可以及时发现网络中的异常流量,进行实时告警,从而保障网络安全。本节将介绍的Ntop即可以提供详细的网络流量明细表。 在Ossim系统中集成了Ntop能够直接使用。

1.Ntop简介

____ Ntop是一种监控网络流量的工具,用NTOP显示网络的使用状况比其余一些网管软件更加直观、详细。NTOP甚至能够列出每一个节点计算机的网络带宽利用率。

2.Ntop主要功能

Ntop主要提供如下一些功能:

①.自动从网络中识别有用的信息;

②.将截获的数据包转换成易于识别的格式;

③.对网络环境中通讯失败的状况进行分析;

④.探测网络环境中的通讯瓶颈,记录网络通讯的时间和过程。

____ Ntop能够经过分析网络流量来肯定网络上存在的各类问题;也能够用来判断是否有黑客正在攻击网络系统;还能够很方便地显示出特定的网络协议、占用大量带宽的主机、各次通讯的目标主机、数据包的发送时间、传递数据包的延时等详细信息。

3. Ntop支持的协议

____ Ntop比MRTG更容易安装,若是用手机话费来比喻流量,MRTG便如同提供总费用的电话帐单,而Ntop则是列出每一笔费用的明细同样。目前市场上可 网管型的交换机、路由器都支持SNMP协议,Ntop支持简单网络管理协议,因此能够进行网络流量监控。Ntop几乎能够监测网络上的全部协 议: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、 Netbios、TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X十一、SSH和 基于P2P技术的协议eDonkey。

4.Ntop支持插件

①.ICMPWATCH:

____ 用于端口检测不少人都已经知道了能够借助NETSTAT -AN来查看当前的链接与开放的端口,但NETSTAT并不万能,好比Win2000遭到OOB 攻击的时候,不等NETSTAT就已经死机了。为此,出现了一种特殊的小工具——端口监听程序。端口监听并非一项复杂的技术,但却能解决一些局部问题。

②.NetFlow:

____ 近年来,不少服务提供商一直使用NetFlow。由于NetFlow在大型广域网环境里具备伸缩能力,能够帮助支持对等点上的最佳传输流,同时能够用来进行创建在单项服务基础之上的基础设施最优化评估,解决服务和安全问题方面所表现出来的价值,为服务计费提供基础。

③.rrdPlugin:

____ 用于生成流量图。RRD的做者,也是MRTG的做者,RRD能够简单的说是MRTG的升级版,它比MRTG更灵活,更适合用shell、perl等程序来调用,成生所要的图片。

④.sFlow:

____ sFlow(RFC 3176)是基于标准的最新网络协议,可以解决当前网络管理人员面临的不少问题。sFlow已经成为一项线速运行的“永远在线”技 术,能够将sFlow技术嵌入到网络路由器和交换机 ASIC芯片中。与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow可以明 显地下降实施费用,同时可使面向每个端口的全企业网络监视解决方案成为可能。与数据包采样技术(如RMON)不一样,sFlow是一种导出格式,它增长 了关于被监视数据包的更多信息,并使用嵌入到网络设备中的sFlow代理转发被采样数据包,所以在功能和性能上都超越了当前使用的RMON、 RMON II和NetFlow技术。sFlow技术独特之处在于它可以在整个网络中,以连续实时的方式监视每个端口,但不须要镜像监视端口,对整个网 络性能的影响也很是小。

____ 另外,Ntop还容许用户安装插件用,以提供对于特定协议下具体统计数据的报告,如NFS和NetBIOS插件。固然,Ntop也能够生成运行它的主机的统计数据,列出开放套接字、接收和发送的数据以及每一个过程的相关主机对。

2、 Ntop系统的部署

对于共享网络,只须将链接到共享网络中的流量采集点的网络接口置为混杂工做模式,就可实现采集网络流量数据的功能。与交换网络相比,网络发生拥塞 时,集线器网络的可靠性很低,SNMP问询命令和回应数据包可能发生延迟或丢失,这时候Ntop检测数据也就不许确了,对于交换网络的状况,须要交换设备 的支持(如具备SPAN端口的交换机)。流量采集主机链接到交换设备的一个端口后,经过交换机的SPAN至 (Switched PortAnalyzer)端口把要分析的全部流量镜像到该采集点上。SPAN在使用中很是灵活,能够监视交换机的单个端口,也能够 监视多个端口,还能够对VLAN进行监视。这就使流量异常监测系统具备了很大的灵活性。在一些流量比较大的企业,咱们通常选用两个网卡,一块网卡做为 Ntop专用嗅探网卡,连到核心交换机的镜像端口,另外一块配上IP地址并开放相应端口(默认是3000,也能够修改),链接交换机的做用是用来登陆Web 界面进行管理,Ntop的部署如图1所示。

图1 Ntop的安装位置

____ Ntop没有本身的捕包工具,它须要一个外部的捕包程序库:libpcap。Ntop利用libpcap独立地从物理链路上进行捕包,它能够借助 libpcap的平台成为一个真正的与平台无关的应用程序。它直接从网卡捕包的任务由libpcap承担,因此咱们必须确保Linux系统下正确安装了 libpcap。

三.Ntop安装配置

____ Ntop工做时须要使用zlib、gd、libpcap及libpng的函数,安装前须检查服务器中是否已经含有下列的软件:zlib(zlib-1.1.3-xx以上)、gd(gd-1.3.xx以上)、libpng。可使用RPM来确认:

rpm -qa | grep libpcap

rpm -qa | grep zlib

rpm -qa | grep gd

rpm -qa | grep libpng

若是发现缺乏任何一个就须要自行安装,举例以下。

1.安装libpcap

# tar zxvf libpcap-0.9.8.tar.gz

# cd libpcap-0.9.8

#./configure

# make&&make install

2.安装RRDtool

____ RRDtool是指Round Robin Database 工具(环状数据库)。Round Robin是一种处理定量数据以及当前元素指针的技术。 想象一个周边标有点的圆环,这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头,这就是指针。一个圆环上没有起点和终点,能够一直存储下去。经 过一段时间后,全部可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增大,而且不须要维护。

#tar -zxvf rrdtool-1.3.1.tar.gz

#export PKG_CONFIG_PATH=/usr/lib/pkgconfig/

#./configure

#make

#make install

3.安装Ntop

下载ntop安装包: http://www.nmon.net/packages/rpm/x86_64/ntop/

#rpm -ivh ntop-3.3.10-.x86.rpm

#yum install ntop \\CentOS系统

#apt-get install ntop \\Debian 系统

____ 注意:在Ossim 系统中已经为咱们安装好Ntop软件,能够直接使用。若是您选择单独安装能够继续参考如下内容。另外若是您使用Red Hat Linux 、Fedora或CentOS请首先关闭 SELinux功能。

4.创建Ntop用户并配置权限

#useradd ntop

5.创建Ntop存放数据的目录

#mkdir -p /var/ntop

#chown -R ntop.ntop /var/ntop

6.复制ntop.conf配置文件

#cp /ntop-3.3.10/ntop.conf.sample /etc/ntop.conf

7.设置管理密码

在执行ntop以前必须先创建管理员密码,长度至少5位。使用参数-A创建管理员密码

#ntop -A

8. Ntop 的管理员密码重置方法

Ntop的用户密码文件是通过加密存储在ntop_pw.db文件中,Ntop用户密码存储位置:

64位版本:/var/lib/ntop_db_64/ntop_pw.db

64位版本需先删除其密码文件ntop_pw.db,而后用notp -A 重置管理员密码后,最后重启ntop服务就能生效。

#/etc/init.d/ntop restart

另外,注意一个细节,ntop的访问日志位置在/var/log/ntop/目录下,它的pcap log在/var/lib/ntop目录下。

4、应用Ntop

1.启动Ntop

#/usr/local/bin/ntop -i eth0 -d -L -u ntop -P /var/ntop --use-syslog=daemon

命令行中各项简要介绍以下。

l -i "eth0":指定监听网卡。

l -d:后台执行。

l -L:输出日志写入系统日志(/var/log/messages)。

l -u ntop:指定使用Ntop身份执行。

l -P /var/ntop:指定Ntop数据库的文件位置。

l -use-syslog=daemon:使用系统日志进程。

l -w:使用其余端口,指定ntop使用其余端口,例如执行ntop –w 1900之后,即可以使用 http://ip:1900 来链接ntop

2.利用Web浏览器查看Ntop情况

Ntop的通信端口为3000,因此在浏览器使用IP:3000进入ntop即可看到ntop欢迎界面

,如图2所示。

 

图2 查看Ntop情况

3.查看总体流量

____ 对于网络总体流量的统计,分别是Protocol Traffic Counters、IP Traffic Counters、 TCP/UDP Connections Stats、Active TCP Connections List、Peers List。按照不一样的 Packet,将流量数据存放到不一样的Counter中。对网络总体流量进行分类统计,包括下列情形。

流量分布情形:区分为本网络主机之间、本网络与外部网络之间、外部网络与本网络之间的网络流量统计。

数据包分布情形:依据数据包大小、广播形态及IP与非IP等加以分类及统计。

协议使用及分布情形:本网络各主机传送与接收数据所使用的通讯协议种类与数据传输量。

经过Summary→Traffic查看总体流量(如图3所示),网络流量会以清晰的表格形式显示,如图3所示。

图3 查看总体流量

____ 在图3中,Summary内容为目前玩过的总体概况,包括流量,主机网络负载等。All Protocols选项能够查看各主机占用的带宽和各时段使用的 流量明细。IP显示网络主机的流量情况和排名;Utils能够显示ntop记录的网络情况、流量统计并能够将数据存储为txt,xml等格 式;Plugins包含了ntop所支持的插件类型;Admin选项能够对ntop进行配置,例如咱们能够配置Pcap Log的路径,这对于解决 Ntop数据占用磁盘空间问题颇有帮助,默认路径为/usr/local/ntop/var/ntop目录下。另外为了节约磁盘空间能够下降 Max Hashes和Max Sessions的值。此外还能够进行ntop重启中止等操做。另外,若是ntop启动失败,你能够到/var/log /messages中寻找错误日志。若是你须要设置开机自动启动还能够到/etc/rc.d/rc.local文件最后加入启动ntop的命令。若是你想 修改ntop外观能够编辑ntop的HTML文档、或CSS式样文件,这些内容在/usr/share/ntop/html目录下。

图4 以表格形式显示网络流量

4.查看通讯数据包(协议)比例

____ 数据包对于网络管理的网络安全而言具备相当重要的意义,如防火墙的做用就是检测网络中的数据包,判断其是否违反了预先设置的规则,若是违反就加以阻止。 Linux网络中最多见的数据包是TCP和UDP。若是想了解一个计算机传输了哪些数据,能够双击计算机名称便可分析出用户各类网络传输的协议类型和占用 带宽的比例,如图5所示。

图5查看协议类型和占用比例

5.与Google Map整合:Ntop中标注IP所在国家的位置

____ 选取Summary→Hosts World Map Ntop命令,与Google Earth(谷歌地球)进行技术整合,能将收集到的信息实时地在谷 歌地球上显示出来。首先要有Gmail帐号,而后到http://code.google.com/apis/maps/signup.html上申请 Google Maps API的密钥,成功后如图6所示。

图6注册使用Google Maps API

____ 接下来复制密钥,选择Admin→Configure→Preferences,这时会提示输入用户名、密码,如图7所示。

图7  定位到Admin→Configure→Preferences

____ 在如图8所示的界面中找到 google_maps.key 选项,并把密钥填写进去。注意,调整参数须要输入用户和密码,若是忘记了Ntop密码,能够经过root输入“/usr/sbin/ntop –A”来修改用户admin的密码。

图8 填写密钥

保存退出后,在Chrome 浏览器中再次选择Hosts World Map,配置完成。

注意:因为Google Maps的限制,不能跟踪全部IP地址。若是在设置时出现“ Please enable make sure that the ntop html/ directory is properly installed ”提示错误,多半是权限问题,可采用如下方法解决:

#chown -R ntop:ntop  /var/lib/ntop/

#chown -R ntop:ntop  /usr/share/ntop/

# ln -s /usr/share/ntop/html  /var/lib/ntop/

# /etc/init.d/ntop restart

6.数据转储功能

____ Ntop还支持把流量转储成其余格式(如文本文件、Perl、PHP、Python),以便其余外部程序能够对数据进行深加工。能够选择Utils→Data Dump命令,如图9所示。

图9定位到Utils→Data Dump

如咱们选择报告主机类型,格式为PHP。则转储数据以下:

'1.1.1.12' => array(

'hostResolvedName' => '1.1.1.12',

'pktSent' => 12628,

'pktRcvd' => 32668,

'ipv4BytesSent' => 1818480,

'ipv4BytesRcvd' => 30936426,

'bytesMulticastSent' => 0,

'pktMulticastSent' => 0,

'bytesMulticastRcvd' => 0,

'pktMulticastRcvd' => 0,

'bytesSent' => 1818480,

'bytesRcvd' => 30936426,

'ipv4BytesSent' => 1818480,

'ipv4BytesRcvd' => 30936426,

'ipv6BytesSent' => 0,

'ipv6BytesRcvd' => 0,

'tcpBytesSent' => 1813788,

'tcpBytesRcvd' => 30936426,

'udpBytesSent' => 4692,

'udpBytesRcvd' => 0,

'icmpSent' => 0,

'icmpRcvd' => 0,

),

7.查看网络流量图(Local Network Traffic Map)

____ 首先,在Admin→Configure→Preference中,配置dot.path的参数为 /usr/bin/dot,而后选择 IP→Local→Network Traffic Map,就能够看到一张反应各个主机流量流向的拓扑图,箭头方向表明数据的流向,鼠标点击相应的IP 地址就能看到很是详细的IP统计信息。图10是Ntop根据网络流量状况自动生成的拓扑图。

图10Ntop检测数据流向图

8.查看主机流量

____ 管理人员在查看了网络总体流量信息后,还但愿能深刻分析网络中的主机流量状况,从而进行流量限制等方面的管理工做,能够选择IP→Summary→Traffic,如图11所示。

图11 查看主机流量

查看传输层的会话,能明显看出接收和发送了多少数据包,如图12所示。

图12 查看传输层的会话

9.启用插件,Ntop还提供了5个插件,如图13所示。

图13 Ntop提供的插件

(1)ICMPWatch:用于端口检测,不少人都已经知道了能够借助“netstat –an”来查看当前的链接与开放的端口,但 netstat并非万能的,在遭到OOB攻击时,不等使用netstat命令,机器就已经死机了。为此,出现了一种特殊的小工具——端口监听程序。端口 监听并非一项复杂的技术,但却能解决一些局部问题。

____ 图中的图标  表示这是一台Linux主机,图标  表示是Windows主机,  表示邮件服务器,  表示是Web服务器。当咱们须要查看全部服务器发送流量的大小排序的,只要单击Byte下方的Sent便可,若单击Host下方的某一台主机,还能详细显 示当前主机的IP、主机名、MAC、每小时发送/接收数据包的大小、协议分布类型统计等信息,如图14所示,很是详细。

图14

(2)NetFlow:近年来,不少服务提供商一直使用NetFlow。由于NetFlow在大型广域网环境里具备伸缩能力,能够帮助支持对等点 上的最佳传输流,同时能够用来创建在单项服务基础之上的基础设施最优化评估,解决服务和安全问题方面所表现出来的价值,为服务计费提供基础。 NetFlow是一种数据交换方式,其工做原理是:NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存,随后一样 的数据基于缓存信息在同一个数据流中进行传输,再也不匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。

____ 下面咱们分两步走,首先在路由器上配置一个NetFlow转发流量,而后在Ntop上增长一个NetFlow接收流量。启用NetFlow,定位到 Plugins→NetFlow→Activate,而后添加设备,在NetFlow Device Configuration中选择 Add NetFlow Device选项,如图15所示,设置端口能够本身定义,只要不与现有的冲突就能够,接口地址填写打算监控的网段地址。

图15NetFlow的配置

图 16 网络接口选择

____ 接着,咱们须要在路由器上作设置,NetFlow早期都是在路由器上实现的,可是如今一些高端的交换机支持NetFlow,好比Cisco6500系列。

首先须要全局配置,启用NetFlow:

ip flow-export version 5

ip flow-sampling-mode packet-interval 100

在须要监控的Interface,启用NetFlow:

Interface FastEthernet 9/0/1

ip address 192.168.150.20 255.255.255.0

ip route-cache flow sampled

show ip cache fow //查看NetFlow统计信息

show ip flow export //查看NetFlow输出信息

____ 不是全部的NetFlow源设备都支持基于Interface的NetFlow,好比Cisco4500就不支持。也就是说它不能在某个 Interface配置打开NetFlow,要么全部端口启用,要么都不启用,重要的是没法区分不一样Interface上的流量状况,只能看到整个设备所 有的流量状况。

在实践中配置NetFlow须要注意如下两点:

(1)根据NetFlow流的单向性,部署NetFlow时应根据网络拓扑尽可能在边界的两个端设备上配置协议。

(2)对于Catalyst 6000三层交换设备,经过Supervisor Engine 1和MultilayerSwitch Feature Card CMSFC支持多层交换(MLS)来实现快速交换。

____ 而后,是Ntop的设置环节,这很重要,各个参数不能设置错误。首先是NetFlow的设备名称,能够随便填写一个。接下来是使用的端口,这里必定要填写 路由器上NetFlow的应用端口,例如3217。同时还要针对NetFlow监控的地址网段作设置,例如笔者的是 192.168.150.0/255.255.255.0。如图10.24所示,每项参数修改设置完毕后直接单击右边的按钮生效,完成后定位到菜单中的 Admin→switch NIC命令,找到咱们添加的这个NetFlow设备点Switch Nic按钮让其生效,生效后咱们就能够方便查看流量了,如 图17所示。

图17 查看流量

(3)rrdPlugin:用于生成流量图。RRD能够简单的说是MRTG的升级版,它比MRTG更灵活,更适合用Shell、Perl等程序来调用,生成所要的图片。

(4)sFlow:sFlow(RFC 3176)是基于标准的最新网络导出协议,可以解决当前网络管理人员面临的不少问题。sFlow已经成为 一项线速运行的“永远在线”技术,能够将sFlow技术嵌入到网络路由器和交换机ASIC芯片中。与使用镜像端口、探针和旁路监测技术的传统网络监视解决 方案相比,sFlow可以明显地下降实施费用,同时可使面向每个端口的全企业网络监视解决方案成为可能。与数据包采样技术(如RMON)不 同,sFlow是一种导出格式,它增长了关于被监视数据包的更多信息,并使用嵌入到网络设备中的sFlow代理转发被采样数据包,所以在功能和性能上都超 越了当前使用的RMON、RMON II和NetFlow技术。sFlow技术的独特之处在于它可以在整个网络中,以连续实时的方式监视每个端口,但不 须要镜像监视端口,对整个网络性能的影响也很是小。

(5)手机插件:这个功能颇有意思,咱们能够用智能手机,随时随地监控咱们的网络,如图18所示。

 

图18 手机插件

插件使用高清演示 : http://www.tudou.com/programs/view/Jvq8HOBDOuI/

Ntop在病毒查杀方面的应用

____ 某客户感染病毒案例:某天上班时间,网络性能忽然降低,致使很多用户没法上网传输文件。首先怀疑是设备故障,后来又查找了线路是否有问题,但都能ping 通从而一一排除,随后在Ntop检测的“IP协议”菜单中发现网络负荷维持在95%以上。在“Network Traffic:Data Sent”图表 中显示局域网中一台机器发送大量的数据包,这台机器的IP地址和MAC也能找到。基本能判定这台机器中了病毒在发送大量的UDP包,从而形成了广播风暴, 致使网络性能急速降低,如图19所示,是Ntop捕捉到的随机发送的地址列表。找到故障节点后,随后根据MAC-IP-墙点的对应,及时将这台机器隔离出 网络进行杀毒处理。

图19 病毒随机发送数据包列表

____ 除此以外,Ntop另外一个重要功能是探测DDoS类型攻击,主要是它能够经过分析网路流量来肯定网路上存在的各类问题,也能够用来判断是否有骇客正在攻击 网路系统,还能够很方便地显示出特定的网路协议、佔用大量频宽的 主机、各次通讯的目标主机、资料包的发送时间、传递资料包的延时等详细讯息。

___ 上面介绍了一些ntop工具的特色,不过还有不少因为篇幅限制没有给你们介绍,要知道Ntop这个工具只是Ossim平台的一个很小的模块,Ossim系 统中集成的ntop能够将netflow数据存入mysql数据库,并能够再下次系统启动后继续从数据库中读取,不会影响新生成的数据分析图。要了解 Ossim是什么,请参考个人其余有关博文或视频。

相关文章
相关标签/搜索