网络协议识别方法


目录
  • 协议识别的意义
  • 协议识别的方法
    • 基于端口的网络流量协议识别方法
    • 基于dpi的网络流量协议识别方法
    • 基于机器学习的网络流量协议识别方法

协议识别的意义

网络协议是计算机网络进行数据交换而建立的规则、标准或约定的集合。对网络协议的识别和分析是网络安全的基础,对网络监管、异常检测和维护网络安全具有重要意义。

协议识别的方法

网络流量协议识别方法主要有:

  • 基于端口的网络流量协议识别
  • 基于深度包检测(dpi)的网络流量协议识别
  • 基于机器学习方法的网络流量协议识别

基于端口的网络流量协议识别方法

在传统的网络环境中,各种网络应用都遵循约定俗成的规则,使用特定的端口。通过预定义或特殊端口,即可识别对应协议。例如:标准http协议使用80端口,telnet远程终端使用23端口,ssl协议使用443端口等。在传统的网络环境下,其识别效率和准确率非常高。但该方法不适用非标准端口或新定义的端口,随着动态端口技术的使用,增加了基于端口识别网络流量的难度。

基于dpi的网络流量协议识别方法

首先对目标流量进行特征分析,分析所发送的数据包负载中携带的特征码。当数据包通过识别系统时,识别系统对其进行解包,检查数据包中是否携带目标流量类型的特征码,如果是则表示该流量与目标流量类型匹配。dpi技术对许多互联网应用流量解析都相当有效,并且准确程度相当高。但dpi技术只能识别特征已知的应用流量,并且需对网络数据包进行拆解,在高速网络环境下对设备的运算速度和内存都很高的要求。

基于机器学习的网络流量协议识别方法

首先从网络流中提取一系列统计特征,例如数据包数目、数据包大小、流的持续时间及数据包到达的平均时间间隔等。然后用所提取的特征数据训练一个基于机器学习算法的识别模型。识别模型可以预测未识别流量的类型,从而完成网络流量协议识别。该方法具备建模和识别过程自动化的优势;但特征抽取和选择依赖于专家经验,如何选择特征是其难点。

深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,主要运用在自然语言处理、图像分类任务、声音识别等领域上。

相关