在网络的入口处对应用程序的识别是非常重要的,无论是网络安全产品,还是专业的流量分析引擎,应用流量的准确识别不但可洞悉整个网络的运行情况,而且可针对具体需求做用户行为的准确管控,这在一定程度上既可保证业务流的高效运行,也可预防由于内网中毒引起的断网事件。

最近在河南项目的几台windows流媒体服务器流量使用很高,需要监控每天的带宽使用情况,并根据具体的情况做相应的调整!前期部署监控的系统的时候网络流量方面采用cacti统一监控,服务方面采用nagios统一监控并报警!实际的使用过程中,流媒体带宽很快就超过了100Mb,cacti出图方面的信息极为不准确,google一番,类似的情况很多,主要反应为snmp
32位的问题,按照如下的文章折腾一番后,问题依旧! 
http://www.linuxidc.com/Linux/2013-07/87381p2.htm

然而,要准确识别应用流量,从技术实现上讲并不简单,难度主要体现在识别的算法及检测深度。算法不但要解决流量的分类,而且要负责在多个分类中查找特征,所以最好的算法往往带来的是精确的识别;另一个就是检查数据的深度,深度总是和性能关联,检查的越多,消耗的系统资源越多。因此,检查一个流的前20个包所付出的性能代价往往是超乎想象的,这就是我们提到的识别难度。

图片 1

对于识别方法来说,从技术角度看,检查一个应用特征主要有三种方法。第一种方法称为标准检测,主要靠识别报头信息的地址和端口,这种方法常见于做QoS的网关设备。第二种方法称为DPI深度包检测),这是业界常用的术语,绝大多数设备声称具有这样的技术,常见于”下一代内容检测系统”及UTM类设备。从理论上,数据流中每个报文的任意字段或数据流传输过程中的任何特征都可以作为应用协议识别的依据,但实际上,如何快速选择最有效的数据流特征信息的难度远远超过了您的想象。第三种方法称为解密检测方法,就是将数据流送入一个分类器,数据流被分类之后,将加密数据流送入一个解密引擎,解密引擎通过预置的解密算法对数据解密,解密后再次返回分类器进行检查。如天融信TopFlow就采用这种技术来识别加密数据,通过这种独有的技术,使得精确识别率能达到99%以上。

从图片上看,改为In/Out bits(64-bit Counters)后,就直接不出图了,In/Out
bits则出图,但数据完全不对!随便看下服务器的带宽使用,任何时刻都超过100Mb

当然,在我们介绍应用流量识别时有几个概念需要介绍:

图片 2

数据流:基于应用层协议识别的对象不能只是简单的检查单个报文,而是要将数据流作为一个整体来检测。因此,数据流是指在某个会话生命周期内,通过网络上一个检测节点的IP数据报文的集合。实际上,一个节点发送的数据流的所有属性是相同的。

于是继续排查,发现貌似windows系统本身不支持snmp 64bit counters,参考:

数据流分类:利用数据流以及数据流中报文的某些信息,可将网络上的数据流进行分类,这种分类可加速应用流量的分类,如游戏应用数据流通常是小报文,而P2P流一般称为大报文。

数据流类别:数据流类别是一个大型网状结构的分类器,按照行为特征及签名进行归类。在数据流分类问题中,每个类别可能包含某些属性类似的多种协议,典型的如IE下载即包括了多个类别,有分块下载,有伪IE下载等,有另存单线程下载等,而协议识别必须对流进行更精细的分类,使得每个类别中的流只使用一种应用层协议。

于是改用nagios直接监控网卡的计数器数据

协议识别:协议识别是指检测引擎根据协议特征,识别出网络数据流使用的应用层协议。

[root@bak ~]# /usr/local/nagios/libexec/check_nt -H “ip address” -p
12489 -v COUNTER -l ‘\Network Interface(Broadcom NetXtreme Gigabit
Ethernet)\Bytes Total/sec’,”Total_Bytes/s %f”  -w 78643200 -c
85196800
Total_Bytes/s 21052800.000000 | ‘Total_Bytes/s
%f’=21052800.000000%;78643200.000000;85196800.000000;

应用协议特征字符串:特征字符串是协议归类的关键依据,字符串特征举例协议特征字符串

发现数据大致正确,(21052800/1024/1024)*8 =
160Mb,于是直接写入配置文件,使用check_nrpe插件调用

ftp特征字符串acct、cwd、smnt、port;

define service{
        use                    local-service
        host_name              ip address
        service_description    Network  traffic
        check_command          check_nt!COUNTER!-l ‘\\Network
Interface(Broadcom NetXtreme Gigabit Ethernet)\\Bytes
Total/sec’,”Total_Bytes/s %f”  -w 78643200 -c 85196800
        notifications_enabled          1
        }

smtp特征字符串HELO、EHLO、MAIL FROM:、RCPT TO:、VRFY、EXPN;

图片 3

pop3特征字符串+OK、-ERR、APOP、TOP、UIDL;

图片 4

新葡新京,6047acom ,msn 特征字符串包括msg、nln、out、qng、ver、msnp;

OICQ特征字符串开头第一个字节:0x02,第四、五字节:协议号;

sip特征字符串REGISTER、INVITE、ACK、BYE、CANCEL、SIP;

eMule特征字符串开头第一个字节:0xe3 或 0xc5 或 0xd4;

应用流量协议特征检测方法

数据流检测方法主要分为四个层次,让我们描述一下从最简单到最复杂的检测过程。

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章