毕业设计(论文)-股票软件监控系统的设计与实现.doc

上传人:西安人 文档编号:3286376 上传时间:2019-08-08 格式:DOC 页数:49 大小:797.02KB
返回 下载 相关 举报
毕业设计(论文)-股票软件监控系统的设计与实现.doc_第1页
第1页 / 共49页
毕业设计(论文)-股票软件监控系统的设计与实现.doc_第2页
第2页 / 共49页
毕业设计(论文)-股票软件监控系统的设计与实现.doc_第3页
第3页 / 共49页
毕业设计(论文)-股票软件监控系统的设计与实现.doc_第4页
第4页 / 共49页
毕业设计(论文)-股票软件监控系统的设计与实现.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《毕业设计(论文)-股票软件监控系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-股票软件监控系统的设计与实现.doc(49页珍藏版)》请在三一文库上搜索。

1、毕业设计(论文)题 目: 股票软件监控系统的设计与实现 学 院: 计算机学院 专 业: 信息与计算科学 学生姓名: 班级/学号 指导老师/督导老师: 起止时间: 2010年3月1日 至 2010年6月25日 摘要网络以及股票行业的发展在为我们带来高效率、创造巨大价值的同时,也给我们带来了一系列不可避免的问题:员工工作效率低下,工作质量受到影响等等。因此,一个关于规范管理股票软件使用的系统显得异常重要。本文介绍针对于股票软件的上网行为管理系统,详细解说从开发环境搭建到软件测试的全过程,它通过数据包捕获机制捕获数据,分析数据得出股票软件交互信息的协议以及其他软件类型、来源MAC地址等信息,然后通过

2、软件类型对其进行实时监控、阻断。同时还融入了用户注册登陆的功能,对保护系统的安全起到了一定的作用。关键字:数据包捕获、协议分析、上网行为管理、数据监控阻断AbstractNetworks and shares the industrys development of high efficiency for us to create tremendous value,but also brought us a series of unavoidable problems: low employee productivity,work quality, etc. are affected. Thu

3、s, a stock of standard management system software was extremely important. This article describes the software for online behavior in the stock management system, a detailed explanation of the software from the development environment set up to test the entire process, it is captured by the data pac

4、ket capture mechanism data, analysis of data obtained in the agreement share information and interact with software other software types, sources MAC address information, and then type their real-time control software, block. Also registered into the user login function to protect the security of th

5、e system.Keywords:Packet capture, protocol analysis, Internet behavior management, data control block目 录摘要IIAbstractII目 录III第1章 引言11.1 本章引论11.1.1 背景11.1.2 发展现状11.1.3 研究的意义11.2 研究内容和技术难点21.2.1 研究内容21.2.2 技术难点21.3 论文贡献21.4 论文结构3第2章 开发平台及软件简介52.1 LAMP平台简介52.1.1 Mysql数据库简介52.1.2 Apache网络服务器简介52.2 网络安全开发

6、包简介62.2.1数据包捕获开发包libpcap62.2.2 网络入侵检测开发包libnids6第3章 相关工作原理分析93.1 数据包捕获原理93.1.1 Libpcap的工作原理93.1.2 Libpcap的抓包框架:103.2 网络协议分析原理113.3 IP碎片和流重组原理113.3.1 IP碎片重组原理113.3.2 流重组原理123.4 阻断模式及原理13第4章 需求分析与初步设计154.1 用户目标154.2 系统的综合需求154.2.1 功能需求154.2.2 性能需求164.3 系统初步设计164.3.1 系统总体框架设计164.3.2 模块功能说明16第5章 详细设计与实现

