网络监控的原理与技术

| 2009年3月23日星期一

  From: http://www.hackddos.com.cn/article.asp?id=614

 1.硬件

  尽管有一些产品需要特殊的硬件,但大多数的产品工作在标准的网络适配器上。如果用的是特殊的网络适配器,就能分析例如CRC错误,电压错误,电缆问题,协商错误等。

  2.捕包驱动

  这是最重要的部分,它从线路上捕获网络通信,并根据你的需要进行过滤,接下来将它存储在缓冲区中

  3.缓冲区

  一旦从网络上捕获数据帧,它们被存在缓冲区中。存在几种的捕获方式:捕获通信,直到缓冲区被添满,或用循环的缓冲区,就是用新的数据替代老的数据。有一些产品(就像BlackIceSentry IDS)能以100兆比特秒的速度在硬盘上维持一个循环捕包的缓冲区。这将允许你拥有数百个成G的缓冲区而不是基于内存的不足1G的缓冲区。

  4.实时分析

  这个特性是网络监控所倡导的,就是在数据帧离线进行一定的分析。这能发现网络性能问题和在通信捕获中的错误。一些厂家正沿着这条路线在它们的产品中加入一些新的功能。网络入侵检测系统就是这样做的,但是它们是对于通信中黑客的行为标记进行详细的审核而不是对错误/性能问题进行处理。

  5.解码

  就是显示网络通信的内容,这样一名分析者将会十分容易地获得相关信息并依据这些信息分析出网络上究竟发生了什么。

  6.包编辑/转发

  有一些产品具有这样的特性,就是使你能编辑自己的网络包,再转发出去

  可见,数据捕获部分又可以分为硬件实现部分软件实现部分,硬件部分就是相应的计算机的网络接口设备,软件部分有许多的开放源码,例如着名的libpcap以及其在Windows平台上的应用版本Winpcap等。

  协议分析是对于获取的数据按照TCP/IP的标准进行重组和解剖,将满足应用功能的数据交给应用功能部分。例如,在为了记录WWW通信中的URL,必须将获取的数据解析到应用层。

  应用功能部分则是根据监控目的的不同,具有不同的实现,在内容监控中,对于不同应用协议监控的实现功能是不同的。

总之,实施网络监控首先需要收集网络中的通信数据。收集通信信息的工具很多,例如嗅探器、信息包捕获器(如tcpdump)等。

与同样基于网络监听技术的入侵检测系统相同,网络监控系统在收集网络数据时本着只收集有用信息的原则,这样就能减轻其通信分析的负担。某些计算机入侵检测系统,如NFR SecurityNID以及 http://www.iss.net/ RealSecure

收集网络中的通信数据时,要着重明确一点:只收集有用的信息,且信息量要尽可能少。但是在实际应用中除非网络通信量很小否则这种方式的实现十分不易。在网络监控系统中可以通过对于网络数据的多层过滤来实现数据处理量的精简。譬如在内容监控系统中如果仅仅需要监控基于TCP的应用,则可以首先过滤掉其他无须处理的数据包。

加强网络监控的功能不仅需要减少网络监控系统的数据处理数量提高其处理的效率,而且由于监控的目标范围不同,其所要收集的网络通信中数据范围自然也就不同。

例如,对于某一指定的服务器进行监控,则将监控系统放到离该服务器越近越好,这样网络监控系统尽可能不遗漏与该服务相关的一切通信数据,提高监控的效果。

对于一段局域网进行监控的时候,关注网络边界的情况很重要,但网络内部的通信也不容忽视,特别是当内部网的主机为内部提供未经授权服务的时候。这时网络监控系统的放置位置需根据实际情况而定。因此,网络监控系统的功能的强弱不仅仅和其实现直接相关,而且和网络监控系统的布置密切相关

  网络监控和防火墙这类访问控制软件不同,它是作为网络上的监视者而存在的,因此它不应该阻止网络的通信,因此网络监控和入侵检测系统一样,采用的是网络监听技术(也可以称为是网络嗅探技术)来获取基本的网络通信的数据,并在此基础上实现对于数据的进一步的分析。

0 评论: