摘要:随着经济文化水平的显著提高,人们对生活质量以及工作环境的要求也越来越高。信息作为现代社会中赖以生存的精神食粮,越来越受到重视,大量的信息不断涌现在社会的各个角落,无论是生活还是工作,信息作为一项重要的财富,使得有效的安全性成为一种必须。因此,由各种信息的安全问题也就顺理成章的提上了日程。随着网络的飞速发展,信息安全逐渐成为一个潜在的巨大问题。信息安全性是一个涉及面很广泛的问题。伴随着各种信息被盗的问题,对安全性的需求也在急切的提高。数据包的监听与分析,可以为防火墙和杀毒软件提供网络信息的基本数据。 关键词:局域网;数据包;捕获 网络协议是网络类课程教学中的重点和难点,但由于网络协议具有很强的抽象性且对上层用户完全透明,传统的教授方式或教材自学很难让学习者深入理解协议的本质,达不到很好的学习效果。网络协议分析技术通过获取通信双方传送的数据包,文献[7]分析包中的协议内容及数据内容,并将数据的二进制流转化为可读性强的,易于理解的文本形式,让用户或管理员能及时进行网络诊断和故障排除,能够满足特定条件下专用网络的需要。 一、系统分析 1、可行性技术分析。本协议发生器采用结构化的开发方法,通过自顶向下的系统分析和自底向上的系统设计综合考虑了该系统所涉及的每个方面。利用多线程的技术,以C++为模板的功能实现语言,以MFC为系统GUI设计语言,以Windows系统为平台,采用TCP/IP协议,保证了数据传输的可靠性。整个系统的开发与应用对硬件要求不高,因此在技术上该协议发生器是可行的。 2、系统需求分析。用户需求分析:用户对本软件提出如下的要求。 功能需求:主要功能数据包构造,数据包发送,数据包捕获和分析必须完全实现,不能出现任何Bug。 性能需求:能保证软件在捕获到上千或上万条数据包时,软件不会运行失败,出现异常,能正常解析捕获的数据包,实时分析每条捕获的数据包。 高效性:要采用健壮的语言C++,能提高系统的运行效率和运行速度。 扩展性:应该考虑到其扩展性,能够适用到未来新的应用需求,将系统分模块化,减少模块与模块间的通信,降低其耦合度。 简洁性:界面人性化,操作便捷,使用简单,方便。 二、系统设计 1、系统框架设计。该系统主要包括用户界面管理模块,业务处理模块,数据包的发送模块,数据包的捕获模块,协议解析模块,存储模块等六大模块。 下面对各组成模块做如下简要说明: (1)用户界面管理模块。该模块的主要功能是将业务层的业务流程通过前端代码连接成用户层面的业务流程。 (2)业务处理模块。该模块的主要功能是以业务边界为限制,进行业务类的封装。 (3)数据包的发送模块。该模块的主要功能是利用用户界面管理模块对各种协议的数据包进行构造,构造完成后就可以进行数据包的发送了。 (4)数据包的捕获模块。该模块的主要功能是可以捕获到经过网卡的数据包。 (5)协议解析模块。该模块的主要功能是对捕获的数据包进行解析。 2、系統的功能关系图。 (1)协议构造管理模块: 本软件系统要求用户可以发送自己构造的不同协议的数据包,用户可以设置要发送的数据包各层协议首部的内容。 (2)数据包发送模块:用户可以自己设置要发送的数据包各层协议首部的内容,同时可以自己设置合法的源地址以及目的地址进行数据包的发送,通过某种判断机制辨别所构造的数据包是否合法。如果合法,则将用户自己构造的数据包,由用户指定的源地址发往用户指定的目的地址,计算数据包的校验和,通过设置发送策略实现数据包的发送功能。 (3)数据包捕获模块:选择活动网卡,点击开始捕获按钮,就可以捕获经过该活动网卡的数据包,我们通过设置过滤规则,选择不同类型的数据包,点击结束按钮,停止捕获数据包。 (4)数据包分析模块:捕获经过活动网卡的数据包,然后对数据包进行逐层分析,最后按照一定的格式直观的显示协议分析结果,分析的过程形成了一个协议分析层次树。 三、系统实现 1、系统的整体运行效果。 (1)系统主界面 (2)网卡绑定 在捕获数据包之前,首先要先绑定网卡,打开网卡其操作流程如下:点击下拉菜单就可以选择一个网卡,然后选择打开网卡按钮,就可以绑定一个网卡。 (3)对截获的数据包进行分析 通过对数据包的分析,我们可以判断通信双方的操作系统、网络信息流量、经过的路由、数据包的大小,以及数据包的内容等等。多数信息被盗一般都是通过分析数据包被盗的,通过掌握分析数据包的技术我们可以了解数据被盗的原理与技术,以及时的防盗。 四、结语 随着网络应用的不断普及和网络技术的不断发展,新的协议层出不穷,为了让学生更好的了解各种协议的组成部分深入研究TCP/IP协议栈,我们提供了这个网络协议发生器,通过捕获的数据包根据协议分析树对数据包进行分析,为我们后续进行网络安全检测提供了有利的条件。 参考文献 [1] 孙悦敏.网络协议分析方法的研究.中国学位论文全文数据库.2011.1. [2] 吴建平.基于Linux的双协议分析软件设计与实现.软件导刊.20098. [3] 王丽萍.基于Ethereal开源代码构建协议解析器的方法研究.计算机技术与发展.200710. [4] 李学莹.基于Winpcap的网络监控系统性能优化[J]。计算机工程,2004(1):9-11. [5] 高庆锋.基于TCP/IP协议网络数据报的截获并篡改的研究及实现[J].计算机安全,2007(4):26-30. [6] 王龙.网络协议分析工具的设计与实现. 中国学位论文全文数据库.2011.1. [7] 黄俊杰.基于Linux的网络协议学习系统.中国学位论文全文数据库.2009.11.