7、195.1 开发环境的搭建与配置195.1.1 操作系统的安装195.1.2 VMware tools的安装195.1.3 网络安全开发包的安装(Libpcap+Libnet+Libnids)195.1.4 Apache服务器, Mysql数据库的安装配置205.2 系统界面设计225.3 主要模块的详细设计225.3.1 数据库表格设计235.3.2 登陆模块设计245.3.3 数据库读取模块设计255.3.4 数据库过滤模块设计265.3.5 监控模块设计275.3.6 阻断模块设计285.4 TCP协议分析285.4.1 TCP协议的报文格式285.4.2 TCP的连接295.5 编码的

8、实现305.5.1 网络扫描编码的实现305.5.2 TCP数据包捕获分析编码的实现315.6捕获数据并分析325.7 根据捕获数据分析股票软件类型33第6章 系统测试356.1 软件测试基本知识及方法356.2 测试主要内容366.3 测试用例366.4 测试结果37结论39结束语40参考文献41V股票软件监控系统的设计与实现lu第1章 引言1.1 本章引论1.1.1 背景虽然中国的证券历史并不悠久,但随着经济快速的增长,证券行业也飞速发展,越来越多的群众涉及证券。股票是金融产品中最为广大人民熟知的一种, 因此对股票的分析研究也越来越需要。随着网络的发展,网上炒股成了人们理财的便利渠道,因此

9、也越来越多的专业人士投入到股票软件的开发当中。市场上有着各种各样的股票软件,如“大智慧”、“国泰君安”等;也有正在开发股票软件的专业公司,他们以金融结构化产品和金融衍生产品为主要服务范围,从事以开发创拓股票分析系列软件、开发财经门户网站和股票经纪服务为主的金融产品服务。面对各种各样的股票软件,为了不耽误正常工作,公司等机构对其的监控管理成了首要问题,本课题的研究实现对于股票软件的监控管理有着重大的意义。1.1.2 发展现状目前,国内研发软件监控系统著名的单位有:深圳任子行网络技术有限公司,深信服科技有限公司,成都天易成软件有限公司等等。他们研发了各种功能的网络管理系统,如,任子行公司开发的任子

10、行互联网管理系统V4.5以及天易成网络管理系统。其中天易成网管系统集成了当前几乎所有流行的股票软件的监控,如:大智慧、同花顺、广发至强版、龙卷风、钱龙、国元证券软件、分析家2006、麒麟短线王至尊版、光大证券超强版、光大证券股票交易/基金交易、中投证券、广通达等,并且天易成网管对股票软件的控制极为简单,点点鼠标就可以实现对这些股票软件的完全封堵,同时天易成软件公司也可以根据客户的需求定制特定的股票软件封堵规则,保证了客户可以实时控制各种股票软件。1.1.3 研究的意义研究本课题能最基础的解决了各种股票软件的监控管理,通过对股票监控系统的学习开发还可以让读者掌握一些其他网络系统、网络安全系统核心

11、技术。对这个项目课题的完整设计实现有助于读者对学过课程的融会贯通,如对计算机网络,C语言,信息安全技术,数据结构等等的运用开发。能熟练掌握Linux操作系统下的C语言编程,熟练掌握基于TCP/IP协议的网络程序设计与开发技术,熟悉基于开源软件的系统设计与开发流程,掌握应用协议特征分析方法,积累项目开发经验。1.2 研究内容和技术难点1.2.1 研究内容主要工作是设计实现后台监控程序,采用C语言开发,其网络抓包与底层协议分析平台基于开源软件包libpcap、libnet、libnids搭建,通过对流行股票软件“大智慧”、“国泰君安”,“同花顺”等进行实际抓包采样,分析获得数据包的源地址、源端口、

12、目的地址、目的端口、所使用的协议等等数据,确定其应用协议特征,并基于此特征实现对股票软件的监控。具体研究内容主要包括:基于linux操作系统和开源软件包搭建底层平台;分析确定股票软件应用协议特征;采用C语言编写后台程序完成对股票软件的识别,并将结果输出。具体平台搭建如下图所示:图1.1平台构造图1.2.2 技术难点本课题实施方案的重点在于平台的搭建和编写后台监控程序以及对软件传递数据的抓包采样,分析捕获的数据报文源IP地址、目标IP地址、端口、协议。由于网络传递数据复杂,通信协议不同,异构性突出等原因对课题的研究开发增加了不少难度。1.3 论文贡献由于计算机网络技术的高速发展,股票交易对网络需

