一种嵌入式设备跨网段加密通信方法技术

技术编号:31615473 阅读:27 留言:0更新日期:2021-12-29 18:48
本发明专利技术公开了一种嵌入式设备跨网段加密通信方法,包括下步骤:步骤一:初始化设备,通过脚本程序获取硬件设备CPU序列号;步骤二:利用脚本程序获取硬件IP地址、子网掩码和网关信息;步骤三:分别将CPU序列号、IP地址、子网掩码、网关信息进行字符加密;步骤四:将所有字符加密后的信息组装成JSON格式的字符串;步骤五:创建心跳服务,定时广播数据;步骤六:接收方使用对应的解密方法将数据解密。本发明专利技术方法流程简单,高内聚,能够实现不在同网段的嵌入式硬件设备也能实现批量配置和管理,有效避免了人力不必要的损耗。了人力不必要的损耗。了人力不必要的损耗。

【技术实现步骤摘要】
一种嵌入式设备跨网段加密通信方法


[0001]本专利技术涉及嵌入式设备通信领域,尤其涉及一种嵌入式设备跨网段加密通信方法。

技术介绍

[0002]随着互联网、移动互联网的发展,一个用户所拥有的终端设备数量在不断增长(电脑台式机、笔记本、手机、PAD等),用户如何将各终端上的数据能够安全可靠的互传已经从原有的USB数据线传输逐渐转向通过网络进行传输。各终端设备所处的网络环境复杂多变,导致终端与终端之间传输文件变得异常困难。
[0003]网络中的接收和发送数据都是使用操作系统中的SOCKET进行实现。但是如果此套接字已经断开,那发送数据和接收数据的时候就一定会有问题。可是如何判断这个套接字是否还可以使用呢。这个就需要在系统中创建心跳机制。其实TCP中已经为我们实现了一个叫做心跳的机制。如果你设置了心跳,那TCP就会在一定的时间(比如设置的是3秒钟)内发送你设置的次数的心跳(比如说2次),并且此信息不会影响你自己定义的协议。所谓“心跳”就是定时发送一个自定义的结构体(心跳包或心跳帧),让对方知道自己“在线”。以确保链接的有效性。
[0004]所谓的心跳包就是客户端定时发送简单的信息给服务器端告诉它我还在而已。代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开。比如有些通信软件长时间不使用,要想知道它的状态是在线还是离线就需要心跳包,定时发包收包。发包方:可以是客户也可以是服务端,看哪边实现方便合理。一般是客户端。服务器也可以定时轮询发心跳下去。心跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着。事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一个空包。
[0005]在TCP的机制里面,本身是存在有心跳包的机制的,也就是TCP的选项。系统默认是设置的是2小时的心跳频率。但是它检查不到机器断电、网线拔出、防火墙这些断线。而且逻辑层处理断线可能也不是那么好处理。一般,如果只是用于保活还是可以的。心跳包一般来说都是在逻辑层发送空的包来实现的。下一个定时器,在一定时间间隔下发送一个空包给客户端,然后客户端反馈一个同样的空包回来,服务器如果在一定时间内收不到客户端发送过来的反馈包,那就只有认定说掉线了。只需要send或者recv一下,如果结果为零,则为掉线。
[0006]但是,在长连接下,有可能很长一段时间都没有数据往来。理论上说,这个连接是一直保持连接的,但是实际情况中,如果中间节点出现什么故障是难以知道的。且有的节点(防火墙)会自动把一定时间之内没有数据交互的连接给断掉。在这个时候,就需要我们的心跳包了,用于维持长连接,保活。在获知了断线之后,服务器逻辑可能需要做一些事情,比如断线后的数据清理和重新连接。总的来说,心跳包主要也就是用
于长连接的保活和断线处理。一般的应用下,判定时间在30

40秒比较不错。如果实在要求高,那就在6

9秒。
[0007]在软硬一体的嵌入式设备中,很多设备在局域网内的心跳机制,只能和配置电脑在一个网段中。如果设备和配置电脑不在一个网段中,配置工具发现不了设备,无法实现对设备的配置管理工作。但是设备在安装配置过程中,安装人员不知道设备IP地址,特别是批量的设备需要配置时,这种情况又是经常出现的,操作非常不方便。
[0008]已公开专利(CN201710999624.2)提供了设备连接方法及装置,具体技术方案为:设备连接装置向第二网段的终端设备发送发现信息;接收第二网段的终端设备发送的反馈信息;根据接收到的反馈信息确定第二网段的管理设备;与第二网段的管理设备进行信息交互,为第一网段和第二网段之间跨网段通信的终端设备建立数据传输链路。该方案虽然能够进行跨网互通,但配置过程太复杂,且运行成本较高。

