收藏 分销(赏)

基于Libpcap的网络入侵分析工具设计.pdf

上传人:自信****多点 文档编号:2083375 上传时间:2024-05-15 格式:PDF 页数:3 大小:2.50MB
下载 相关 举报
基于Libpcap的网络入侵分析工具设计.pdf_第1页
第1页 / 共3页
基于Libpcap的网络入侵分析工具设计.pdf_第2页
第2页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 14 期2023 年 7 月无线互联科技Wireless Internet TechnologyNo.14July,2023基金项目:安徽省质量工程项目;项目编号:2022Sfjk043。滁州职业技术学院校级自科重点研究项目;项目编号:YJZ-2020-09,ZKZ-2022-06。滁州职业技术学院校级自科一般研究项目;项目编号:YJY-2021-06。作者简介:魏光杏(1976),男,安徽池州人,副教授,硕士;研究方向:计算机应用技术,网络安全。基于 Libpcap 的网络入侵分析工具设计魏光杏,李 华,鲁顶芝(滁州职业技术学院 信息工程学院,安徽 滁州 239000)摘要:随着互联网的

2、飞速发展,网络应用逐渐深入社会的各个领域,给人们的生活带来了极大的方便,如何保障网络安全问题也越来越受到人们的关注。文章通过对系统的需求和系统实现的可行性分析,并结合网络数据包捕获原理和 IP 数据报结构等知识,提出基于 Libpcap 库设计一款网络入侵分析工具。经试验验证,分析工具对数据包的捕获分析取得了较好的效果,较好满足了对中小型网络分析的需求,为下一步网络入侵防范提供了依据。关键词:网络管理;流量统计;Libpcap中图分类号:TP309.5 文献标志码:A0 引言 随着互联网行业的快速发展,互联网在人们的日常生活、学习、工作、娱乐等方面的影响越来越大,这就使得网络的安全管理问题变得

3、尤为重要。当前学者们研究并开发出不少关于网络安全及入侵分析的工具1,功能也比较强大,能够用来捕获多种数据包并且可以显示包的详细信息。Libpcap 是一个功能强大的函数库,以此为基础,学者们设计开发了较多网络分析工具。Libpcap 最主要的优点是可以给系统提供独立的用户级别网络数据包捕获接口2。其工作原理可以解释为当有数据包到达接口,就会通过网络分接口将数据发给过滤器,最后过滤器会按照制定好的过滤策略对捕获到的数据包进行匹配,成功匹配的数据会同时写入内核和用户缓冲区,反之就直接抛弃3。本文采用基于Libpcap 自带的强大函数库设计了一款简洁、方便的网络抓包分析工具,经过大量实验验证,取得了

4、较好的应用效果,大大减少了病毒入侵网络的概率。1 入侵分析工具需求分析 近些年,随着网络基础设施的不断完善,网络的普及率和用户数量逐年升高,不断增加的网络数据给运营商的管理带来了挑战。此外,来自网络世界的恶意攻击,给用户和运营商带来了很多损失,这些都让网络管理员头疼不已4。因此,能够对网络数据进行分析,识别网络世界的攻击,具有非常重要的意义。而且,网络管理员还能根据分析的结果,了解当前网络环境中的用户情况,以此来优化网络的管理5。例如,根据协议分析的结果,了解用户主要使用哪些应用,哪些应用使用率高。从而对部分应用限制带宽,防止发生网络拥塞现象,优化网络的运行环境。网络管理员还可以通过分析工具识

5、别出网络入侵攻击,并尽早做出应对的策略,减少损失。这就要求一边对日常网络进行监视,一边能随时对数据包进行捕获分析。因此,入侵分析工具需要具备数据的捕获、分析、识别和显示的功能,如图 1 所示,具体需求如下。(1)为了应对有多个网卡的网络设备,该系统需要能够查找到网络设备上的所有网卡,便于选择网卡,对选择的网卡进行捕获分析。(2)能够对捕获到的数据进行分析,得到数据的五元组信息。(3)能够通过与特征值对比,识别出应用层的协议。(4)能够对识别出的应用层协议和计算出的数据流量进行统计。(5)拥有交互性良好的 UI 界面,能够将五元组信息和协议分析的结果等展示出来。便于操作和管理。图 1 系统功能4

