目 录
论文总页数: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
结 论
本文主要介绍了本人对网络数据包分析工具的设计、实现、测试。另外本文也对相关的理论知识及开发工具等进行了介绍。
首先,本文介绍了网络数据包分析的意义和作用;然后介绍网络数据包分析系统的基本结构和实现过程中常用的技术,主要有介绍了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。可以看到选用的工具及开发包等均为开源或免费软件工具,这样即降低开发成本,又避免了版权的问题。这是系统的特点之一。
最后,由于作者水平有限,所以论文中难免出现错误和不足,主要体现在:在数据包捕获模块使用的是软件捕获,对网络速度很快的主机会出现丢包和影响网络速度。在解析模块本系统可解析的协议只是最常见的协议,并不是所有协议。