理工论文基于WinPcap的旁路IP阻断方法研究与实现.doc

上传人:仙人指路1688 文档编号:3924855 上传时间:2023-03-28 格式:DOC 页数:5 大小:29KB
返回 下载 相关 举报
理工论文基于WinPcap的旁路IP阻断方法研究与实现.doc_第1页
第1页 / 共5页
理工论文基于WinPcap的旁路IP阻断方法研究与实现.doc_第2页
第2页 / 共5页
理工论文基于WinPcap的旁路IP阻断方法研究与实现.doc_第3页
第3页 / 共5页
理工论文基于WinPcap的旁路IP阻断方法研究与实现.doc_第4页
第4页 / 共5页
理工论文基于WinPcap的旁路IP阻断方法研究与实现.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《理工论文基于WinPcap的旁路IP阻断方法研究与实现.doc》由会员分享,可在线阅读,更多相关《理工论文基于WinPcap的旁路IP阻断方法研究与实现.doc(5页珍藏版)》请在三一办公上搜索。

1、基于的旁路阻断方法研究与实现 基于的旁路阻断方法研究与实现是小柯论文网通过网络搜集,并由本站工作人员整理后发布的,基于的旁路阻断方法研究与实现是篇质量较高的学术论文,供本站访问者学习和学术交流参考之用,不可用于其他商业目的,基于的旁路阻断方法研究与实现的论文版权归原作者所有,因网络整理,有些文章作者不详,敬请谅解,如需转摘,请注明出处小柯论文网,如果此论文无法满足您的论文要求,您可以申请本站帮您代写论文,以下是正文。摘要:在审计系统中,需要阻止一些非法主机和子网的连接。基于WinPcap的网络开发包,捕获流经网卡的数据包,解析以太网数据包,并对那些非法主机进行阻断。利用hash表实现快速插入和

2、查询功能,提高了数据包的处理速度和效率,在实际中得到很好的应用。关键词:非法阻断;包捕获;哈希表;ARP欺骗引言随着Internet的迅猛发展,网络安全的形势更加严峻,迫切需要行之有效的网络安全保障系统。在网络安全审计系统中需要对那些产生危害的主机进行隔离,断开其和子网的连接。本文论述了在Win32环境中利用WinPcap捕获流经网卡的数据包,对那些非法主机采用ARP欺骗实施有效阻断。1用WinPcap捕获数据包1.1WinPcap简介WinPcap是由伯克利分组捕获库派生而来的分组捕获库,它是在Windows操作平台上来实现对底层包的截取过滤。采用WinPcap进行开发与使用Winsock相

3、比,WinPcap具有很多优点。WinPcap是独立于网络协议的,可以分析处理所有网络设备接收的数据。此外WinPcap的标准抓包接口与libpcap兼容,使系统便于向UNIX平台移植。而且WinPcap具有发送ARP数据包的能力。WinPcap的体系结构如图1所示。第1个模块NPF(netgrouppacketfilter)是一个虚拟设备驱动程序文件,它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块。第2个模块Packet.dll为win32平台提供了一个公共的接口,不同版本的Windows系统都有自己的内核模块和用户层模块。Packet.dll用于解决这些不同,调用Packet

4、.dll的程。序可以运行在不同版本的Windows平台上,而无需重新编译。第3个模块Winpcap.dll是不依赖于操作系统的,它提供了更加高层、抽象的函数。WinPcap提供了一套标准的抓包接口,充分考虑了各种性能和效率的优化,包括对于NPF内核层次上的过滤器支持,支持内核态的统计模式,提供了发送数据包的能力。1.2基于WinPcap的抓包流程在Windows平台下使用WinPcap很容易开发出基于原始数据包的各种网络应用软件。一般情况下,我们都用winpcap.dll提供的函数,因为它的功能更强,使用也更方便。(1)开启指定网卡。WinPcap提供了pcap_findalldevs()这个