6、41第 14 期2023 年 7 月无线互联科技网络互联No.14July,20232 系统设计2.1 系统的总体设计 为了完成对数据的分析识别功能,并结合模块化的设计思想,本网络入侵分析工具设计成 4 个模块:数据采集模块、数据分析识别模块、通信模块和信息显示模块。其中,数据采集模块是整个工具的基础,该模块不断捕获流过网络设备的数据流;信息识别模块则是整个设计的核心,能够通过对比特征值,对捕获的数据包进行应用层协议的识别;通信模块主要将数据识别模块获得的结果不断传递到信息显示模块中,并捕获数据包的五元组信息;显示模块通过 UI 界面向用户展示分析的结果。2.2 数据采集模块设计 此模块是整个

7、设计的基础,主要将数据捕获并存储到文件中。设计的关键是顺利捕获到数据。根据有关需求分析可知,采用 Libpcap 的库函数完成数据捕获。Libpcap 主要由两部分组成,分别是网络分接口和过滤规则。前者负责收集驱动中的数据,后者负责决定是否接收该数据包。Libpcap 的数据包捕获大致分为 3 个部分:面向底层的数据包捕获、面向中间内核层的数据包过滤以及面向应用层的用户接口。Libpcap 的数据包获得流程大致如下:网络接口层的网络分接口会从驱动程序中获取数据的备份,随后上交给内核,如果设置了过滤规则,就根据过滤规则进行过滤,随后将经过过滤的数据发送给内核缓冲区,最后发送给上层的应用程序;如果

8、没有设置过滤规则,则将所有数据包直接上传到内核缓冲区,之后全部上交给用户缓冲区。Libpcap 的捕获原理如图 2 所示。而交互界面则是基于 QT 设计,利用 QT 中的自带组件设计界面较方便,并且 QT 含有的信号槽机制便于各个模块之间的通信。图 2 Libpcap 捕获原理2.3 数据分析识别模块设计 此模块是对捕获到的数据进行分析,再对分析后的数据进行识别。设计难点是如何识别出数据包协议、数据包的业务以及 DOS 攻击等。对数据包协议的识别是对传输层协议的识别,先要将数据包解封装,基于端口去识别对应的网络协议6。TCP/IP 协议数据包一般由应用层、传输层、网络层、数据链路层、物理层封装

9、而成,因此要对数据进一步分析,需要从底层将数据包一步步拆封装。当数据到达时,先会交给数据链路层,数据链路层会与数据包的目的 Mac 地址匹配,如果成功就将 Mac 帧头解开,交给上层的网络层,网络层会查看数据的目的IP 地址与自己是否相同,如果相同,去掉 IP 头交给传输层,传输层解开对应的头部后上传给应用层,最后当数据解封装后,再对信息进行识别。2.4 通信模块设计 根据前面的分析可知,当入侵数据量很大时,会在数据捕获和信息显示两模块之间产生较大时延,因此,如何降低数据捕获和信息显示两模块之间的时延也是需要考虑的问题之一。本模块设计中采用多线程开发技术,节省系统资源,降低时延。采用 QT 的

10、信号与槽机制来完成对象之间的通信,信号和槽机制可以减少指针的使用,使程序更加简洁。在数据采集的对象中使用了 QT 中的信号函数,又在显示模块中使用了 QT 中的槽函数去接收信号。通过连接函数将两个函数连接起来,只要用户点击捕获选项,捕获线程会触发信号函数将信息发送出去,与其相关联的槽函数会接收到信息,并做出相应的处理。541第 14 期2023 年 7 月无线互联科技网络互联No.14July,20232.5 数据信息显示模块设计 系统设计的最终目的是提供给用户使用,因此需要拥有一个界面化窗口以实现用户可视化管理。本设计的信息显示模块以 UI 可视化界面向用户直观地展示捕获的数据包的相关信息。

