6 网络数据包分析系统的测试分析 6.1 测试方案与测试环境 本课题设计并开发的网络数据包分析系统包括数据包捕获,数据包解析及存储,数据包信息统计分析,数据包信息显示。针对系统的主要功能,制定的测试方案是:数据包捕获测试,数据包解析及存储测试,数据包信息统计分析测试,数据包信息显示测试。 测试是在校园网宿舍进行,主机系统是WindowsXP,XP操作系统上装有VMWARE5.1使用Unbuntu6.10操作系统,XP操作系统相当于网关。 网络数据包分析系统:Ubuntu6.10+libpcap0.8+mysql+apach2.0+php5.0 网络环境:校园网10M以太网。 计算机硬件:AMD1.6+512M+8G+100M网卡。 6.2 测试结果 6.2.1 数据包捕获 测试目的是验证系统是不是可以捕获到达网卡上的数据包。 测试要求是打开本系统,在主机上进行正常的网络操作来产生必要的网络数据包,观测捕获结果。 测试结果发现系统显示捕获数据的时候,所有数据连在一起,不容易区分和查看。经改进在数据前加上分割符号,以及数据包的ID,使数据看起来很清晰。改进后系统顺利完成数据包的捕获,并在终端显示捕获的结果如图6-1。 6.2.2 数据包解析及存储 测试的目的是验证系统是不是可以解析捕获的数据包,并把解析到的数据信息存储的数据库中。 测试要求是打开本系统,在主机上进行正常的网络操作来产生必要的网络数据包,正常情况下可能无法产生多个类型的数据包,这时需要进行一些特殊的操作来产生不同协议的数据包。观测终端中的捕获结果,打开mysql数据库查看是否有数据。解析的截图如图9。 通过测试发现系统可完成大部分常见的网络数据包的解析及存储,目前可解析的数据包有:Ethernet包头,LLC,ARP/RARP,IP,TCP,UDP,DHCP,DNS,ICMP。存在的问题是由于本人知识有限,系统并不能解析所有的协议包头,希望通过以后的进一步学习在以后的学习中完善本系统。 6.2.3 数据包信息简单分析 测试目的是验证分析结果的正确性和合理性。 测试要求是打开本系统,在主机上进行正常的网络操作来产生必要的网络数据包,等待数据包捕获完毕后,点击分析数据包信息,分析模块会在apach目录下生成一个html文档来显示结果。然后通过apachh+php网页查看数据包信息的分析结果。 通过测试发现数据包信息分析模块可以对常见的网络攻击进行一定的检测,可检测的异常有Land 攻击,TCP SYN攻击,Ping Of Death攻击,WinNuke攻击,TCP/UDP端口扫描,synscan端口扫描等,但是这些判断比较简单,缺乏敏感度,同时对于依赖于主机工作类型及环境的主机,需要提供准确的系统正常状态下的工作特征数据。分析结果如图10。
6.2.4 数据包信息显示 测试目的是观察显示模块是不是可以正常并合理的显示捕获并解析的数据包信息,还有分析结果的显示。 测试要求是打开本系统,在主机上进行正常的网络操作来产生必要的网络数据包,等待数据包捕获完毕后,点分析数据包信息,通过网页查看数据包信息的解析信息以及分析结果,一共十四个页面。 测试发现十四个页面均可正常显示数据包解析后的信息及信息分析结果,显示信息的原则是尽量合理的显示使用者经常用到的信息。显示的数据并非数据库中的所有信息,因为数据库中信息太多,并非所有的数据都是经常有用的。页面只对查看频率比较高的信息进行了显示。显示结果如图11。 结 论 本文主要介绍了本人对网络数据包分析工具的设计、实现、测试。另外本文也对相关的理论知识及开发工具等进行了介绍。 首先,本文介绍了网络数据包分析的意义和作用;然后介绍网络数据包分析系统的基本结构和实现过程中常用的技术,主要有介绍了libpcap, apach, mysql, php等技术。 其次,本论文的核心部分系统的设计和实现,主要运用libpcap实现数据包的捕获,对etnernet, LLC, arp/rarp, ip, tcp, udp, icmp, dns, dhcp 协议包头进行了解析并把数据包信息存储到数据库中,分析模块实现了对数据包信息的统计分析,并在显示模块中显示分析结果,同时显示模块提供了显示捕获到的数据包解析信息的功能,增强了系统的功能。系统开发平台是:Ubuntu(6.10)+Libpcap(0.8)+Apache(2.0)+Mysql+Php5,编辑器使用的是Emacs,编译器是gcc,调试工具是gdb。可以看到选用的工具及开发包等均为开源或免费软件工具,这样即降低开发成本,又避免了版权的问题。这是系统的特点之一。 最后,由于作者水平有限,所以论文中难免出现错误和不足,主要体现在:在数据包捕获模块使用的是软件捕获,对网络速度很快的主机会出现丢包和影响网络速度。在解析模块本系统可解析的协议只是最常见的协议,并不是所有协议。目 录 论文总页数:26页 1 引言 1 1.1 课题背景 1 1.2 国内外研究现状 1 1.3 本课题研究的意义 1 1.4 本课题的理论基础 1 2 网络数据包分析系统概述 2 2.1 网络数据包分析的意义 2 2.2 网络数据包分析的核心技术基础 2 2.3 网络数据包分析系统的主要功能 2 3 网络数据包分析系统的设计 3 3.1 系统模块划分 3 3.2 数据包捕获模块设计 4 3.3 数据包解析存储模块设计 4 3.4 数据包信息分析模块设计 5 3.5 数据包信息显示模块设计 6 4 网络数据包分析系统的解决方案 6 4.1 数据包捕获模块的解决方案 7 4.2 数据包解析及存储模块解决方案 7 4.3 数据包信息分析模块解决方案 8 4.4 数据显示模块解决方案 8 5 网络数据包分析系统的实现 8 5.1 系统控制模块实现 9 5.2 数据包捕获模块实现 10 5.3 数据包解析及存储模块实现 12 5.4 数据包信息分析模块实现 14 5.5 数据包信息显示模块实现 15 6 网络数据包分析系统的测试分析 17 6.1 测试方案与测试环境 17 6.2 测试结果 17 6.2.1 数据包捕获 17 6.2.2 数据包解析及存储 17 6.2.3 数据包信息简单分析 18 6.2.4 数据包信息显示 19 结 论 20 参考文献 21 致 谢 22 声 明 23 附 录 24
|