Libnids概述

来源:互联网 发布:曙光服务器安装linux 编辑:程序博客网 时间:2024/05/22 22:47

一、概述

       Libnids(Library Network Intrusion Detection System)是一个用于网络入检测开发的专业编程接口。它实现了基于网络的入侵检测系统的基本框架,并提供了一些基本的功能。使用Libnids可以快速地构建基于网络的入侵监测系统,并可以在此基础上进一步扩展开发。Libnids实现了入侵检测系统的底层功能,使开发者可以专注于高层的功能开发。

       Libnids是基于Libpcap和Libnet而开发,所以它具有Libpcap和Libnet的优点,具有较强的移植性,效率高,使用简单。Libnids是仿照Linux 2.0.x内核中的TCP/IP协议部分而实现的,具有高可靠性,并通过了很多测试。

       Libnids的主要功能包括捕获网络数据包、IP碎片重组、TCP数据流重组以及端口扫描攻击检测和异常数据包检测等。Libnids使用了Libpcap捕获数据包的功能,它是仿照Linux内核中的IP重组而实现的,所以非常可靠。Libnids提供了TCP数据流重组功能,这是Libnids所不具备的,利用TCP数据流重组,可以分析基于TCP协议的各种应用层协议。另外,Libnids还提供了检测TCP端口扫描攻击的功能,检测异常数据报的功能,这是入侵检测系统(IDS)最基本的功能。

       Libnids是由Rafal Wojtczuk而开发的,很多其他人人员也参与了开发。Libnids可以在多个平台下运行,包括Linux,Solaris以及各种BSD类操作类型。在Windows平台下有对应的开发包Libnids是在GPL许可证下发布的,可以从网站上直接下载,其主页为:http://libnids.sourceforge.net/。

二、Libnids的适用范围

      总结起来,Libnids可以用在一下几个方面,但并不局限于此。

      1、入侵检测系统

       Libnids的设计是作为入侵检测系统的一个部件来设计的,它实现了入侵检测系统中非常基础的功能,如数据包捕获、协议分析接口等。另外,它还专门针对入侵检测系统的特性,实现了TCP数据流重组更能,这对于分析对TCP协议的各种攻击是很有效的。还有,他已经实现了IP碎片重组功能、对异常数据包的检测功能以及对TCP端口扫描的检测功能。最重要的是,Libnids为入侵检测系统更深入的开发提供了开发接口。因此,开发人员可以更关注与对入侵检测技术的研究,而不用考虑底层的实现细节。

       2、网络协议分析

       Libnids是在Libpcap基础上开发的,所以它具备了Libpcap的功能,可以实现各种协议的分析,并在Libpcap的基础上开发了更多有用的功能,如TCP数据流重组。这样,在利用Libnids分析基于TCP的各种协议时,不仅可以分析各种单个TCP数据包,而且可以分析整个TCP连接过程。这对于分析FTP协议、HTTP协议、POP3协议等基础TCP的应用层协议是非常有帮助的。

       3、网络嗅探

       网络嗅探也称网络监视,主要是指检测网络信息,查看网络内容。针对不同的目的,有各种各样的网络嗅探。例如,对于网络管理员来说,为了掌握整个网络的运行状况,想检测网络出现的故障,他可以利用网络嗅探技术来获得所需的内容,如密码、用户,账号等。所以说,Libnids是一把双刃剑。除此之外,利用Libnids还可以重现网络内容,还原网络数据,如重现HTTP协议中传输的网页、pop3协议中传输的电子邮件等。


0 0