网络智能数据采集分析器
2019-09-16张恩萌代红
张恩萌 代红
摘要:网络环境下发送的数据在到达指定目标之前,通常会经过不同的网络设备。网络数据采集分析器可以达到防止数据被窃取的目的。采集分析器是利用网络上传输数据的捕获、数据包的过滤来实现后续入侵检测的分析和预警。这有助于系统处理网络攻击,扩展系统管理员的安全管理能力。
关键词:数据采集 局域网 数据交换 协议分析
1引言
数据采集在网络安全上一直是一个比较热点的话题,信息来源有基于网络和基于日志两种。基于主机的信息源一般是通过主机系统曰志、应用程序和监控系统调用的信息收集途径,对收集到的数据进行检测和分析。基于网络的信息来源,即网络通信过程中产生的数据包信息更加丰富,信息量更大。收集信息时一般将网卡设置为混合模式,这样收集的信息更加全面,通过监听网络段中所有的数据包进行判断。为此研究一种能够服务于人类的数据采集分析器具有一定的理论和实用价值。
2系统需求分析
监听技术是网络管理和应用的基础,随此系统设计就是实时观测数据流动情况,并智能的统计数据、分析数据、采集数据,以获得有用的信息,用于后期的网络监测,时刻监视网络的状态。系统需要实现的功能结构图如图1所示。
3网络数据采集分析器的设计与实现
3.1系统类的设计
系统使用套接字进行编程,为了实现系统功能,设计了协议分析类、数据包统计类、程序界面类和绘制图形类。程序开始需要使用JDCaptor类开启线程,用来截获数据包处理。具体利用Jpcap.processPacket()函数截获数据包。再使用Jpcap类的包处理接口,每截获一个数据包都放人数据包向量中。为了保证数据的实时性,使用Timer.start()和Timer.setRepeats()来进行动态绑定更新。使用向量来存储协议所有的数据包,协议向量在每分析完一个数据包后加一。
协议分析类是根据不同协议层的数据包结构格式而设计的相应数据包解析类,具体包括IPV4协议分析类、ICMP协议分析类、TCP协议分析类和UDP协议分析类等各个协议分析类的编写。数据包统计类是对所截获的数据包按照所属协议所在的不同层次分别进行统计,并动态更新统计数据。设计的类包含NetworkStat、TransportStat和ApplicationStat统计类。
3.2采集分析器的流程设计
首先主线程开始时先将网卡设置成混杂模式。为了提供更好的人机界面,调用JDFrame类显示分析器的主界面,同时对不同组件的不同状态进行设置,使其进行动态更新操作。同时利用JD CaptureDialog .getDeviceList()和JDCaptureDialog.getDeviceDescription()获取局域网上所有的监听设备,即可以监听本局域网上所有设备的数据包。如果需要对指定的IP地址进行监听,可以利用JSourceDialog类的功能。利用上文介绍的Jpcap.processPacket()函数可以循环截获数据包。然后再对各层上捕获到的数据包进行协议首部分析。采集分析器的具體流程如图2所示。
3.3捕获数据包分析
在数据包捕获后使用数据包分析装载类将各个层上的协议分析类存储到向量中,再利用此向量对数据包进行解析。TCP/IP每一层上都有其重要协议,通过数据包采集和分析,可以获取数据链路层以太网的源MAC地址、目的MAC地址;网络层上的ARP数据报首部、IP数据报首部,从而得出IP首部的重要信息字段,如源IP地址、目的IP地址;传输层上的TCP协议首部和UDP协议首部等相关重要信息,包括源端口号和目的端口号等。这些信息为网络入侵检测系统判断攻击类型提供依据。例如满足“(same_srv_rate<=0.22)and(diffsrv_rate<=0.09)”条件的为Neptune攻击,即满足连接到相同主机的相同servlce端口上的连接记录百分比小于等于0.22,并且连接到相同主机的不同servlce端口上的连接记录百分比小于等于0.09,则为Neptune攻击。再如满足“(samesrv_rate>0.22) and (wrong_fragment>O)and(protocol_type=icmp)”条件的,为pod攻击。其含义为满足连接到相同主机的相同servlce端口上的连接记录百分比大于0.22,错误分片数目大于O,并且协议类型为icmp,则为pod攻击。
3.4数据采集分析器的实现
网络数据采集分析器可以运行在Windows XP操作系统,在Eclipse平台下采用Java语言进行编程开发。在系统环境配置上需要安装Java虚拟机,安装配置Jpcap包和WinPcap包。完成了JDCaptor、JDPacketAnalvzerLoader、JDStatisticsTakerLoader、JSniffer及各个层协议分析类的编写。
分析器编程实现后,对其按照软件工程开发思想进行了单元测试集成测试确认测试和系统测试以确保系统可以实现其预定功能,达到为网络管理人员和网络分析师的工作提供帮助的作用。
4结束语
数据采集分析器可以实现同一个局域网上数据的捕获、各层协议首部的分析、局域网数据包的统计分析,并能将结果可视化进行显示,通过饼状图等方式查看每个协议的数据量,也可以通过输入指定的IP地址进行指定对象监听等操作。
参考文献
[1]李世忠,一种智能网页数据采集系统设计[J].电子技术与软件工程,2018.(6):169.
[2]牛祥.浅析网络数据采集的常规方法[J].信息系统工程,2018,(1):20-24.
[3]陈锦平,通信层数据交换中间件设计实现[J].2013,(3): 955-959.
[4]乔加强.计算机网络的安全威胁及防御技术[J].电子技术与软件工程,2018,12:203.
[5]刘海燕,张钰,毕建权等,基于分布式及协同式网络入侵检测技术综述[J].计算机工程与应用,2018,54(8):1-7.