5、函数来获取当前机器上所配置网络接口的内容,接口的全部信息都保存在pcap_if结构的链表中,链表的每项内容含有全面的网卡信息。pcap_open_live()是专门用于打开指定网卡设备的,第3个参数如果设置为1,则代表将网卡设置为混杂模式,同时该函数如果调用成功,则返回指定网卡的操作句柄。(2)设置过滤规则。用户可以根据需要设置相应的过滤条件,例如只接收UDP或TCP数据包,实现过滤规则的设置关键是对pcap_compile()和pcap_setfilter()两个函数进行正确的配置。(3)捕获网络数据包。WinPcap提供了几种捕包函数以适应不同的情况,例如pcap_dispatch()每捕

6、获一个数据包就调用一次callback函数。callback它是一个带有三个参数的回调函数。Pcap_loop()功能基本与pcap_dispatch()函数相同,只不过该函数在cnt个数据包被处理或出现错误时才返回,但读取超时不会返回,它在没有数据流到达时将阻塞。在回调函数中就可以对所捕获的数据包进行解析。1.3数据包的解析利用WinPcap库捕获的数据帧其实是经过传输层、网络层和数据链路层的封装而生成的太网数据帧,因此可以对数据帧作进一步解析,该过程在回调函数中完成。以太网数据帧由报头和数据区组成,在以太网帧的报头中包含目地址端及源地址,通常抓到的数据包已经去掉了同步码和桢分界符。在具体编

7、程实现中,可以定义以太网数据帧数据结构描述。根据类型字段type可以判断是那种数据包。常用的有:0x0800表示IP数据包,0x0806表示ARP数据包。通过对回调函数的第三个参数类型转换后,可以获得源/目的MAC地址。简要代码如下:ETHHDR*dlcheader;dlcheader=(ETHHDR*)pkt_data;memcpy(srcmac,(char*)&(dlcheader->src0),6);memcpy(destmac,(char*)&(dlcheader->dst0),6);同样根据IP数据包结构可以构造IP数据结构描述structIPHEADER,可以查阅相关资

8、料。由此可以从中解析出源目的IP、包长度、协议类型等信息。IPHEADER*ipheader;ipheader=(IpHeader*)(pkt_data+14);ip_len=(ipheader->h_len&0x0f)*4;memcpy(srcip,(char*)&(ipheader->sourceIP0),4);memcpy(destip,(char*)&(ipheader->destIP0),4);如果需要获得更多详细信息,如发送数据包的源目的端口,可以构造出UDP包的数据结构,不再赘述。至此,整个数据包的信息我们都能获得了,为下一步的分析处理奠定了基础。2快速判断处理

9、解析的IP地址网卡在不断地捕获数据包,根据数据流量的不同,有时可能产生大量数据,这需要我们及时进行处理。对一个捕获的数据包解析出有效信息后,就要迅速判断是不是合法主机发送的数据包,这个过程需要和在黑白名单里设置的合法主机IP进行比较,本实验采用了hash算法来实现这一过程。Hash查找法在实践中被证实是最快的一种查找方法,它的时间复杂度为O(1),即几乎只要比较一次就可确定比较结果。哈希算法采用了对ip各字段平方后求和,然后和地址长度取模的运算,把子网内所有ip散列到整个地址范围。在插入算法中,可能会对于不同的关键字,产生的地址冲突情况。程序采用了链地址法解决一旦发生的冲突。3发ARP包阻断非

10、法主机通过hash查找算法,判断为非法主机的要给予屏蔽。本实验采用截获网关数据的方式实现,它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。要防止这种情况的发生,需要在路由器端设置静态ARP表,对ARP表的更改只有网络管理员有这个权限,能很好达到目的。完整的ARP报文结构由以太网头部和ARP请求应答包组成,需要定义28字节的ARP包结构,然后将构造好的以太数据帧头与ARP数据包连在一起,成为ARP报文。在报文结构定义好后,就可以定义一个报文并把前面解析的数据按需

11、求填入,修改数据项如下。ethhdr.dst=ARP广播包地址ethhdr.src=虚假的源MAC地址ethhdr.type=ARP包类型etharp.arp_hrd=以太网硬件类型etharp.arp_pro=IP包etharp.arp_op=ARP请求类型etharp.arp_sha=构造的虚假MAC地址etharp.arp_spa=捕获包里非法主机的IPetharp.arp_tha=ARP广播包的目的地址etharp.arp_tpa网关地址ARP包封装好后,这就可以调用WinPcap提供的函数pcap_sendpacket()进行发包了。4软件设计本实验工具使用VisualC+6.0编程