13、求的日益增加以及越来越多的群众涉及股票,因此,采用监控系统对股票软件的管理成为一个重要的研究热点。基于当前和未来的实际应用需求,本文研究了股票软件的监控管理技术,主要贡献包括:1.提出了基于linux+apache+mysql+php平台的网站前台界面开发,让读者对于LAMP这个网站开发平台有更多深入的了解。2.提出了linux操作系统下mysql的安装、配置及使用。Mysql是一个小型关系型数据库管理系统,被广泛地应用在Internet上的中小型网站。3. 提出了基于libpcap+libnet+libnids构造的协议分析平台,本文重点对网络协议经行深入探讨,使读者迅速掌握协议分析技术并了

14、解各个网络协议的原理,同时简单介绍libpcap+libnet+libnids的功能。1.4 论文结构 根据研究内容和相应的研究成果,本文的组织结构如下:第2章详细介绍本文研究所涉及的软件开发包。第3章详细讲解相关机制的工作原理。第4章对本课题进行需求分析和初步设计,完成大概规划。第5章根据前一章的分析,进行系统开发的总体设计,包括平台的搭建,数据库建立,前台界面实现,数据包捕获分析等主要系统模块的实现。第6章系统测试,了解软件测试基本知识和方法,对各个模块功能进行测试。结论参考文献第2章 开发平台及软件简介软件的开发工具很多,了解软件开发所用的平台和工具有助于读者了解软件的性能和实现,所以这

15、里专门用一章介绍一下本系统所用的平台以及软件的基本情况及安装方法。2.1 LAMP平台简介LAMP这个特定名词最早出现在1998年,用来指代Linux 操作系统、Apache网络服务器、Mysql 数据库和PHP脚本语言的组合(由四种技术的开头字母组成)。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。LAMP构成了一个强大的、高性能的web应用平台,具有易于开发、更新速度快、安全性高、成本低等特点,因此被许多开发者视为“黄金组合”。当前,国外最知名的三大BBS软件提供商IPB

16、、VBB、PHPBBS、均基于LAMP平台;在国内,排名前200名的网站就有61%采用LAMP技术。接下来详细介绍LAMP最主要的两部分:Mysql数据库及Apache网络服务器。2.1.1 Mysql数据库简介Mysql是瑞典MySQLAB公司开发的一个多人使用的sql资料库Server。Mysql主要的目的是快速、稳定和容易使用,因此他是Linux最常用的数据库系统。根据资料显示Mysql具有以下特性:1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。 2.支持AIX、FreeBSD、HP-UX、Linux等多种操作系统。 3.为多种编程语言提供了API。这些编程语言

17、包括C、C+、PHP等。 4.支持多线程,充分利用CPU资源。5.优化的SQL查询算法,有效地提高查询速度。 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持。7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 8.提供用于管理、检查、优化数据库操作的管理工具。 9.可以处理拥有上千万条记录的大型数据库。2.1.2 Apache网络服务器简介Apache是世界使用排名第一的web服务器软件,他几乎可以运行在所有广泛使用的计算机平台上,Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器

18、软件之一。如同前文介绍的Mysql一样,Apache也有着独特的性质:1.支持HTTP/1.1通信协议 2.拥有简单而强有力的基于文件的配置过程 3.支持通用网关接口 4.支持基于IP和基于域名的虚拟主机 5.支持多种方式的HTTP认证 6.集成Perl处理模块 7.集成代理服务器模块 8.支持实时监视服务器状态和定制服务器日志 9.支持服务器端包含指令(SSI) 10.支持安全Socket层(SSL) 11.支持FastCGI2.2 网络安全开发包简介网络安全开发包的种类非常繁多,其实现的功能也千差万别,新的网络安全开发包不断涌现,很多不成熟的网络安全开发包在不断壮大。本研究课题中所已使用的

