当前位置: 首页 > 毕业资源下载

静态网页设计与制作作业成品

基于PHP网络数据包分析工具的设计与开发(源代码+论文)免费下载

 摘要:

   当前,随着信息化发展,网络安全问题日渐突出,网络攻击日益泛滥,所以网络信息安全就变的非常重要。网络主机必须有足够的安全措施,否则网络的价值就会贬值。本系统的开发就是为了给网络使用者提供一个有用的网络数据包分析工具。本系统有四个主要功能:数据包的捕获、数据包解析、数据包信息分析和数据包信息的显示。为了实现系统功能,本系统选择在ubuntu(Linux)、libpcap、apache、mysql和php的平台上开发,操作系统和软件开发包全部为开源免费的软件,这也是本系统的一个重要特点。本系统首先用libpcap捕获数据包,然后用C语言,并以TCP/IP协议为理论基础解析数据包,解析得到的信息存储到mysql数据库中。数据包信息分析模块从mysql数据库中读取数据,对信息进行统计分析,并对网络信息状况进行安全描述。最后通过apache和php技术来显示数据库信息。通过测试本系统实现了数据包捕获、解析、信息分析、信息显示,为使用者了解当前的网络数据包状况提供了很好的参考。

关键字:

网络数据包;TCP/IP;数据包解析;数据包信息分析;攻击特征


     目录:

屏幕截图 2020-12-19 154859.png

屏幕截图 2020-12-19 154933.png



网络数据包分析系统概述:

网络数据包分析的意义

凡是看过经典电影《黑客帝国》并且使用过网络数据包分析工具的人,应该都会有像电影中那个坐在一大堆的控制面板前解码像水流一样从屏幕上连续滑落的信号的“操作者”一样的感觉。
电影中的操作者处理的是生死的问题,而在现实中,数据包分析工具的使用者们处理的也是同样重要的问题。其对数据包进行检修及侦测的能力,对网络及依托于网络的行业都是至关重要。
数据包分析工具的生存期还很长,这主要是因为对于那些需要有目的地进行7×24小时网络管理的行业来说,数据包分析工具可以提供令企业更容易接受和消化的网络分析数据。

网络数据包分析的核心技术基础

数据包分析是一TCP/IP协议为基础的。说到TCP/IP就不能不提OSI,TCP/IP协议并不完全符合OSI的七层参考模型。OSI是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了 4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。[3]这4层分别为:
应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

网络数据包分析系统的主要功能

软件都是为应用才设计的,所以软件能提供什么样的功能就很重要了。网络数据包分析工具要实现四个功能,数据包的捕获,数据包的解析,数据包信息分析,数据包的信息显示。数据包的捕获和解析是系统的基础部分,数据包信息的分析和显示是对数据的处理部分。四个模块相互协调共同对当前主机的网络数据包进行分析。
在网络数据包分析工具的设计过程中,网络速度是不可不考虑的。网络和网络速度的发展给网络监测带来了新的挑战。在普通PC上基于Linux实现的数据包分析相关的系统,在面临高速链路的情况下越显力不从心。所以如何快速的捕获数据包就十分重要。数据包解析技术是数据包分析的基础。对数据包进行解析,是基于数据包分析的工具要解决的核心问题,构造数据包的协议有很多种,要根据构造数据包的协议对该包进行处理,要正确理解在网络中传输的单元,进而才能很好地控制网络单元的传输,实现数据包的分析。网络数据包的分析是对捕获解码的数据包信息进行统计分析,是输出结果的部分。数据包信息的显示是提供的是人性化的辅助作用。


网络数据包分析系统的设计:
整个网络数据报分析工具采用模块化的设计思想,原因是许多程序太长或太复杂,很难写在单一单元中。如果把代码分为较小的功能单元,将大大简化编程过程。模块化程序一般比单块程序容易编写、调试和修改。所以本系统采用模块化的设计思想。
模块化编程的优点如下:
(1)有效率的程序开发:使用模块化方法可以更快地开发程序,因为较小的子程序比大程序更容易理解、设计和测试。定义好模块的输入和输出之后,程序员可以给模块提供需要的输入,通 过检测输出来判断模块的正确性。然后由连接器把分立的模块连接、定位,生成一个单一的绝对地址的可执行的程序模块。最后,测试整个模块。
(2)子程序可以重用:为一个程序编写的代码经常可以用于其它的程序。在模块化编程中,可以把这些部分保存起来,以备将来使用。因为代码可以被重定位,所以保存的模块可以连接到满足其输入和输出要求的任意程序中。而在单块程序编程中,这样的部分深埋在整个程序中,不易被其它的程序使用。
(3)便于调试和修改:模块化程序一般比单块程序易于调试。因为精心定义了程序的模块接口,很容易把问题定位到特定的模块。一旦找到了有问题的模块,更正问题就相当容易了。

系统模块划分

