期刊发表网电话

全国热线
022-83699069

探究计算机网络数据捕获技术

作者: 发布时间:2020-01-17 11:13:02 阅读: 608 次

摘要:随着网络技术的发展,关于计算机网络安全的讨论成为当今学术界讨论最为热烈的一个话题,对于计算机网络安全涉及的安全技术很多,例如防火墙、入侵检测、协议分析等等,而对于这些技术的分析都需要对网络数据包的捕捉,因此本文提出了两种的数据包的捕获方法,希望能够对数据包捕获技术提供一些自己的思路。

0、序言

现如今对于计算机网络安全的定义是指网络系统的硬件、软件以及系统中的数据信息能够受到保护, 不会因为偶然或者恶意原因而遭到破坏、更改、泄露, 系统能够连续可靠地运行, 网络服务不被中断。在当前的经济快速发展,科技日益进步的情况下,二十一世纪已经成为了网络时代,网络时代已经迈着快速的步伐向我们走来, 伴随着网络时代的来临,网络安全问题逐渐成为一个日益显现的问题。在这种背景下网络安全领域出现许多网络安全技术, 如网络入侵检测、安全扫描、协议分析等, 而这些安全系统首要任务就是通过网络数据包捕获来实现数据信息源的收集, 网络数据包捕获技术就是在网络上捕获所有或特定的网络数据包信息, 以方便对应网络安全系统所用。对于网关程序还要发送大量的网络数据包, 其中还涉及网络地址和端口的转换等问题. 本文就上述问题在操作系统下如何进行以太网的数据包分析,从而对以太网的数据包的捕获技术进行了探讨。

1、操作系统中的捕捉机制

Linux系统中,提供的是套接字类型中的一种套接字类型SOCK PACKETSOCK PACKET类型的Socket可以接受网络中的数据包。它最终通过系统提供的API接口进行,主要的目的是来访问网络的数据链路层。

数据链路提供接口定义了数据链路层向网络层提供相应的服务,是数据链路的提供者和使用者之间的一种标准接口,在实现上基于的是UNIX的数据流的机制。数据链路的使用者可以是用户的应用程序,也可以是用来访问数据链路层的上层或者高层的协议,比如TCP/IP协议。

伯克利数据包过滤器是一种效率高的数据包捕获方法。它主要工作在操作系统的内核层。主要是由网络转发部分和数据包过滤部分两部分组成。转发部分是将网络数据包捕获并传送到数据包过滤部分,然后数据包过滤部分根据相应的规则把过滤好的数据包进行正常的网络交换,这一过程是在操作系统内核中完成的,从而也就提高了系统的处理效率。

2、两种网络数据包的捕获技术

Libpcap是一个独立平台的网络数据包捕获平台。由于这种捕获技术的操作平台和操作系统无关,可以独立的访问网络链路层,并且能够成功的读取链路层的数据,所以是现在使用最多的一种网络数据包的捕获技术,它是一个高层的编程接口,将操作系统的细节全部隐藏,能偶捕获到网络上的任何数据包,这些包括其他的主机上的数据包。这种数据包的捕获技术采用的机制仍然是上面的BPF机制,并且还支持DLPISOCK PACKET等方式,这种网络数据包捕捉方式还可以过滤网络上的不需要的数据包,捕获用户感兴趣的数据包。采用这种方式捕获的数据包,能够保存在一个特定的文件当中,方便人们随时的读取感兴趣的相应的数据包信息,从这个文件当中读取的数据和网络上读取的数据应该具有一致性。这个技术的工作流程是通过调用相应的函数库来实现的。

对于这种技术的作用有以下的几点:

1) 可以捕获多种网络数据包。开发包Libpcap的更大功能就是捕获网络数据包, 它是一个专业的网络数据包捕获函数库。使用Libpcap可以方便地对网络上的数据包进行捕获, 且操作过程简单, 效率惊人。使用Libpcap捕获数据包后, 就可以对数据包进行各种各样的分析。

2) 存储网络数据包。在从网络上捕获数据包时, 可以不立即对数据包进行分析, 而只是存储起来, 留到以后进行分析. 开发包Libpcap提供了数据包的存储功能, 它将从网络上捕获的数据包存储到计算机硬盘中, 当使用者需要的时候将存储的数据包调用读取, 且数据包内容不会更改, 然后再做进一步分析。

Winpcap是为Libpcap在微软系统下实现的数据包的捕获技术而开发的一种技术手段,具有和上面技术相同的软件接口,因此使用者如果想要实现这种功能,只要调用相应的函数就可以了。这种技术主要由以下三部分组成:

部分也是核心部分,是内核层的数据包过滤模块,相当于上面技术的过滤模块,主要是捕获数据包,同时要存储转发数据包,同时还能够实现网络统计功能。

第二部分是动态链接库功能,它是为开发者提供一个接口,使用它可以直接调用一些层次低的开发接口。

第三部分是另一个动态链接库,它也是为开发者提供了一个接口,只是这个接口是一个更高层的开发编程接口,和调用的系统没有关系。因为这种开发接口是根据上面技术设计的所以他们的编程接口和相应的函数调用几乎和上面一样。

使用这种技术的好处有:

1)编程接口完整,可以和上一种技术兼容,并且不受到操作系统的限制。

2)能进行性能优化,在内核层就可以实现数据包的捕获和过滤,从而提高了效率。

3)数据发送能力增强,数据包可以放在链路库中,从而可以增强应用程序的可靠性。

3、总结

本文就当前的网络安全问题提出了自己的看法,主要是两种网络数据包的捕获技术, 并对他们进行了分析,希望能够为程序员开发更好的网络平台提供一些思路。

参考文献:

[1]  盛志伟. 以太网数据包捕获与转发技术 微计算机信息, 2006( 12): 279-282.

[2]  谢绍斌. 入侵检测系统网络数据捕获模块研究 航空计算技术, 2002( 4): 58-60.

[3]  胡彬. 基于Windows平台的底层网络数据包捕获技术 计算机工程与设计, 2005( 11): 337-338.

[4]  刘文涛. 网络安全开发包详解 北京: 电子工业出版社, 2006: 4-20,