19、有以下3个:网络数据包捕获开发包libpcap、数据包构造及发送开发包libnet和网络入侵检测开发包libnids。其中在本课题中主要研究数据包的捕获及分析,所以涉及较少的数据包构造,因此以下只详细介绍一下libpcap和libnids这两个开发过程中最重要的开发包。2.2.1数据包捕获开发包libpcapLibpcap是由Berkeley大学的Van Jacobson、Craig Leres和Steven McCanne编写的,该函数库支持linux、solaris和bsd系统平台。其开发语言是C语言,也有其他语言支持的libpcap。Libpcap(the packet capture

20、library)是一个平台独立的网络数据包捕获开发包。他是一个高层的编程接口,隐藏了操作系统的细节,可以捕获网络上的所有数据包,包括到其他主机的数据包。Libpcap中利用了BPF过滤机制,可以过滤掉网络上不需要的数据包从而捕获用户感兴趣的数据包,并且还可以把数据包信息从文件中读出。总结起来,libpcap的作用主要有以下三个方面:1.捕获各种网络数据包,这是该开发包最大的功能。2.过滤网络数据包,使用一个非常简单的过滤规则过滤各种数据包3.分析网络数据包,可以对数据包进行分析操作,并且提供数据的基本信息,如捕获时间,数据包长度等等。4.存储网络数据包,可以不马上对其进行分析,存储起来留后分析

21、2.2.2 网络入侵检测开发包libnidsLibnids(library network instrusion detection system)是一个用于网络入侵检测开发的专用编程接口。Libnids主要功能包括捕获网络数据包,IP碎片重组,TCP数据流重组以及端口扫描攻击检测和异常数据包检测等。Libnids是基于libpcap和libnet开发的,所以他具有两者的优点,具有较强的移植性,效率高,使用简单。它提供的流重组功能对于分析基于TCP协议的各种协议都能胜任,IP碎片进行重组以及端口扫描检测对于分析网络异常情况也是非常有效的。总结以来,libnids可以使用于以下几个方面,但不局限

22、于此: 1.入侵检测系统,实现入侵检测系统中非常基础的功能,如数据捕获,协议分析接口的,为入侵检测系统更深入的开发提供了开发接口。 2.网络协议分析,具备libpcap的功能。并在libpcap基础开发了更多的功能,不仅可以分析单个TCP数据包,还可以分析整个TCP连接过程。对于分析FTP协议,HTTP协议等基于TCP的应用协议是有非常重要的作用的。 3.网络嗅探,主要检测网络信息,查看网络内容。针对不同的目的有各种各样的网络嗅探。另外,利用libnids还可以实现网络内容重现,还原网络数据,如pop3协议中传输的电子邮件等。第3章 相关工作原理分析对一个系统进行研究开发之前,必须对其过程及各

23、部分工作原理有深刻的了解。因此,以下一起探讨本课题相关的原理3.1 数据包捕获原理以本文中的捕获数据包开发包libpcap为例说明捕获原理,其数据包捕获机制流程如图:pcap_lookupdevpcap_open_livepcap_setfilterpcap_looppcap_handlePacket_callback图3.1 数据包捕获流程图3.1.1 Libpcap的工作原理本文捕获数据包程序是通过libpcap开发,libpcap(Packet Capture Library),即数据包捕获函数库,是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户层包捕获的AP

