一种基于文件共享协议的跨平台数据即时传输方法技术

技术编号:13323157 阅读:55 留言:0更新日期:2016-07-11 09:44
本发明专利技术公开了一种基于文件共享协议的跨平台数据即时传输方法,属于信息安全领域,包括以下步骤:S1、解析SMB协议的结构和规范,在此基础上对依赖TCP协议的SMB协议进行二次定义;S2、根据二次定义的SMB协议,均以TCP协议为基础,对通用的数据传输接口及指令进行定义;S3、创建分别对不同平台符合既定传输接口及指令的数据传输模块。与现有的数据传输通用方案相比,主要有以下几点优势:1、跨平台传输无障碍,对PC及大部分移动终端的操作系统都有很好的支持;2、通过安全链路,直接从数据源向目标数据传输数据,避免第三方存储介质可能产生的数据错误,保证了数据的完整性和安全性。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,特别涉及一种基于文件共享协议的跨平台数据即时传输方法
技术介绍
由于硬件性能限制,信息安全领域对于数据的分析和处理基本都是通过PC完成,当原始数据存在于手机、PDA等设备上时,则需要先将数据传输至PC。而现有的设备数据传输方法大多只在单一平台或操作系统上实现的,对于跨平台数据传输的需求则几乎只能通过中间储存介质(如U盘、SD卡等)来完成,这显著增加了产品操作的复杂度,同时对数据的完整性也带来挑战。另外,数据的提取通常只能单向进行,即设备到PC,如果不借助其他储存介质,则无法满足PC数据回传至设备的需求。基于这种现状,一种能够跨平台即时进行数据双向传输的方法就显得很有必要。
技术实现思路
本专利技术针对现有技术的不足,提供一种基于文件共享协议的跨平台数据即时传输方法,解决数据的提取通常只能单向进行,即设备到PC,如果不借助其他储存介质,则无法满足PC数据回传至设备的的问题。为解决以上问题,本专利技术采用的技术方案如下:一种基于文件共享协议的跨平台数据即时传输方法,包括如下步骤:S1、解析SMB协议的结构和规范,在此基础上对依赖TCP协议的SMB协议进行二次定义;S2、根据二次定义的SMB协议,均以TCP协议为基础,对通用的数据传输接口及指令进行定义,使基于Android、Windows及Linux平台之外的平台能够应用该传输方法;S3、创建分别对不同平台符合既定传输接口及指令的数据传输模块。作为优选,S1的具体方法如下:1.1解析SMB协议,SMB协议有协议头和协议指令两个关键部分;1.2SMB协议二次定义1.2.1协议头二次定义,在结构体中添加PLATFORM字段用于定义平台信息;1.2.2协议指令二次定义,对SMB协议原有的指令进行重定义以及扩展如下:定义NEGOTIATE指令,用于与目标平台初次沟通;定义SESSION_SETUP指令,初始化已建立连接,并获取协商一致的连接信息;定义TREE_CONNECT指令,获取权限范围内的目录信息;定义CREATE指令,用于创建数据传输目录及数据文件;定义OPEN指令,用于打开数据源;定义READ指令,用于读取数据源中的数据;定义WRITE指令,用于向目标数据源写入数据;定义CLOSE指令,用于结束所有操作;定义DISCONNECT指令,用于断开连接,释放资源。作为优选,S2的具体方法如下:2.1创建连接,Get_connection,用于获得平台间的通讯链路;2.2初始化SMB连接Init_SMB_Connection,利用NEGOTIATE与SESSION_SETUP指令与目标平台的SMB协议进行沟通并获得有效SMB连接信息;2.3获取目标平台可操作目录Get_Target_path,利用TREE_CONNECT指令获取有效的操作路径及目录列表;2.4创建目标平台文件Get_Target_Input_Stream,利用CREATE指令在目标平台上创建目标文件或文件夹,对文件夹,获得一个目标平台的输入流;2.5开启目标数据源Get_Target_Output_Stream,传入目标路径,利用OPEN指令开启文件,并获得一个目标平台上输出的数据流;2.6读取目标数据源数据Read_Target_Data,通过READ指令从数据流中获得数据;2.7向目标数据源写入数据Write_Target_Data,通过WRITE指令向数据流中写入数据;2.8关闭所有数据流Close_Stream,通过CLOSE指令关闭与目标数据源的所有数据流;2.9断开连接,Disconnect,通过DISCONNECT指令释放与目标平台的SMB连接及TCP连接,并释放相关资源。作为优选,创建Windows平台符合既定传输接口及指令的数据传输模块:3.1Windows平台上数据connect流程,该流程即为windows与其他平台或windows平台创建SMB连接的流程;3.1.1创建socket连接3.1.2调用GetSMBConnection函数,该函数用于创建基于TCP的SMB连接,参数为具体的SMB连接的连接信息及获取到的socket连接;3.1.3调用GetTargetPath函数,该函数用于获取目标平台的可操作目录;3.2Windows平台上数据push流程,该流程即为windows向其他平台或windows平台主动推送信息的流程;3.2.1调用GetInputStream函数,该函数用于获取一个本地输入流,参数为connection的句柄;3.2.2调用GetOutputStream函数,该函数用于获取一个远程输出流,通过该流可以向指定的文件写入信息,参数为远程文件的SMB路径;3.2.3循环调用Read函数,该函数用于不断读取文件数据;3.2.4循环调用Write函数,该函数用于向流中写入数据;3.2.5调用Close函数,该函数用于关闭流,并做文件保存工作;3.3Windows平台上数据pull流程,该流程即为windows从其他平台或windows平台主动获取数据的流程;3.3.1调用GetInputStream函数,该函数用于获取一个远程输入流,参数为connection的句柄;3.3.2调用GetOutputStream函数,该函数用于获取一个本地文件输出流,通过该流可以向指定的文件写入信息,参数为本地文件的绝对路径;3.3.3循环调用Read函数,该函数用于不断读取流中的数据;3.3.4循环调用Write函数,该函数用于向本地文件写入数据;3.2.5调用Close函数,该函数用于关闭流,并做文件保存工作;3.3Windows平台上结束操作断开连接流程3.3.1调用Disconnect函数,该函数用于释放连接;3.3.2调用底层socket的disconnect函数,该函数用于释放底层socket连接。作为优选,Linux平台通用实现方式如下:对于支持原生SMB协议的系统,其实现方式与操作流程与Windows平台一致;对于不支持源生SMB协议的Linux系统,可以通过以下流程使SMB服务生效,然后使用与windows无异的操作方式完成跨平台传输;流程如下:(1)安装SAMBA服务;(2)配置本解决方案的指令包;(3)重启samba服务。作为优选,Android平台通用实现方式如下:本文档来自技高网...

