基于网络监听的无接口数据采集初探
2012-10-27熊育文
李 杰, 熊育文
(中国联通茂名市分公司,广东 茂名 525000)
0 引言
数据采集,又称数据获取,通常使用一种装置或一种接口,从外部环境或外部系统收集数据,输入到内部供系统使用[1]。在通常情况下,需要数据采集装置,或者需要数据采集接口,而且采集到的数据格式必须是已知,这样才能够对采集到的数据进行分析处理和进一步的加工应用。但是,在很多情况下,出于成本、性能等各种原因,外部系统不提供数据采集接口,或没有数据格式资料,在这种情况下进行数据采集非常困难。本单位的GSM基站包括MOTOROLA和华为两种类型,分别负责不同区域基站的告警工作,但是告警终端没有统一的声音告警,值班人员必须时刻盯着这些告警终端,才能及时了解基站告警情况。长期这样工作,给值班人员的身心造成了较大的压力,不利于告警信息及时、准确地发布和处理,所以需要采集这两种不同告警的数据,加工处理后进行统一的展示和声音告警。
1 利用网络监听技术采集数据
MOTOROLA告警终端使用的是SUN工作站和SOLARIS操作系统,华为告警终端使用的是PC机和WINDOWS操作系统,告警终端分别连接在两个完全隔离的网络中,而且两种告警系统都没有数据格式资料和数据采集接口,无法使用常规的方法进行数据采集,必须使用一种新的方法,才可能获取到数据。
为了解决这个难题,必须对传统的数据采集方法进行创新,考虑到原系统没有数据采集接口,要获取数据还可以利用网络监听技术捕获告警终端与服务器之间的网络通讯包,筛选过滤并分析通讯包数据内容,获取分离出有用的告警数据,达到数据采集的目的。
1.1 捕获通讯包数据
网络管理离不开网络嗅探Sniffer,它能用来检测、分析网络性能和流量,查找网络漏洞,提高网络的运行性能[2],也可以用于网络通讯包捕获。这里使用一台安装了Sniffer软件的电脑,使用集线器(不能使用交换机)连接到告警网络(如图1所示),也可以使用交换机端口镜像的方法连接,这里不再详细介绍。
1.1.1 捕获MOTOROLA告警数据
将监听电脑和集线器按图1的方法连入MOTOROLA告警网络,开始用Sniffer捕获通讯包,同时记录告警终端上的告警信息,包括告警流水号、基站编号、基站名称、告警时间、告警编号、告警名称等,终端上显示几条告警后停止捕获通讯包,然后将通讯包保存下来,供下一步筛选和分析使用。下面是记录的一条告警信息。
1.1.2 捕获华为告警数据
将监听电脑和集线器按图1的方法连入华为告警网络,开始用Sniffer捕获通讯包,同时记录告警终端上的告警信息,包括告警流水号、基站编号、基站名称、告警时间、告警类别、告警名称等,终端上显示几条告警后停止捕获通讯包,然后将通讯包保存下来,供下一步筛选和分析使用。一条典型的告警信息例子:对象号“24”、对象名称“信宜三中M1800”、告警名称“缺相告警”、告警类别“故障告警”、告警日期“2007/5/15”、告警时间“16:16:26”、告警流水号“1066840”,由于告警信息有告警名称但没有告警编号,所以需从华为告警系统查找编号,这里查询到缺相告警的编号是2246。
1.2 筛选分析告警数据
采用由简到繁的方法筛选分析包数据,第一步是观察法,在Sniffer中直接浏览,左边列显示的是十六进制数据,右边列显示的是对应的ASCII字符,检查右边列是否有直观的有用数据。第二步是十进制搜索法,在数据包中搜索十进制信息,考虑到双字节或多字节信息不容易重复,具有较好的唯一确定性,一般先搜索流水号、年份、月份等,由于各个外部系统的数据存储方式未知,有些可能是按照从低位到高位的方式,有些可能是按照从高位到低位的方式,所以可能需要将待搜索的信息数据位置互换后再搜索,例如搜索流水号“2444”,如果未发现则再搜索“4424”。第三步是十六进制搜索法,将十进制数据转换为十六进制后按照第二步的方法进行搜索,一般情况下计算机系统很少直接存储十进制数据,所以第二步搜索成功的几率较小。
1.2.1 筛选分析MOTOROLA告警数据
首先使用观察法,经过浏览发现其中有一个数据包含有告警名称“High Temperature (3)”,由此可初步判断此数据包是告警数据包,记录包的端口和包长度,然后检查“High Temperature (3)”前一字节为十六进制的15,转换为十进制是21,正好为“High Temperature (3)”的长度加上一个字符串终止字节“00”的数量,所以初步判断这个字节的含义为字符串长度。如果没有其他有用的字符串信息则进行下一步分析。
接下来是十进制搜索法,告警流水号大于256,是双字节信息,所以先在数据包中搜索告警流水号2444,先检查是否按十进制存储,搜索“2444”或“4424”,没有发现则转换为十六进制为“098c”,使用十六进制搜索法搜索“098c”或“8c 09”的位置,发现数据包中存在“098c”,记录其位置。在数据包搜索日期时间信息,先搜索年份,看是否包含“2007”或“0720”,如果没有则将2007转换为十六进制即“07 d7”,再次搜索,发现数据包中有“07 d7”,而且其附近的信息很像日期时间信息,“370000001e 000000090000000f 00000004000007 d7”,进一步验证可知其排列为秒分时日月年,转换为十进制即与告警信息的“15/05/2007 09:30:55”相一致。接着搜索告警编号18(十六进制12)的位置,由于告警编号仅有一个字节,所以可能有其他数据包含“12”造成多个位置搜索到“12”,将这几个位置记录下来用其他的告警数据包进行验证。用此法可确定基站号45(十六进制2d)的位置。至此,已经可以确定告警流水号、基站编号、告警日期时间、告警编号、告警名称等关键信息的在数据包中位置,基站名称虽然不包含在数据包中,但可以根据基站编号确定。
图1 监听电脑连接方式
1.2.2 筛选分析华为告警数据
首先使用观察法,经过浏览没有发现有用的字符串信息,需进行下一步分析。
接下来使用十进制搜索法,先搜索告警流水号1066840的位置,先搜索“01066840”,没有则搜索“40680601”,如果没有发现则转换为十六进制104758,继续搜索“104758”或“584710”,发现有数据包含有“584710”,初步判断此包是告警数据包,而且数据存储格式为十六进制,由低位到高位排列,记录包的端口和包长度。在数据包搜索日期时间信息,考虑到先搜索年份,将2007转换为十六进制即“07 d7”,搜索“07 d7”或“d707”,没有发现,说明年份不是保存2007,使用上述十六进制搜索法搜索日期时间信息,发现“07050f 10101f”,进一步验证可知其排列为年月日时分秒,转换为十进制即与告警信息的“2007/5/1516:16:26”相一致。接着搜索告警编号2246(十六进制8c6)的位置和基站编号24(十六进制18)的位置,至此,已经可以确定告警流水号、基站编号、告警日期时间、告警编号等关键信息的在数据包中位置,告警名称虽然不包含在数据包中,但可以根据告警编号确定。
1.3 数据分离
确定网络通讯包的端口、长度,以及告警流水号、基站编号、告警日期时间、告警编号等关键数据在通讯包中的位置后,即可进行系统设计将这些关键数据从捕获的所有通讯包中筛选、过滤并分离出来,由于要同时监听两个不同的网络,所以需要采用多线程编程,设立不同的数据缓冲区接收捕获的通讯包数据,如果通讯包的端口和长度不符合要求,则直接丢弃,然后根据关键数据在包中的位置提取并转换出来,即完成告警数据的采集,后期的数据加工处理、统一展示和声音告警等工作不在此处详细介绍。
2 利用网络监听技术采集数据的特点
2.1 利用网络监听技术采集数据的优点
2.1.1 无需数据采集接口
有些系统厂商需另外收取费用,才提供数据采集接口,或者有些系统使用时间较长,厂商已不再提供新的接口开发服务,而使用网络监听技术采集数据无需原系统提供接口,不受这些情况制约,可节约成本费用。
2.1.2 无需数据格式资料
对于使用时间较长,资料已丢失,或者厂商本来就没有提供资料的情况,使用网络监听技术采集数据可以较好地解决这些难题,具有较明显的优势。
2.1.3 实时性高
由于网络监听技术采集的是网络实时通讯数据,与原系统几乎是同时获取数据,所以具有很高的实时性。
2.1.4 对原有系统没有任何影响
利用网络监听技术采集数据,无需在原系统上安装任何硬件或软件,所以对原系统的数据、性能、安全等不会造成任何影响。
2.2 利用网络监听技术采集数据的缺点
利用网络监听技术采集数据也存在着一些缺点,例如:①在数据加密或压缩的情况下,使用网络监听技术捕获的数据包很难分析出有用的信息;②某些情况下无法接入监听电脑,也就无法使用网络监听技术[3-5]。
3 结语
基于网络监听技术的无接口数据采集方法创新地将网络监听技术应用于网络管理和网络安全之外的领域,扩展了网络监听技术的应用范围,成功地解决了不同硬件和操作系统的数据采集问题,具有无需接口和数据格式资料、实时性高、对原系统没有任何影响等优点。根据这种方法成功开发了基站综合告警系统,目前已平稳运行了4年多,该系统克服了原有告警系统没有声音的缺点,使值班人员能更加及时准确地处理基站告警,降低了劳动强度,为提高网络质量和基站防盗提供了强有力的支撑,取得了良好的效果。
[1]百度百科.数据采集[EB/OL].(2011-12-9)[2011-12-28].http://baike.baidu.com/view/709701.htm.
[2]李丹,赵刚,刘玲.交换式网络中监听技术的原理及实现[J].信息安全与通信保密,2007(06):150-152.
[3]鸣涧.网络黑客常用攻击手段[J].信息安全与通信保密,2001(10):68.
[4]网络入侵取证调查研究[J].通信技术,2008,41(07):219-221.
[5]廖祥波,邓银波,陈前斌,等.基于移动 IPv6环境中的安全威胁类型研究[J].通信技术,2008,41(11):153-155.