11、在信息显示模块中,会展示数据包的多种信息,包括数据包的五元组信息、数据流量的统计、协议识别的结果以及数据包应用层业务的统计结果等。通过展示数据包的多种信息,可以从多个角度反映网络的运行情况。信息显示模块的功能包括网卡选择功能、开始捕获功能、停止捕获功能。网卡选择功能是将查找出的所有网络设备罗列出来,以供选择特定网卡进行数据包捕获,开始捕获功能是控制系统进行捕获,停止捕获功能是停止数据包捕获,并对捕获的数据包进行协议识别和结果统计。3 入侵分析工具的测试及结果分析 运行入侵分析工具软件后,弹出主界面。主界面导航栏有选择网卡、开始捕获、停止 3 个选项。选择网卡选项是将网络设备上所有的网卡信息罗列

12、出来,以供用户选择想要捕获的网卡。开始捕获选项,是控制捕获进程的选项,点击该选项,捕获进程就会被开启,随即开始捕获数据,并且在开启捕获进程的同时,捕获模块的信号函数也会被调用,完成捕获模块和显示模块之间的通信。停止选项,点击后会立刻停止捕获进程,开启分析识别进程,对捕获的数据进行协议识别、流量统计等操作。界面的左边会显示捕获的数据的时间、数据包标识、来源 IP 地址、目标 IP 地址、协议、发送长度等基本信息,右边使用图形化展示流量统计、业务统计、数据类型统计 3 块详细信息,状态栏中有相关操作的信息提示。入侵分析工具的测试是在 Linux 系统下使用netstress 模拟 DDOS 网络攻

13、击目标主机。从测试过程看,当运行入侵分析工具软件时,用户根据需求选择系统中罗列的网卡进行检测及捕获数据。入侵分析工具对捕获的数据进行筛选,对不满足规则的数据进行隔离并实时跟踪,对隔离较多同一数据发出警报。另外,入侵分析工具系统会对同一目的地址的数据进行统计,若在极短时间内数量超过设定的最大值,入侵分析工具会自动判定为有木马攻击,并在状态栏给出警报提示,实现了对数据的实时检测与响应,起到了主动防御作用。4 结语 伴随着互联网的快速发展,能够迅速抓取分析数据包以及识别网络攻击成为网络日常管理的重要组成部分。网络管理员可以通过网络分析工具,及时了解当前所处网络环境的状态,及时发现问题,做出应对措施,

14、降低损失。本文采用基于 Libpcap 自带的强大函数库设计了一款简洁、方便的网络抓包分析工具,经实验验证,该工具较好地实现了数据包抓包分析的功能,基本满足了小型网络分析的需求,效果较好,为下一步的网络入侵防御提供了依据。参考文献1周延森.基于零拷贝数据包捕获机制的研究与改进J.计算机安全,2012(9):55-60.2陈晨.嵌入式 Linux 系统下 QT 图形化界面开发D.成都:电子科技大学,2016.3柯采.基于 ARP 欺骗的网络监听分析与研究J.电子设计工程,2020(13):124-127,132.4李慧芹,吕静贤,王慧,等.网络监听技术下的网络安全平台设计J.机电工程技术,202

15、2(8):153-155,244.5秦媛媛.大数据技术在网络安全分析中的应用J.无线互联科技,2022(9):119-121.6田春平,刘芸.基于数据挖掘技术的网络入侵分析与检测J.数字通信世界,2019(5):65-67.(编辑 沈 强)Design of network intrusion analysis tool based on LibpcapWei Guangxing Li Hua Lu Dingzhi School of Information Engineering Chuzhou Polytechnic Chuzhou 239000 China Abstract With t

16、he rapid development of the Internet network applications have gradually penetrated into various fields of society bringing great convenience to people s lives.How to ensure network security is also receiving increasing attention.The paper proposes a network intrusion analysis tool based on Libpcap

17、library by analyzing the system requirements and feasibility of system implementation combined with knowledge of network packet capture principles and IP datagram structure.After experimental verification the analysis tool designed in this paper has achieved good results in capturing and analyzing data packets meeting the needs of small and medium-sized network analysis and providing a basis for the next step of network intrusion prevention.Key words network management traffic statistics Libpcap641

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服