资源描述:
《入侵实验三snort的安装配置.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、湖南大学入侵检测技术实验报告实验四基于WinPcap的网络入侵检测系统的设计与开发一、实验框架实现总体分为三个部分,一个利用winpcap开发包进行数据采集和预处理,输出数据包基本内容(包头)到文本文档;一个将匹配算法整合成可用静态库;一个调用匹配算法的静态库检测文本文档信息,由手工输入特征库,输出屏幕结果作为响应模块。使用win7旗舰版、VisualC++6.0,、winpcap4.13、winpack4.0二、winpcap安装配置(一)点击winpcap.exe安装winpcap驱动:1.C:WINDOWS
2、system32目录下自动生成:wpcap.dll,packet.dll2.C:WINDOWSsystem32drivers下自动生成:npf.sys(二)winpcap-4.1.3在VC++6.0配置环境:1.需要在程序中使用了WinPcap中提供给Win32平台的特有的函数,在预处理中加入WPCAP 的定义。操作:工程->设置->c/c++->预处理器定义:加上“,WPCAP”2.程序使用了WinPcap的远程捕获功能,那么在预处理定义中加入HAVE_REMOTE。操作:工程->设置->c/c++->预
3、处理器定义:加上“HAVE_REMOTE”3.设置VC++的链接器,把wpcap.lib和ws2_32.lib库文件包含进来。操作:工程->设置->连接->常规->对象/库模块:加上“Packet.libwpcap.libws2_32.lib”5.添加一个新的库所在的路径操作:工具->选项->目录->目录下拉列表选择“Libraryfiles”->路径点击添加开发包wpnpack里的lib文件夹的路径,我这里是“D:WpdPack_4_0WpdPackLib”6.添加一个新的包含文件所在的路径操作:工具->选
4、项->目录->目录下拉列表选择“include”->路径点击添加开发包wpnpack里的include文件夹的路径,我这里是“D:WpdPack_4_0WpdPackInclude”湖南大学入侵检测技术实验报告湖南大学入侵检测技术实验报告一、模块具体实现利用winpcap开发包进行数据采集和预处理详细代码见<数据采集.cpp>1.定义了以太网协议、ARP协议、IP协议、UDP协议、TCP协议、ICMP协议格式2.实现TCP协议、UDP协议、ICMP协议、ARP协议、IP协议、以太网协议分析的函数,其定义方式与
5、回调函数相同3.实现主函数pcap_t*pcap_handle;/*Winpcap句柄*/charerror_content[PCAP_ERRBUF_SIZE];/*存储错误信息*/char*net_interface;/*网络接口*/structbpf_programbpf_filter;/*BPF过滤规则*/charbpf_filter_string[]="";/*过滤规则字符串*/bpf_u_int32net_mask;/*掩码*/bpf_u_int32net_ip;/*网路地址*/net_interface
6、=pcap_lookupdev(error_content);/*获得可用的网络接口*/pcap_lookupnet(net_interface,&net_ip,&net_mask,error_content);/*获得网络地址和掩码地址*/pcap_handle=pcap_open_live(net_interface,BUFSIZ,1,1,error_content);/*打开网路接口*/pcap_compile(pcap_handle,&bpf_filter,bpf_filter_string,0,net_i
7、p);/*编译BPF过滤规则*/pcap_setfilter(pcap_handle,&bpf_filter);/*设置过滤规则*/if(pcap_datalink(pcap_handle)!=DLT_EN10MB)湖南大学入侵检测技术实验报告return;pcap_loop(pcap_handle,-1,ethernet_protocol_packet_callback,NULL);/*注册回调函数,循环捕获网络数据包,利用回调函数来处理每个数据包*/pcap_close(pcap_handle);/*关闭Win
8、pcap操作*/将匹配算法整合成可用静态库详细代码见和主要是两个算法,BF匹配算法和KMP匹配算法,还有Rabin-Karp匹配算法和AC-BM多字符匹配算法//BF算法intBF_Find(string&s,string&t,int&index);//KMP算法voidGetNext(string&s,int*n