12、平台,安装好WinPcap4.0.1驱动开发包,程序在本地机器或服务器上运行后,设置网卡为混杂模式,抓取流经网卡的所有数据包,解析网络包并和hash表里的已读取得合法IP判断,若存在则抛弃;否则,发虚假ARP广播包进行阻断。实验结果如图2所示。5结束语数据包捕获技术是网络管理系统的关键技术,WinPcap是在Win32平台进行网络捕包一个成功的选择。通过对局域网中的数据包进行捕获和分析,可以实时地、动态地对局域网内的所有主机进行监控和管理。在深入探讨WinPcap体系结构的基础上,利用ARP欺骗的原理,设计了对非法主机的阻断。结果表明程序能够很好地实现该功能。参考文献1李承,王伟钊,程立,等.

13、基于防火墙日志的网络安全审计系统研究与实现J.计算机工程,2002,2 基于的旁路阻断方法研究与实现是小柯论文网通过网络搜集,并由本站工作人员整理后发布的,基于的旁路阻断方法研究与实现是篇质量较高的学术论文,供本站访问者学习和学术交流参考之用,不可用于其他商业目的,基于的旁路阻断方法研究与实现的论文版权归原作者所有,因网络整理,有些文章作者不详,敬请谅解,如需转摘,请注明出处小柯论文网,如果此论文无法满足您的论文要求,您可以申请本站帮您代写论文,以下是正文。8(6):17-19.2胡晓元,史浩山.winpcap包截获系统的分析及其应用J.计算机工程,2005,31(2):96-98.3循序渐进

14、学习使用WinPcap.中国协议分析网.4严蔚敏,吴伟民,数据结构.北京:清华大学出版社,2004.5陈辉,陶洋.基于WinPcap实现对ARP欺编的检测和恢复J.计算机应用,2004,24(10):67-68.6丁展,刘海英.VisualC+网络通信编程实用安例精选M.北京:人民邮电大学出版社,2004.其他参考文献Baker, Sheridan. The Practical Stylist. 6th ed. New York: Harper & Row, 1985.Flesch, Rudolf. The Art of Plain Talk. New York: Harper & Broth

15、ers, 1946.Gowers, Ernest. The Complete Plain Words. London: Penguin Books, 1987.Snell-Hornby, Mary. Translation Studies: An Integrated Approach. Amsterdam: John Benjamins, 1987.Hu, Zhuanglin. 胡壮麟, 语言学教程 M. 北京: 北京大学出版社, 2006.Jespersen, Otto. The Philosophy of Grammar. London: Routledge, 1951.Leech, G

16、eoffrey, and Jan Svartvik. A Communicative Grammar of English. London: Longman, 1974.Li, Qingxue, and Peng Jianwu. 李庆学、彭建武, 英汉翻译理论与技巧 M. 北京: 北京航空航天大学出版社, 2009.Lian, Shuneng. 连淑能, 英汉对比研究 M. 北京: 高等教育出版社, 1993.Ma, Huijuan, and Miao Ju. 马会娟、苗菊, 当代西方翻译理论选读 M. 北京: 外语教学与研究出版社, 2009.Newmark, Peter. Approach

17、es to Translation. London: Pergmon P, 1981.Quirk, Randolph, et al. A Grammar of Contemporary English. London: Longman, 1973.Wang, Li. 王力, 中国语法理论 M. 济南: 山东教育出版社, 1984.Xu, Jianping. 许建平, 英汉互译实践与技巧 M. 北京: 清华大学出版社, 2003.Yan, Qigang. 严启刚, 英语翻译教程 M. 天津: 南开大学出版社, 2001.Zandvoort, R. W. A Handbook of English Grammar. London: Longmans, 1957.Zhong, Shukong. 钟述孔, 英汉翻译手册 M. 北京: 商务印书馆, 1983.Zhou, Zhipei. 周志培, 汉英对比与翻译中的转换 M. 上海: 华东理工大学出版社, 2003.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号