基于深度包检测的应用层协议识别研究
随着互联网业的飞速发展,网络结构越来越复杂化,各种与互联网相关的产业越来越多元化,网络中的应用也越来越多样化,网络已经融入我们学习、工作、娱乐等生活的方方面面.传统基于端口检测的网络识别技术,可以根据5元组信息对网络数据流情况进行监控,同时还可以根据端口号识别出部分应用层协议类型.然而,随着网络技术的发展,互联网上出现了大量自定义端口号的新应用协议,不再只是传统的HTTP、Email、FTP、SNMP等协议,尤其是动态端口技术和HTTP通道等伪装技术的发展,传统的基于端口检测的网络识别技术的识别率、准确性以及识别粒度都不能满足当前网络环境的需求.为了监测和管理日益复杂的网络环境,对网络上数据流量、业务使用情况进行更细粒度的分析和管理.本文就基于深度包检测的应用层协议识别展开了相关研究,其主要工作如下:(1)调研现有主要网络流量检测技术,包括端口识别技术、DPI技术、DFI技术,并结合它们各自的优缺点进行了对比分析;同时还对BF算法、BM算法、KMP算法、AC多模匹配算法进行了总结和归纳.(2)给出基于深度包检测的应用层流量识别系统的需求与设计,根据系统的功能需求分析,将系统整体分为5个模块,分别为抓包模块、识别模块、通信模块、展示模块和存储模块.在结合系统的总体功能需求分析的基础上,对各模块进行功能划分和设计.(3)对系统开发环境和系统的特征匹配库进行了相关介绍,并结合现有开发技术实现各模块的基本功能.在数据包的抓取模块和本地存储上,采用了技术相对成熟的LibPcap技术,在协议识别模块采用了DPI深度包检测技术和高效的AC多模匹配算法来实现应用层协议匹配功能,通信模块的实现上则采用适用于多进程系统的管道技术,UI展示界面的实现则采用支持跨平台体验的Qt集成开发框架.最后,通过对系统测试,验证了系统能够实现对应用层协议的识别,能实现对网络进行更细粒度的监测;同时,本系统还可以通过添加协议的特征来识别新的应用层协议.
- 作者:
- 卞德康
- 学位授予单位:
- 安徽工业大学
- 专业名称:
- 计算机技术
- 授予学位:
- 硕士
- 学位年度:
- 2017年
- 导师姓名:
- 吴宣够
- 中图分类号:
- TP393.0
- 关键词:
- 深度包检测;AC多模匹配算法;LibPcap技术;应用层协议
- depth packet inspection; AC multi-mode matching algorithm; LibPcap; application layer protocol