技术实现思路

[0009]本专利技术的目的在于克服现有技术的不足,提供一种嵌入式设备跨网段加密通信方法,能很好解决上述问题,安装人员在安装大量设备后,使用配套的客户端管理工具,即使对不在同网段的嵌入式硬件设备也能实现批量配置和管理。本专利技术是基于C++语言的SOCKET套接字UDP通信,使用自定义加密方法,加密通信数据,接收方再使用对应的解密方法将数据解密。
[0010]本专利技术的目的是通过以下技术方案来实现的:一种嵌入式设备跨网段加密通信方法,包括下步骤:步骤一:初始化设备,通过脚本程序获取硬件设备CPU 序列号;步骤二:利用脚本程序获取硬件IP地址、子网掩码和网关信息;步骤三:分别将CPU序列号、IP地址、子网掩码、网关信息进行字符加密;步骤四:将所有字符加密后的信息组装成JSON格式的字符串;步骤五:创建心跳服务,定时广播数据;本流程中不需要建立连接。
[0011]步骤六:接收方使用对应的解密方法将数据解密。
[0012]所述步骤三具体加密流程为:创建字符字典,以密钥每一位的字符的异或值作为偏移量,取明文中字符偏移后在字符字典中的字符串,然后将所有字符串叠加,产生密文。
[0013]步骤五具体包括;创建心跳线程,在线程中创建UDP客户端,如果创建UDP客户端失败,则重新创建,在线程中定时5秒通过UDP客户广播发送数据。
[0014]所述步骤五定时广播数据具体为:通过UDP将加密后数据广播发送给配套的客户端管理工具。
[0015]步骤六的解密方法具体为:使用高级加密标准AES算法,同时带入相同的密钥、偏移量解密。
[0016]步骤一具体包括:初始化硬件设备,自定义脚本程序,通过执行“cat /proc/cpuinfo”命令获取硬件设备CPU 序列号并解析输出结果。
[0017]步骤二具体包括:自定义脚本程序,通过执行解析系统文件“/etc/network/interface”命令获取硬件IP地址、子网掩码和网关信息。
[0018]本专利技术的有益效果:
1. 本文提出的嵌入式设备跨网段加密通信方法,能很好解决上述批量的设备需要配置管理操作非常不方便的技术问题,安装人员在安装大量设备后,使用配套的客户端管理工具,即使对不在同网段的嵌入式硬件设备也能实现批量配置和管理。
[0019]2.本方法将硬件设备的CPU虚拟号、IP地址、子网掩码、网关、设备类型、设备名称等信息进行自定义加密算法的数据加密,通过UDP将加密后数据广播发送,与现有技术相比,本专利技术在能实现跨网互通信的同时,简化了设备配置过程,且运行成本较低。
[0020]3.本专利技术方法流程简单,高内聚,能够实现不在同网段的嵌入式硬件设备也能实现批量配置和管理,有效避免了人力不必要的损耗。
附图说明
[0021]图1是本专利技术的流程框图。
具体实施方式
[0022]应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种嵌入式设备跨网段加密通信方法,其特征在于,包括下步骤:步骤一:初始化设备,通过脚本程序获取硬件设备CPU 序列号;步骤二:利用脚本程序获取硬件IP地址、子网掩码和网关信息;步骤三:分别将CPU序列号、IP地址、子网掩码、网关信息进行字符加密;步骤四:将所有字符加密后的信息组装成JSON格式的字符串;步骤五:创建心跳服务,定时广播数据;步骤六:接收方使用对应的解密方法将数据解密。2.根据权利要求1所述的一种嵌入式设备跨网段加密通信方法,其特征在于,所述步骤三具体加密流程为:创建字符字典,以密钥每一位的字符的异或值作为偏移量,取明文中字符偏移后在字符字典中的字符串,然后将所有字符串叠加,产生密文。3.根据权利要求1所述的一种嵌入式设备跨网段加密通信方法,其特征在于,所述步骤五中创建心跳服务:创建心跳线程,在线程中创建UDP客户端,如果创...

【专利技术属性】
技术研发人员:王明
申请(专利权)人:四川天翼网络服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1