计算机应用 ›› 2019, Vol. 39 ›› Issue (12): 3615-3621.DOI: 10.11772/j.issn.1001-9081.2019060977

• 网络与通信 • 上一篇    下一篇

基于卷积神经网络的应用层协议识别方法

冯文博1, 洪征1, 吴礼发2, 李毅豪1, 林培鸿1   

  1. 1. 中国人民解放军陆军工程大学 指挥控制工程学院, 南京 210007;
    2. 南京邮电大学 计算机学院, 南京 210023
  • 收稿日期:2019-06-12 修回日期:2019-09-03 出版日期:2019-12-10 发布日期:2019-10-08
  • 作者简介:冯文博(1994-),男,河南周口人,硕士研究生,主要研究方向:网络协议识别、机器学习;洪征(1979-),男,江苏南京人,副教授,博士,主要研究方向:网络安全、协议逆向工程;吴礼发(1968-),男,湖北黄石人,教授,博士,CCF会员,主要研究方向:网络安全、网络管理;李毅豪(1996-),男,湖南长沙人,硕士研究生,主要研究方向:协议逆向工程;林培鸿(1996-),男,福建漳州人,硕士研究生,主要研究方向:协议逆向工程。
  • 基金资助:
    国家重点研发计划项目(2017YFB0802900);南京邮电大学高层次人才启动基金资助项目(NY219004)。

Application protocol recognition method based on convolutional neural network

FENG Wenbo1, HONG Zheng1, WU Lifa2, LI Yihao1, LIN Peihong1   

  1. 1. College of Command and Control Engineering, Army Engineering University of PLA, Nanjing Jiangsu 210007, China;
    2. College of Computer Science and Technology, Nanjing University of Posts and Telecommunications, Nanjing Jiangsu 210023, China
  • Received:2019-06-12 Revised:2019-09-03 Online:2019-12-10 Published:2019-10-08
  • Contact: 洪征
  • Supported by:
    This work is partially supported by the National Key Research and Development Program of China (2017YFB0802900), the Startup Foundation for Advanced Talents of Nanjing University of Posts and Telecommunications (NY219004).

摘要: 针对传统网络协议识别方法中人工提取特征困难以及识别准确率低等问题,提出了一种基于卷积神经网络(CNN)的应用层协议识别方法。首先,基于完整的传输控制协议(TCP)连接或用户数据报协议(UDP)交互划分原始网络数据,从中提取出网络流;其次,通过数据预处理将网络流转化为二维矩阵,便于CNN的分析处理;然后,利用训练样本集合训练CNN模型,自动化提取出网络协议特征;最终,基于训练成熟的CNN模型进行应用层网络协议的识别。实验结果表明,所提方法的总体协议识别准确率约为99.70%,能有效实现应用层协议的识别。

关键词: 应用层协议, 网络流, 协议识别, 特征工程, 卷积神经网络

Abstract: To solve the problems in traditional network protocol recognition methods, such as difficulty of manual feature extraction and low recognition accuracy, an application protocol recognition method based on Convolutional Neural Network (CNN) was proposed. Firstly, the raw network data was divided according to Transmission Control Protocol (TCP) connection or User Datagram Protocol (UDP) interaction, and the network flow was extracted. Secondly, the network flow was converted into a two-dimensional matrix through data prepocessing to facilitate the CNN analysis. Then, a CNN model was trained using the training set to extract protocol features automatically. Finally, the trained CNN model was used to recognize the application network protocols. The experimental results show that, the overall recognition accuracy of the proposed method is about 99.70%, which can effectively recognize the application protocols.

Key words: application protocol, network flow, protocol recognition, feature engineering, Convolutional Neural Network (CNN)

中图分类号: