论文部分内容阅读
摘要:介绍了入侵检测系统的设计原理和整体框架。阐述并实现了入侵过程以及相应的规则解析引擎。
关键词:入侵检测 数据包捕获 网络安全 漏洞扫描
中图分类号:TP393.08 文献标识码:A 文章编号:1002-2422(2008)03-0041-02
1 入侵检测系统的构成与实现
系统主要由5个模块组成:网络数据包捕获模块、网络协议分析模块、响应模块、入侵事件检测模块、规则解析模块。网络数据包捕获模块是系统最开始的部分,主要功能就是从以太网中捕获数据包。如何捕获数据包,在Linux系统中,可以使用系统底层调用来实现,也可以使用相应的高层调用来实现。为了提高数据包的捕获效率,系统使用了一个在Linux下非常流行的捕获机制,即BPF机制。
1.1网络数据包捕获模块的设计与实现
网络数据包捕获模块,首先将网络接口设为混杂模式,将网络上的数据包捕获下来,供协议分析模块使用。
网络监听模块的过滤功能的效率是模块的关键,对于网络上的每一个数据包都会使用模块过滤,判断是否符合过滤条件。为提高效率,数据包过滤应该在系统内核里来实现。系统采用了专门为数据监听应用程序设计的开发包Libpcap来实现该功能,开发包里内置了内核层实现的BPF过滤机制和许多接口函数。
1.1.1设置网络接口为混杂模式
网络接口的混杂模式使得一个网络接口设备从只能读取目标地址为6字节MAC地址的数据包,变为可读取网络广播媒体中的所有数据包。
1.1.2用socket函数来打开Socket设备。sock=socket(AF_PACKET,SOCK_RAW,htons(ETH_P_ALL))
domain域使用AF_PACKET,能够既接收链路层也接收网络层的数据包。
1.1.3接收数据
使用recvfrom()函数来实现接收数据包:recvfrom(sock。(char*)buf,sizeof(bur),O,(struet soekaddr*)
关键词:入侵检测 数据包捕获 网络安全 漏洞扫描
中图分类号:TP393.08 文献标识码:A 文章编号:1002-2422(2008)03-0041-02
1 入侵检测系统的构成与实现
系统主要由5个模块组成:网络数据包捕获模块、网络协议分析模块、响应模块、入侵事件检测模块、规则解析模块。网络数据包捕获模块是系统最开始的部分,主要功能就是从以太网中捕获数据包。如何捕获数据包,在Linux系统中,可以使用系统底层调用来实现,也可以使用相应的高层调用来实现。为了提高数据包的捕获效率,系统使用了一个在Linux下非常流行的捕获机制,即BPF机制。
1.1网络数据包捕获模块的设计与实现
网络数据包捕获模块,首先将网络接口设为混杂模式,将网络上的数据包捕获下来,供协议分析模块使用。
网络监听模块的过滤功能的效率是模块的关键,对于网络上的每一个数据包都会使用模块过滤,判断是否符合过滤条件。为提高效率,数据包过滤应该在系统内核里来实现。系统采用了专门为数据监听应用程序设计的开发包Libpcap来实现该功能,开发包里内置了内核层实现的BPF过滤机制和许多接口函数。
1.1.1设置网络接口为混杂模式
网络接口的混杂模式使得一个网络接口设备从只能读取目标地址为6字节MAC地址的数据包,变为可读取网络广播媒体中的所有数据包。
1.1.2用socket函数来打开Socket设备。sock=socket(AF_PACKET,SOCK_RAW,htons(ETH_P_ALL))
domain域使用AF_PACKET,能够既接收链路层也接收网络层的数据包。
1.1.3接收数据
使用recvfrom()函数来实现接收数据包:recvfrom(sock。(char*)buf,sizeof(bur),O,(struet soekaddr*)