网络数据包分析工具有四个模块组成:一是 数据包的捕获,实现从网卡获取数据包。二是 数据包的解析,这两个模块是整个分析工具的基础部分,在整个系统中有着重要的作用,三是 捕获信息的分析,此模块主要是对捕获的信息进行统计,并与设定的特征值进行比较,得出简单的分析结论,四是 显示捕获数据包的信息,目的是为使用者提供一个方便进行手工分析的方式。四个模块之间的调用关系如图1。
 

图片12.png


数据包捕获模块设计

此模块是先从网卡获取各种数据包信息并复制到缓存,等待解析模块的调用。这个模块的关键部分是快速的捕获数据包,减少丢包的比率。
数据包捕获是以以太网为基础的。以太网(Ethernet)具有共享介质的特征,信息是以明文的形式在网络上传输IEEE802.3标准的以太网采用的是持续 CSMA 的方式,正是由于以太网采用这种广播信道争用的方式,使得各个站点可以获得其他站点发送的数据。运用这一原理使信息捕获系统能够拦截的我们所要的信息,这是捕获数据包的物理基础。[1]
以太网是一种总线型的网络,从逻辑上来看是由一条总线和多个连接在总线上的站点所组成各个站点采用上面提到的 CSMA/CD 协议进行信道的争用和共享。每个站点(这里特指计算机通过的接口卡)网卡来实现这种功能。网卡主要的工作是完成对于总线当前状态的探测,确定是否进行数据 的传送,判断每个物理数据帧目的地是否为本站地址,如果不匹配,则说明不是发送到本站的而将它丢弃。如果是的话,接收该数据帧,进行物理数据帧的 CRC 校验,然后将数据帧提交给LLC 子层[1]

数据包解析存储模块设计

在上一模块实现了数据包的捕获,并复制到缓存。解析模块主要是实现根据数据包的协议包头进行数据信息的解析,并做出适当的解释,最后把数据放入数据库中。等待分析模块读取数据。目前解析的协议有etnernet, LLC, arp/rarp, ip, tcp, udp, icmp, dns, dhcp协议包头进行了解析并把数据包信息存储到数据库中。
数据包头的解析主要是根据数据包协议的格式进行有意义字段的读取。下面以ARP协议报头来说明整个解析的过程。
首先,必须了解ARP/RARP协议的报头格式,格式如图2。
 

图片13.png


字段含义
硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1;协议类型字段:指明了发送方提供的高层协议类型,IP为0800(16进制);硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;发送方的硬件地址(0-3字节):源主机硬件地址的前3个字节;发送方的硬件地址(4-5字节):源主机硬件地址的后3个字节;发送方IP(0-1字节):源主机硬件地址的前2个字节;发送方IP(2-3字节):源主机硬件地址的后2个字节;目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;目的IP(0-3字节):目的主机的IP地址。[3]
根据协议的格式定义,报头数据结构体(具体定义在后面给出)。进行类型的转化后对数据进行读取,并进行必要的解释。在这里最重要的是数据包的协议格式的定义。如果定义的结构有问题,后面的数据提取将是无意义的。
数据包信息的存储,是把提取的数据包头信息存储到一个地方,等待后面数据包信息分析模块的查询。存储信息要求,存入和提取信息都必须迅速,同时,要提供强大的查询功能来满足分析模块对数据的需求。

数据包信息分析模块设计

本模块的功能是通过对捕获到的数据包信息,进行简单的统计分析,对当前的网络安全情况做出合理的评价。
通过对数据包的分析,我们可以判断数据包的大小,数据包的包头信息,协议信息,以及数据包的内容等等。对于研究网络安全的人来说,掌握这方面的知识是相当重要的。现在的网络通信中,大部分数据都没有加密,我们可以轻易地从数据包中提取账号,密码之类我们关心的数据。另外,对数据包整体的信息统计也是数据包分析的一个方面。在前面的模块中我们获得了大量的数据包信息,在这个模块中我们要利用这些信息进行分析。把从数据库中查询得到的数据与入侵特征数据进行比较得到现在的网络安全分析结果。
数据包信息分析流程如图3。
 

屏幕截图 2020-12-19 155706.png



数据包信息显示模块设计

数据包信息显示模块的目的是给使用者提供一个可以查看数据包信息的窗口,原则是尽力合理的显示数据包的有用信息。数据包信息将采用多种不同排列的信息显示方式,比如按IP归类,按端口归类等等。同时信息分析模块的分析结果将生成一个网页类型的文档,可以通过网页的形式来查看最后的分析结果,还应该具备安全特征的输入窗口。
信息的显示并不一定是数据库里的所有信息,主要是提供给使用者最想看的信息。信息的显示方式是表格形式,有利于使用者对数据包的信息有比较直观的了解,以便做出正确合理的判断。

最新毕业设计成品

版权所有© 帮我毕业网 并保留所有权利

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