例如,有如下三台计算机(见与图2-1),A为监测机,B为攻击机,C为被攻击机,他们同属一个局域网,分别占据着不同段的IP和端口,通过端口镜像,将攻击机B和被攻击机C之间传输的数据包镜像拷贝到监测机A的网卡上,让监测机A可以捕获到。
图2-1 使用场景模拟图
此时,可能发生几种情况:
(1)攻击机B连接被攻击机C的FTP服务端,并上传,删除,下载,或者进入服务端中的某个文件夹;
(2)攻击机B连接被攻击机C的MYSQL服务端,并注入一条SET语句,修改数据库表中的某个字段值;
(3)攻击机B连接被攻击机C的Web服务端(通过网页),并通过服务端开放的接口修改某一属性的值;
(4)被攻击机C正常运行时,会以一定频率发送UDP心跳包到监测机A,此时攻击机B通过某种方式阻塞了这二者间的通讯,使得监测机A长时间无法收到来自被攻击机A的UDP心跳包。
由于数据包攻击形式众多,以上几种攻击案例,在网络上较为常见,也容易模拟,故而本系统选择这几种情况,对系统功能的有效性验证,在之后的方案设计中,也将基于这几种常见情况,进行系统方案的设计。
2。2 系统可行性分析
可行性分析是指在当前组织内外的具体条件下,系统开发工作必须具备资源和条件,看其是否满足系统目标的要求。在系统开发过程中进行可行性分析,对于保证资源的合理使用,避免浪费和一些不必要的失败,都是十分重要的。
(1)目标和方案的可行性:互联网高度发达的今天,数据量也在发生爆炸式的增长,不乏一些恶意攻击的数据报文混杂其中。这些攻击一旦得逞,将造成不可预计的损失,所以当前迫切需要一个高效可靠的网络信息监控系统。有了这个系统,就能帮助网络管理人员进行及时有效的网络安全监管工作,减少乃至防止可能发生的损失。
(2)技术方面的可行性:市场上已经有许多相当成熟的,可以用来学习和借鉴的网络监控软件,TCP/IP,MYSQL的相关知识也非常透明,故本系统的技术可行性不容置疑。
(3)经济方面的可行性:本系统使用的各个软件都是非商业用途版本,故在使用软件上无需担心经济因素。可能需要经济支持的模块应该是硬件方面,诸如三层交换机,网线等,但这些并不会影响实际开发,仅仅测试系统功能只需要可以一台上网的电脑即可。文献综述
根据以上几方面的可行性分析,可以得出结论:开发该网络数据监控分析系统是完全进行的。
2。3 系统总体方案设计
在确认过系统的可行性之后,需要对本系统进行总体方案上的设计。
总体方案设计不需要考虑到程序实现的细节,诸如数据结构,数据库表,类结构等等,而应该考虑整个系统需要用到哪些平台,平台间如何连接,平台中分别要实现的功能,做好对系统的宏观设计。
首先选择开发平台。要完成大数据量的网络数据包分析,需要极高的效率,在选择开发语言上,选择了C++这款靠近底层,且极其重视运行效率的语言,并使用微软的Visual Studio开发工具,在Windows这个相对普及的计算机环境下进行代码开发。
其次选择数据源和数据存储平台。一个系统,必须有信号输入,才能有结果输出。在数据源选择上,既然选择在Windows环境下开发,直接可以使用Windows自带的Winpcap网络接口。在数据存储平台选择上,可以选择MYSQL这款相对轻量且免费的数据库工具。