24、I接口,为底层网络监测提供了一个可移植的框架。libpcap主要由两部份组成:网络分接头(Network Tap)和数据过滤器(Packet Filter)。网络分接头从网络设备驱动程序中收集数据拷贝,过滤器决定是否接收该数据包。Libpcap利用BSD Packet Filter(BPF)算法对网卡接收到的链路层数据包进行过滤。BPF算法的基本思想是在有BPF监听的网络中,网卡驱动将接收到的数据包复制一份交给BPF过滤器,过滤器根据用户定义的规则决定是否接收此数据包以及需要拷贝该数据包的那些内容,然后将过滤后的数据给与过滤器相关联的上层应用程序。Libpcap的包捕获机制就是在数据链路层加一

25、个旁路处理。当一个数据包到达网络接口时,libpcap首先利用已经创建的Socket从链路层驱动程序中获得该数据包的拷贝,再通过Tap函数将数据包发给BPF过滤器。BPF过滤器根据用户已经定义好的过滤规则对数据包进行逐一匹配,匹配成功则放入内核缓冲区,并传递给用户缓冲区,匹配失败则直接丢弃。如果没有设置过滤规则,所有数据包都将放入内核缓冲区,并传递给用户层缓冲区。3.1.2 Libpcap的抓包框架:1)查找网络设备函数名称:char *pcap_lookupdev(char *errbuf) 函数功能:用于返回可被pcap_open_live()或pcap_lookupnet()函数调用的网

26、络设备名指针。返回值:如果函数出错,则返回NULL,同时errbuf中存放相关的错误消息。2)获取数据包捕获描述字函数名称:pcap_t *pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char *ebuf) 函数功能:获得用于捕获网络数据包的数据包捕获描述字。 参数说明:device参数为指定打开的网络设备名。snaplen参数定义捕获数据的最大字节数。Promisc 指定是否将网络接口置于混杂模式。to_ms参数指*定超时时间(毫秒)。ebuf参数则仅在pcap_open_live()函数出错返回NULL

27、时用于传递错误消息。3)编译字串至过滤程序函数名称:int pcap_compile(pcap_t *p, struct bpf_program *fp,char *str, int optimize, bpf_u_int32 netmask) 函数功能:将str参数指定的字符串编译到过滤程序中。参数说明:fp是一个bpf_program结构的指针,在pcap_compile()函数中被赋值。optimize参数控制结果代码的优化。netmask参数指定本地网络的网络掩码。4)指定过滤程序 函数名称:int pcap_setfilter(pcap_t *p, struct bpf_progra

28、m *fp) 函数功能:指定一个过滤程序。参数说明:fp参数是bpf_program结构指针,通常取自pcap_compile()函数调用。 返回值:出错时返回-1;成功时返回0。5)捕获和处理数据包pcap_loop()函数pcap_dispatch()函数用于捕获数据包,捕获后还可以进行处理。6)获取下一个数据包 函数名称:u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h) 函数功能:返回指向下一个数据包的u_char指针7)pcap_close()函数用于关闭网络设备,释放资源。3.2 网络协议分析原理由于网络的核心是网络协议,所以网络

29、协议分析技术在网络安全领域也是一项重要的技术。网络协议分析是指对网络上的数据进行相应的写一份。网络上的协议多种多样,产生的数据也是不同的,但一个数据归根结底还是基于协议产生的,也就是说任意一个网络数据都是用了一定的协议。现在流行的协议时TCP/IP协议栈,它里面最核心的协议有以太网协议,ARP/RARP协议,IP协议,UDP协议,TCP协议,ICMP协议等等。根据TCP/IP协议层次的概念,对网络数据包的协议分析是从链路层开始的。首先分析数据包的链路层协议,如以太网协议等。其次,根据链路层协议的分析结果分析网络层协议,判断网络层的协议是什么,如IP协议等。然后再根据网络层协议分析的结果分析传输

30、层协议,如TCP,UDP协议等。最后根据传输层协议分析应用层协议,如HTTP协议,FTP协议等。这样,一层一层的分析下去,就可以把整个数据包的协议都分析出来。当前,使用网络协议分析技术已经设计了专门的网络协议分析系统和各种网络嗅探器,如著名的网络嗅探器Tcpdump和Windump,著名的网络协议分析系统Ethereal等。网络协议分析技术还可以应用到其他各种系统中,可以说是各种网络安全系统的基础,掌握网络协议分析的原理对于研究和设计其他网络安全系统是很有裨益的。3.3 IP碎片和流重组原理在TCP/IP网络中,链路层具有最大传输单元MTU这个特性,他限制了数据帧的最大长度,不同的网络类型都有

31、一个上限值,这个参数定义了可以通过的数据包的最大尺寸。如果一个数据包大于这个参数时,系统会将其划分成更下的数个数据包(称之为IP碎片)来传输,而接收方则对这个IP碎片再进行重组以还原整个数据包。IP碎片重组是IP层的一项重要工作,以下讲解其原理。3.3.1 IP碎片重组原理网络入侵检测开发包libnids具有IP碎片的重组功能,利用libnids库提供的库函数来实现IP碎片重组。定义一个ip_callback()回调函数,然后调用libnids库中的nids_register_ip()函数对ip_callback()进行注册来实现对没有分片的或已经完成IP碎片重组的并且头部的正确性已经校验的数

32、据包的处理。当IP数据包被分片后,每个片的总长度值要改为该片的长度,分片和重组所需的信息保存在IP首部中,如图所示:图3.2 IP首部示意图标志字段:发送端IP数据包标志字段是一个唯一值,该值在分片时被复制到每个片中。标志字段R:保留未用;标志字段DF:部分片位,若置位,则IP层将不对数据包分片;标志字段MF:更多的分片,除了最后一片外,其他每个组成数据包的分片都要把该比特置位。分片偏移字段:该分片偏移原始数据包开始出的位置。偏移的字节数是该值乘以8,所以除最后一个分片外,其他分片的数据长度都是8字节的倍数。3.3.2 流重组原理TCP流重组使用伸展树定位TCP会话。以源IP地址、目的IP地址

33、、源端口、目的端口四元组作为其伸展树节点间比较的关键字,每一个TCP会话连接包含两个数据流,一个存储客户端到服务器的数据;另一个存储服务端到客户端的数据。这两个数据流以BST结构组织,序号为比较的关键词。整个结构如图所示:TCP会话伸展树服务器数据客户数据Tcpnode图3.3 TCP会话原理图TCP流重组原理流程如下:(1)对接受到的数据包,根据该包的源IP地址、目的IP地址、源端口、目的端口在TCP会话伸展树查找相应的TCP会话。(2)如果TCP会话伸展树中存在该TCP会话,则找到该会话。如果该包的数据载荷大于0,则根据该包的数据流来自客户方还是服务方,插入到相应的存储结构中。插入时比较序

34、号,把该报文段承载的数据报保存在存储结构的正确位置。(3)否则当数据库连接建立时,根据该报文的源IP地址、目的IP地址、源端口、目的端口,创建一个TCP会话,分配数据流的BST结构,设置相应初始序号,超时时钟,设置TCP的会话时间戳,将这个新的TCP会话插入到TCP会话伸展树中。(4)序号校验:若来自客户端,则满足Seq=server.last_ack;Seq+n=server.last_ack+max(server.win_size+1);Ack=client.last_ack;Seq+n=client.last_ack+max(client.win_size+1);Ackclient.la

35、st_ack-ssn-client.base_seq)ssn-flush_point(7)连接一方在CLOSE状态,将该方在缓存中的数据还原,关闭连接。(8)如果连接超时或者接受到关闭连接的FIN报文段时,则回收该TCP会话。从TCP会话伸展树上删掉该会话。3.4 阻断模式及原理阻断功能大概分为4种模式:旁路、旁听(共享式HUB、端口镜像)、网关、网桥,他们的工作原理及优缺点如下所述:1旁路模式:基本采用ARP欺骗方式虚拟网关,让其他计算机将数据发送到监控计算机。只能适合于小型的网络,环境中不能有限制旁路模式,路由或火墙的限制或被监视电脑安装了ARP火墙都会导致无法旁路成功2旁听模式:通过共享