【技术保护点】
一种基于文件共享协议的跨平台数据即时传输方法,其特征在于,包括如下步骤:S1、解析SMB协议的结构和规范,在此基础上对依赖TCP协议的SMB协议进行二次定义;S2、根据二次定义的SMB协议,均以TCP协议为基础,对通用的数据传输接口及指令进行定义,使基于Android、Windows及Linux平台之外的平台能够应用该传输方法;S3、创建分别对不同平台符合既定传输接口及指令的数据传输模块。

【技术特征摘要】
1.一种基于文件共享协议的跨平台数据即时传输方法,其特征在于,包括如
下步骤:S1、解析SMB协议的结构和规范,在此基础上对依赖TCP协议的SMB协议
进行二次定义;S2、根据二次定义的SMB协议,均以TCP协议为基础,对通用的
数据传输接口及指令进行定义,使基于Android、Windows及Linux平台之外的平
台能够应用该传输方法;S3、创建分别对不同平台符合既定传输接口及指令的
数据传输模块。
2.根据权利要求1所述的基于文件共享协议的跨平台数据即时传输方法,其
特征在于,S1的具体方法如下:
1.1解析SMB协议,SMB协议有协议头和协议指令两个关键部分;
1.2SMB协议二次定义
1.2.1协议头二次定义,在结构体中添加PLATFORM字段用于定义平台信息;
1.2.2协议指令二次定义,对SMB协议原有的指令进行重定义以及扩展如下:
定义NEGOTIATE指令,用于与目标平台初次沟通;
定义SESSION_SETUP指令,初始化已建立连接,并获取协商一致的连接信息;
定义TREE_CONNECT指令,获取权限范围内的目录信息;
定义CREATE指令,用于创建数据传输目录及数据文件;
定义OPEN指令,用于打开数据源;
定义READ指令,用于读取数据源中的数据;
定义WRITE指令,用于向目标数据源写入数据;
定义CLOSE指令,用于结束所有操作;
定义DISCONNECT指令,用于断开连接,释放资源。
3.根据权利要求2所述的基于文件共享协议的跨平台数据即时传输方法,其
特征在于,S2的具体方法如下:
2.1创建连接,Get_connection,用于获得平台间的通讯链路;
2.2初始化SMB连接
Init_SMB_Connection,利用NEGOTIATE与SESSION_SETUP指令与目标平台的
SMB协议进行沟通并获得有效SMB连接信息;
2.3获取目标平台可操作目录
Get_Target_path,利用TREE_CONNECT指令获取有效的操作路径及目录列表;
2.4创建目标平台文件
Get_Target_Input_Stream,利用CREATE指令在目标平台上创建目标文件或
文件夹,对文件夹,获得一个目标平台的输入流;
2.5开启目标数据源
Get_Target_Output_Stream,传入目标路径,利用OPEN指令开启文件,并获
得一个目标平台上输出的数据流;
2.6读取目标数据源数据
Read_Target_Data,通过READ指令从数据流中获得数据;
2.7向目标数据源写入数据
Write_Target_Data,通过WRITE指令向数据流中写入数据;
2.8关闭所有数据流
Close_Stream,通过CLOSE指令关闭与目标数据源的所有数据流;
2.9断开连接,Disconnect,通过DISCONNECT指令释放与目标平台的SMB连
接及TCP连接,并释放相关资源。
4.根据权利要求3所述的基于文件共享协议的跨平台数据即时传输方法,
其特征在于,创建Windows平台符合既定传输接口及指令的数据传输模块:
3.1Windows平台上数据connect流程,该流程即为windows与其他平台或

\twindows平台创建SMB连接的流程;
3.1.1创建socket连接
3....

【专利技术属性】
技术研发人员:黄旭杨博
申请(专利权)人:四川秘无痕信息安全技术有限责任公司
类型:发明
国别省市:四川;51

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

1