[发明专利]基于神经网络的ModbusTcp通讯深度包检测方法有效
申请号: | 201610055875.0 | 申请日: | 2016-01-27 |
公开(公告)号: | CN105743735B | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | 辛晓帅;单海超;邹见效;徐红兵;彭超;张健 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/24;H04L29/06 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 温利平;陈靓靓 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源端口号 功能码 队列 样本数据 数据包 检测 深度包检测 通讯 神经网络 训练样本 归一化 请求包 响应包 判定 双向数据交互 检测数据 准确检测 两组 输出 | ||
本发明公开了一种基于神经网络的ModbusTcp通讯深度包检测方法,采用训练样本训练得到BP神经网络来进行检测,训练样本的获取方法为:提取得到N对数据包,对数据包中的请求包和响应包分别提取出源端口号和功能码,将两组源端口号和功能码组成样本数据队列,根据源端口号的取值范围和功能码一致性来得到该样本数据队列的判定值,对样本数据队列进行归一化后作为BP神经网络的输入,对应判定值作为输出;在检测时,提取得到请求包和响应包的检测数据队列并进行归一化后输入BP神经网络,判断当前通讯是否正常。本发明采用数据包的源端口号和功能码作为检测依据,采用BP神经网络作为检测模型,实现对ModbusTcp通讯时双向数据交互中所出现问题的准确检测。
技术领域
本发明属于工业控制信息安全技术领域,更为具体地讲,涉及一种基于神经网络的ModbusTcp通讯深度包检测方法。
背景技术
Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。当该协议基于TCP/IP协议实现时,即称之为ModbusTcp通讯。
目前在ModbusTcp通讯网络中,为了保证ModbusTcp通讯的安全性,多采用防火墙检测技术。防火墙检测技术主要是检测源IP、目的IP、源端口、目的端口以及特定的字符串等信息,但是对于数据的交互过程却没有检测,无法对数据的交互过程进行安全监控。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于神经网络的ModbusTcp通讯深度包检测方法,实现对ModbusTcp通讯时双向数据交互中所出现问题的准确检测。
为实现上述发明目的,本发明基于神经网络的ModbusTcp通讯深度包检测方法包括以下步骤:
S1:根据ModbusTcp通讯双方设备的IP地址从通讯网络中提取得到双方通讯的数据包,根据数据包帧头的信息对请求包和响应包进行匹配,得到N对数据包;
S2:根据数据包格式,从N对数据包中的请求包和响应包中分别提取出源端口号和功能码,将两组源端口号和功能码组成一个样本数据队列Dn={Pn1,Cn1,Pn2,Cn2},其中Pn1表示第n对数据包中请求包的源端口号,Cn1表示第n对数据包中请求包的功能码,Pn2表示第n对数据包中响应包的源端口号,Cn2表示第n对数据包中响应包的功能码,n的取值范围为n=1,2,…,N;
S3:根据请求包和响应包各自的源端口号的取值范围以及请求包和响应包的功能码一致性,确定各个样本数据队列Dn所对应的请求包和响应包是否正常,如果正常,设置对应的判定值Vn=1,否则Vn=0;
S4:对样本数据队列的源端口号和功能码进行归一化处理得到归一化后的样本数据队列dn={pn1,cn1,pn2,cn2},其归一化公式为:
其中,Pmax表示协议中规定的端口号最大值,Cmax表示协议中规定的功能码最大值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610055875.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种弹力限位式全通径开关滑套
- 下一篇:空调室内机