资料详情

LINUX C PHP 网络数据包分析工具的设计与开发(毕业论文+毕业设计)

头像

Linux

编号:2883

目  录

论文总页数: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。可以看到选用的工具及开发包等均为开源或免费软件工具,这样即降低开发成本,又避免了版权的问题。这是系统的特点之一。

最后,由于作者水平有限,所以论文中难免出现错误和不足,主要体现在:在数据包捕获模块使用的是软件捕获,对网络速度很快的主机会出现丢包和影响网络速度。在解析模块本系统可解析的协议只是最常见的协议,并不是所有协议。