36、式HUB、端口镜像方式来获取网络上的数据实现监控,通过抓取总线MAC层数据侦方式而获得监听数据,并利用网络通讯协议原理发送带RST标记的 IP包封堵TCP连接以破坏TCP连接实现控制的方法。3网关模式:是把本机作为其他电脑的网关(设置被监视电脑的默认网关指向本机),常用的是NAT存储转发的方式,简单说有点像个路由器工作的方式,因此控制力极强,但由于存储转发的方式,性能多少有点损失,不过效率已经比较好了4网桥模式:双网卡做成透明桥,而桥是工作在第2层的,所以可以简单理解为桥为一条网线,因此性能是最好的几乎没有损失。本研究系统采用旁路模式基于ARP欺骗达到数据阻断功能,以下介绍ARP欺骗的具体原理

37、:第一步:假设这样一个网络,一个Hub或交换机连接了3台机器,依次是计算机A,B,C。A的地址为:IP:192.168.1.1 MAC: AA-AA-AA-AA-AA-AAB的地址为:IP:192.168.1.2 MAC: BB-BB-BB-BB-BB-BBC的地址为:IP:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC 第二步:正常情况下在A计算机上运行ARP -A查询ARP缓存表应该出现如下信息。Interface: 192.168.1.1 on Interface 0x1000003 Internet AddressPhysical Address Type 192

38、.168.1.3 CC-CC-CC-CC-CC-CC dynamic第三步:在计算机B上运行ARP欺骗程序,来发送ARP欺骗包。B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A不知道被伪造了)。而且A不知道其实是从B发送过来的,A这里只有192.168.10.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址。第四步:欺骗完毕在

39、A计算机上运行ARP -A来查询ARP缓存信息,会发现原来正确的信息现在已经出现了错误。第4章 需求分析与初步设计从本章开始正式介绍软件开发的过程.根据软件工程的方法开发过程如下图示:用户的需求需求分析系统总架构总体设计系统模块设计和实现总体设计系统测试找出系统错误和不足图4.1 软件开发流程图所谓需求分析就是了解用户究竟需要什么。需求分析是一个建模的过程,是软件开发中十分重要的一个环节,软件后期开发中的很多问题都是由于需求分析做得不够或是做的不当造成的,并且根据错误放大原理,需求分析阶段遗留下来的问题造成的危害也是最大的。4.1 用户目标所谓用户目标就是用户期望系统所能实现达到的效果。本文研

40、究的功能是针对股票软件的,分为后台和前台界面两个部分,需实现以下功能:1.编写登陆界面,防止非工作人员使用,破坏系统。2.基于捕获数据开发包编写后台程序捕获网络数据进行协议分析,并将数据存储进入Mysql数据库。3.通过php脚本语言编写的前台实现连接Mysql数据并表格形式显示数据库内容,实现实时能够查看最新捕获的数据。4.由于网络数据繁杂且数量众多,实现显示数据库内容的翻页功能,这有利于用户对数据的查看。5.设置筛选过滤功能,查看满足查找条件的数据。6.能够阻断或监控(解除阻断或监控)指定股票软件。7.实现多个股票软件能够同时阻断或监控(解除阻断或监控)。4.2 系统的综合需求系统的综合需

41、求是指从各个角度来确定系统的要求,其中最重要的是功能需求,但是功能需求不是系统的唯一要求。4.2.1 功能需求根据上一节用户的目标,系统应当根据用户的需求实现功能.下面列举系统应当实现的功能:1.能够设置过滤参数,实现有选择过滤数据。2.能够选择多个股票软件,对其进行阻断。3.出现新的股票软件,可以添加对其的监控。4.数据库内容的翻页跳页查看功能。4.2.2 性能需求由于本系统主要是对网络数据包的捕获分析及数据库的操作,主要考虑的是数据捕获后的分析处理。系统的数据量会比较大,所以捕获数据尽量要纯净,避免杂乱无用的数据影响分析处理速度。4.3 系统初步设计上一节分析了用户的系统需求,本节根据这些

42、需求对系统框架的设计进行分析,然后确定系统的总体框架。尤其是针对较为复杂的系统,更需要对系统主要功能模块和各模块之间的关系进行深入的分析。4.3.1 系统总体框架设计监控系统分为数据库系统,登陆系统以及阻断机制系统。监控系统功能模块划分如图所示: 登陆模块数据过滤模块数据库模块数据监控模块数据捕获模块数据分析模块数据存储数据阻断模块图4.2 系统框架构造图4.3.2 模块功能说明本小结将分别对总体框架中的4大模块”登陆模块”,”数据库模块”,”数据过滤模块”,”数据阻断模块”进行说明。A、登陆模块:一个登陆界面,防止非工作人员使用,破坏系统。B、数据库模块:包含了数据捕获和分析两个模块。通过l

43、ibpcap开发的捕获程序完成数据的获取,进行分析,然后存储入Mysql数据库中。C、数据过滤模块:设定选择条件,显示感兴趣的内容。D、数据监控模块:该模块通过过滤后对感兴趣的数据进行监控观察,若有需要对其进行下一步阻断。第5章 详细设计与实现详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统。本章将在上一章的基础上对各个模块的实现进行论述,然后给出实现代码。为了让读者能够更好的理解整个系统结构与实现,本章第一节将展示系统开发环境的搭建。5.1 开发环境的搭建与配置环境的配置成功与否,关系到整个开发过程的工作效率。因此,这里向读者详细介绍本研究课题的开发环境搭建。5.1.1 操作系统的

44、安装由于计算机条件有限,本课题的linux系统将安装在虚拟机上。安装过程如下:1.在windows底下安装VMware-workstation-full-7.0.1-227600,新建一个new Virtual Machine,根据需要设置虚拟机的配置然后通过虚拟机光驱读取RedHat.Linux.5的安装ISO镜像文件。2.运行虚拟机开始安装系统,boot回车后直接单击skip按钮跳过介质检查。3.进入图形界面安装,点击next选择语言(简体中文)选择适当键盘(美国英语式)跳过安装号码4.初始化驱动器并删除所有数据5.点击下一步网络设备,按照默认安装点击下一步设置根口令。6.进行安装软件的配

45、置,选择软件开发和网络服务器并选择进行软件制定 选择要安装的软件(网络服务器,Mysql数据库)点击下一步7进入安装界面,开始安装直至安装成功。(设置系统时间等步骤就不介绍了)5.1.2 VMware tools的安装安装VMware tools为了方便虚拟机与主机连接共享,便于资料及其他软件的传输,它对本研究过程起了重要作用。具体安装过程如下:1.通过虚拟机光驱读取VMware tools的安装文件linux.iso,将VMwareTools-8.1.4-227600.tar.gz复制到/opt目录下并用tar命令进行解压。2.进入解压后的文件目录cd /opt/vmware-tools-d

46、istrib。输入./ vmware-install.pl(执行vmware-install.pl文件)。3.一直回车直至安装成功,然后重启虚拟机。5.1.3 网络安全开发包的安装(Libpcap+Libnet+Libnids)上一节安装了VMware tools,因此直接将3个开发包移动到虚拟机/opt目录下,然后就可以安装开发包了。以下以Libpcap安装过程为例:1.使用命令tar进行过解压缩,tar命令是Linux下的一个压缩和解压缩命令。具体命令: 2.解压后生成一目录,进入此目录进行配置3.配置成功之后,对Libpcap开发包进行编译,执行make命令4.编译过程如果没有出现错误,就可以执行最后一步安装,执行make i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1