CN117857707A - 一种基于云桌面网络扫描仪的文件扫描方法 - Google Patents

一种基于云桌面网络扫描仪的文件扫描方法 Download PDF

Info

Publication number
CN117857707A
CN117857707A CN202311712754.5A CN202311712754A CN117857707A CN 117857707 A CN117857707 A CN 117857707A CN 202311712754 A CN202311712754 A CN 202311712754A CN 117857707 A CN117857707 A CN 117857707A
Authority
CN
China
Prior art keywords
data
scanner
network
cloud desktop
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311712754.5A
Other languages
English (en)
Inventor
吴朝东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202311712754.5A priority Critical patent/CN117857707A/zh
Publication of CN117857707A publication Critical patent/CN117857707A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于I T与软件开发领域,本发明公开了一种基于云桌面网络扫描仪的文件扫描方法,所述方法包括:网络代理模块:捕获扫描仪驱动与扫描仪的交互数据,获得网络数据;云桌面服务模块:监听特定的TCP/UDP端口,接收来自网络代理模块的网络数据,并进行解析和封装处理,解析后的数据做结构化封装处理并缓存到队列中;云桌面客户端;云桌面客户端与扫描仪设备建立连接,将封装数据发送给扫描仪同时接收来自扫描仪的数据,并将扫描仪数据返回给云桌面服务模块;利用网络代理模块进行流量代理和流量转发,利用串口通信实现云桌面与本地客户端的数据传输,间接实现扫描仪和驱动之间的数据通信,完成扫描操作。

Description

一种基于云桌面网络扫描仪的文件扫描方法
技术领域
本发明涉及IT与软件开发领域,更具体地说,本发明涉及一种基于云桌面网络扫描仪的文件扫描方法。
背景技术
近年来,云计算技术发展迅猛,云计算产品、技术和服务在市场引起了新一轮的产业变革,云桌面是一种基于云计算和虚拟化技术的一种应用服务,通过云计算技术把传统计算机桌面环境抽离出来,成为一种可以对外服务的虚拟桌面服务,将计算能力和存储迁移到了云端,弱化本地需求和能力,仅提供输入输出信息,通过特定传输协议,将云端与本地进行连接,实现交互。
扫描仪是计算机常用的外设应用之一,在云桌面的应用场景下,传统计算机桌面应用逐步迁移到云桌面,但云桌面不同于传统计算机桌面的架构,传统的扫描设备使用方式已不适用于云桌面场景。
传统的扫描设备样式众多,不同的设备接口类型,不同的扫描指令集,不同的平台支持程度,使得云桌面中扫描仪应用面临着巨大的挑战。
通常扫描仪有两种连接电脑的方式,一种是的USB接口,另一种是网线接口的,因此针对桌面虚拟化场景需要有专门的映射技术,如USB重定向,该解决方案需要将设备与终端通过USB线连接,受限于物理设备和空间大小;而网络扫描仪方案可以不受限于物理设备和空间,但对网络连通性有一定要求。
并且在USB接口扫描仪共享时,需要一台电脑作为主机,扫描仪与电脑通过USB数据线进行连接,其它用户通过局域网中访问云电脑的共享扫描仪,这需要特定云电脑一直处于开机状态,其次是维护不方便,设置时会因为用户权限,系统服务,安全软件拦截,导致不稳定;
另一种方式是通过网线连接,带网口扫描仪自带有线网口,通过网线将设备连接至局域网的交换机上或者路由器上,用户通过扫描仪的IP地址共享访问,这种方式虽然解决了稳定性与维护方便性的问题,但是若云桌面网络与本地网络不互通,云桌面则无法访问扫描仪设备,因此,有必要针对该场景下提供解决方案。
发明内容
为了克服现有技术的上述缺陷,本发明提供一种基于云桌面网络扫描仪的文件扫描方法,所述方法包括:
网络代理模块:捕获扫描仪驱动与扫描仪的交互数据,获得网络数据;
云桌面服务模块:监听特定的TCP/UDP端口,接收来自网络代理模块的网络数据,并进行解析和封装处理,解析后的数据做结构化封装处理并缓存到队列中,同时通过串口通信转发给云桌面客户端;
云桌面客户端;通过与服务模块协商的连接id和目的IP、port来识别不同的TCP和UDP连接,使用协商的结构体记录连接信息,云桌面客户端与扫描仪设备建立连接,将封装数据发送给扫描仪并接收来自扫描仪的数据,标记为扫描仪数据,并将扫描仪数据返回给云桌面服务模块,完成数据交互。
优选地,所述网络代理模块基于WinDivert捕获扫描仪驱动与扫描仪的交互数据。
优选地,所述网络代理模块捕获扫描仪驱动与扫描仪的交互数据方法包括:
S11、网络代理模块中的WinDivert对网络层及以上的数据包进行嗅探,通过接口开启嗅探;
S12、设定过滤规则,只捕获符合筛选器表达式的网络数据;
S13、接收网络数据,并解析网络数据信息,得到网络数据的类型。
优选地,设定捕获网络数据中目的IP为扫描仪IP,包含TCP包和UDP包,即从扫描仪驱动发出的网络数据会被网络代理模块捕获。
优选地,所述网络数据的类型包括源IP、源端口、目的IP、目的端口和驱动数据。
优选地,解析网络数据后网络代理模块对解析网络数据进行修改,包括步骤:
S14、将解析网络数据中所述目的端口转换成访问本地端口;
S15、发送修改后的数据包到本地特定端口。
优选地,所述云桌面服务模块获取来自网络代理模块的网络数据并进行转发,转发方法包括:
S21、云桌面服务模块进行TCP/UDP特定端口监听,实时获取来自网络代理模块的网络数据;
S22、解析网络数据得到源IP端口和目的IP端口、TCP/UDP类型,数据长度;
S23、对所述解析原始数据包进行结构化封装处理,并定义连接id,作为唯一链接标识号,确保云桌面服务模块和云桌面客户端之间数据包一一对应;
S24、封装数据存储在发送队列,运用串口通信转发到云桌面客户端。
优选地,所述云桌面客户端获取来自云桌面服务模块的封装数据并进行解析,与扫描仪设备进行连接,包括以下步骤:
S31、对获取的封装数据进行解析,得到源IP端口、目的IP端口、TCP/UDP类型、驱动数据及数据长度;
S32、云桌面客户端通过与服务模块协商的连接id和类型来识别对应的TCP连接和UDP连接;
S33、云桌面客户端与扫描仪设备通过IP和端口信息建立连接,并将解析得到的驱动数据进行实时发送;
S34、云桌面客户端将获取的驱动数据发送给扫描仪并接收来自扫描仪的扫描仪数据,并将扫描仪数据返回给云桌面服务模块,完成数据交互。
优选地,所述云桌面客户端与服务模块数据交互的方法为:
客户端通过与服务模块协商的连接id来识别不同的TCP连接;
通过连接id和目的IP、port共同组成的字符串来识别不同的UDP连接;
通过协商的结构体来记录一个完成连接所需的信息,包括socket状态。
优选地,所述云桌面客户端与服务模块进行数据交互时,TCP是有状态的数据流、UDP是无状态的数据报。
本发明一种基于云桌面网络扫描仪的文件扫描方法的技术效果和优点:
1.在云桌面网络与本地网络不互通的情况下可以进行文件扫描操作,不受限于网络连通条件,利用网络代理模块进行流量代理和流量转发,利用串口通信实现云桌面与本地客户端的数据传输,间接实现扫描仪和驱动之间的数据通信,完成扫描操作。
2.相比USB重定向实现的扫描仪操作方法,不需要连接USB线,不受限于物理连接和时空限制,维护方便,极大方便用户的日常使用。
3.初次部署完成后,后续可以直接使用,操作简便,实现将扫描仪与多个云桌面快速连接并进行扫描操作,而不需要设置一个特定的"主电脑"来共享扫描仪。
4.其中代理IP、端口等信息可以灵活设置,可以更好地兼容不同场景下的流量转发需求,具备可扩展性。
附图说明
图1为本发明网络扫描仪代理转发示意图;
图2为本发明windows防火墙架构示意图;
图3为本发明网络扫描仪数据转发流程图;
图4为本发明扫描方法流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1-3所示的一种基于云桌面网络扫描仪的文件扫描方法,包含网络代理模块、云桌面服务、云桌面客户端等模块,由网络代理工具捕获扫描仪驱动和扫描仪的交互数据,修改IP层数据包头字段(dstIP,即目的IP地址,在网络通信中,IP地址用于标识网络中的设备或主机,源IP地址表示发送方的地址,而目标IP地址则表示接收方的地址目标IP地址用于确定数据包应该发送到哪个设备或主机、dstPort用于标识不同的应用程序或服务,源端口表示发送方使用的端口,而目标端口表示接收方期望接收数据的端口,目标端口用于将数据包传递到正确的应用程序或服务),将修改后的数据发到云桌面服务模块,对TCP/UDP等网络数据进行封装、转发、处理,并将数据通过串口通信发送到云桌面客户端,本地客户端与扫描仪设备建立连接,将数据转发给扫描仪,经过扫描仪驱动和扫描仪的多次数据交互,完成文件扫描,并将文件保存在云桌面服务中。
具体的方法包括:
网络代理模块:通过设置的目的IP、代理IP、代理端口,利用WinDivert进行流量代理和流量转发,捕获扫描仪驱动与扫描仪的交互数据,获得网络数据,网络代理模块基于WinDivert捕获扫描仪驱动与扫描仪的交互数据,windows防火墙架构如图2所示,在winsock.dll层面将流量报文拦截下来,然后转移到端口代理中去,利用WinDivert驱动可以把指定目的端口的流量转换成访问本地其它端口,从而实现把从扫描仪驱动出来的流量进行捕获并转移到本地特定端口,再经过云桌面服务模块进行数据监听、封装处理;
云桌面服务模块:模块初始化,如图3所示,首先进行TCP/UDP特定端口监听,如127.0.0.1:9001,监听来自网络代理模块的数据,一旦有数据过来,云桌面服务模块会将网络数据获取并缓存,解析网络数据得到源IP端口和目的IP端口、TCP/UDP类型,数据长度,并对数据进行封装处理,将数据缓存到队列中,同时运用串口通信转发到云桌面客户端;
云桌面客户端;客户端通过与服务模块协商的连接id来识别不同的TCP连接,通过连接id和目的IP、port共同组成的字符串来识别不同的UDP连接;通过协商的结构体来记录一个完成连接所需的信息,包括socket状态及相关信息;TCP是有状态的数据流、UDP是无状态的数据报,云桌面客户端处理过程遵循这一基本原理,来传递所需的信息,云桌面客户端与扫描仪通过IP和端口信息建立连接,将获取的数据发送给扫描仪并接收来自扫描仪的数据,并将扫描仪数据返回给云桌面服务模块,完成数据交互;
需要说明的是,socket状态在网络编程中,指描述一个套接字(socket)当前状态的属性或标记,套接字是网络通信中的一种抽象,用于在应用程序之间进行数据传输,套接字状态可以用于跟踪套接字的连接状态、数据传输状态以及错误状态。
值得一提的是,WinDivert是一个用于Windows操作系统的网络数据捕获和修改库,它提供了一种在用户级别捕获和处理网络数据的机制,可以用于实现网络代理、防火墙、流量分析等功能,使用WinDivert库,可以配置过滤器规则来选择需要捕获的网络数据,过滤器规则可以基于源IP地址、目标IP地址、端口号、协议类型等参数进行定义,以便选择特定的数据包进行捕获和处理,一旦配置了过滤器规则,WinDivert开始在网络堆栈的中间层捕获传入和传出的网络数据,WinDivert使用Windows的网络过滤驱动程序来实现数据包的捕获,这个驱动程序位于网络协议栈和网络适配器之间,当WinDivert捕获到满足过滤器规则的数据包时,它将触发一个回调函数,允许用户在用户态对这些数据包进行处理在回调函数中,用户可以读取和修改数据包的内容,包括源IP地址、目标IP地址、端口号、数据负载;用户可以在回调函数中选择将数据包重定向到不同的目的地,这意味着用户可以修改数据包的目标IP地址和端口号,将数据包发送到修改后的目标地址,或者丢弃数据包。
本实施例中,在扫描仪识别添加阶段和工作阶段,扫描仪驱动根据设定的扫描仪IP发送网络数据包,网络代理模块对网络数据包进行捕获、修改、转发,包括以下步骤:
S11、网络代理模块中的WinDivert对网络层及以上的数据包进行嗅探,通过接口开启嗅探;
S12、设定过滤规则,只捕获符合筛选器表达式的网络数据,任何其他数据包都可以按正常状态继续,设定捕获的数据包的目的IP为扫描仪IP,包含TCP包和UDP包,即从扫描仪驱动发出的数据包会被网络代理模块捕获;
S13、接收网络数据,即原始数据包,并解析原始数据包信息,得到原始数据包的类型包括源IP、源端口、目的IP、目的端口、驱动数据信息。
S14、修改数据包,把指定目的端口转换成访问本地端口,同时计算校验和,确保修改有效;
S15、把修改后的数据包发送出去,从而实现把扫描仪驱动出来的流量进行捕获并转移到本地特定端口,如9001端口。
值得一提的是,校验和是用于验证数据包在传输过程中是否被篡改的一种校验机制,根据协议的不同,校验和计算的方法也不同,对于TCP和UDP数据包,需要重新计算校验和字段,并更新数据包中的校验和值。
云桌面服务模块获取来自网络代理模块的数据并进行转发,包括以下步骤:
S21、云桌面服务模块进行TCP/UDP特定端口监听,如127.0.0.1:9001,实时获取来自网络代理模块的网络数据;
S22、解析网络数据得到源IP端口和目的IP端口、TCP/UDP类型,数据长度;
S23、对解析原始数据包进行结构化封装处理,并定义连接id,作为唯一链接标识号,确保云桌面服务模块和云桌面客户端之间数据包一一对应;
S24、封装数据存储在发送队列,运用串口通信转发到云桌面客户端。
云桌面客户端获取来自云桌面服务模块的数据并进行解析,与扫描仪设备进行连接,包括以下步骤:
S31、对获取的封装数据进行解析,得到源IP端口、目的IP端口、TCP/UDP类型、驱动数据及数据长度;
S32、云桌面客户端通过与服务模块协商的连接id和类型来识别对应的TCP连接和UDP连接;
S33、云桌面客户端与扫描仪设备通过IP和端口信息建立连接,并将解析得到的驱动数据进行实时发送;
S34、云桌面客户端将获取的驱动数据发送给扫描仪并接收来自扫描仪的扫描仪数据,并将扫描仪数据返回给云桌面服务模块,完成数据交互。
本实施例中用户用本实施例方法部署扫描方法具体操作步骤为:
网络代理模块即网络代理工具,是安装在云桌面客户端的软件,用于实施上述扫描方法,首先连接并启动扫描仪,在扫描仪设备上获取扫描仪IP,在云桌面内打开网络代理工具,设置好扫描仪IP并启动网络代理工具,根据扫描仪型号获取对应版本驱动,在云桌面内正确安装驱动,检查驱动与扫描仪的连通性后可以正常进行文件扫描操作,扫描完成后文件保存在云桌面文件夹下,即可查阅。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
最后:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,所述方法包括:
捕获扫描仪驱动与扫描仪的交互数据,获得网络数据;
监听特定的TCP/UDP端口,接收来自网络代理模块的网络数据,并进行解析和封装处理,解析后的数据做结构化封装处理并缓存到队列中,同时通过串口通信转发给云桌面客户端;
通过与服务模块协商的连接id和目的IP、port来识别不同的TCP和UDP连接,使用协商的结构体记录连接信息,云桌面客户端与扫描仪设备建立连接,将封装数据发送给扫描仪并接收来自扫描仪的数据,标记为扫描仪数据,并将扫描仪数据返回给云桌面服务模块,完成数据交互。
2.根据权利要求1所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,所述网络代理模块基于WinDivert捕获扫描仪驱动与扫描仪的交互数据。
3.根据权利要求2所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,所述网络代理模块捕获扫描仪驱动与扫描仪的交互数据方法包括:
S11、网络代理模块中的WinDivert对网络层及以上的数据包进行嗅探,通过接口开启嗅探;
S12、设定过滤规则,只捕获符合筛选器表达式的网络数据;
S13、接收网络数据,并解析网络数据信息,得到网络数据的类型。
4.根据权利要求3所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,设定捕获网络数据中目的IP为扫描仪IP,包含TCP包和UDP包,即从扫描仪驱动发出的网络数据会被网络代理模块捕获。
5.根据权利要求4所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,所述网络数据的内容包括源IP、源端口、目的IP、目的端口和驱动数据。
6.根据权利要求5所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,解析网络数据后网络代理模块对网络数据进行修改,包括步骤:
S14、将解析网络数据中所述目的端口转换成访问本地端口;
S15、发送修改后的数据包到本地特定端口。
7.根据权利要求6所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,所述云桌面服务模块获取来自网络代理模块的网络数据并进行转发,转发方法包括:
S21、云桌面服务模块进行TCP/UDP特定端口监听,实时获取来自网络代理模块的网络数据;
S22、解析网络数据得到源IP端口和目的IP端口、TCP/UDP类型,数据长度;
S23、对所述解析原始数据包进行结构化封装处理,并定义连接id,作为唯一链接标识号;
S24、封装数据存储在发送队列,运用串口通信转发到云桌面客户端。
8.根据权利要求7所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,所述云桌面客户端获取来自云桌面服务模块的封装数据并进行解析,与扫描仪设备进行连接,包括以下步骤:
S31、对获取的封装数据进行解析,得到源IP端口、目的IP端口、TCP/UDP类型、驱动数据及数据长度;
S32、云桌面客户端通过与服务模块协商的连接id和类型来识别对应的TCP连接和UDP连接;
S33、云桌面客户端与扫描仪设备通过IP和端口信息建立连接,并将解析得到的驱动数据进行实时发送;
S34、云桌面客户端将获取的驱动数据发送给扫描仪,并接收来自扫描仪的扫描仪数据,并将扫描仪数据返回给云桌面服务模块,完成数据交互。
9.根据权利要求8所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,所述云桌面客户端与服务模块数据交互的方法为:
客户端通过与服务模块协商的连接id来识别不同的TCP连接;
通过连接id和目的IP、port共同组成的字符串来识别不同的UDP连接;
通过协商的结构体来记录一个完成连接所需的信息,包括socket状态。
10.根据权利要求9所述的一种基于云桌面网络扫描仪的文件扫描方法,其特征在于,所述云桌面客户端与服务模块数据交互时,TCP是有状态的数据流,UDP是无状态的数据报。
CN202311712754.5A 2023-12-13 2023-12-13 一种基于云桌面网络扫描仪的文件扫描方法 Pending CN117857707A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311712754.5A CN117857707A (zh) 2023-12-13 2023-12-13 一种基于云桌面网络扫描仪的文件扫描方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311712754.5A CN117857707A (zh) 2023-12-13 2023-12-13 一种基于云桌面网络扫描仪的文件扫描方法

Publications (1)

Publication Number Publication Date
CN117857707A true CN117857707A (zh) 2024-04-09

Family

ID=90541114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311712754.5A Pending CN117857707A (zh) 2023-12-13 2023-12-13 一种基于云桌面网络扫描仪的文件扫描方法

Country Status (1)

Country Link
CN (1) CN117857707A (zh)

Similar Documents

Publication Publication Date Title
US8250643B2 (en) Communication device, communication system, communication method, and program
US8996657B2 (en) Systems and methods for multiplexing network channels
US7293108B2 (en) Generic external proxy
CN111294399B (zh) 一种数据传输方法和装置
Kumar et al. The osi model: overview on the seven layers of computer networks
US9015822B2 (en) Automatic invocation of DTN bundle protocol
KR20070026331A (ko) 패킷이 필터링되어 있는 것 이외의 네트워크 프로토콜레이어에서 가상 사설망을 형성하기 위해 보안 통신 링크를설정하기 위한 시스템, 장치 및 방법
JP2006033854A (ja) ノード間の通信を可能にする方法、システム、およびプログラム
CN104168257A (zh) 基于非网络方式的数据隔离装置及其方法与系统
CN107147655A (zh) 一种网络双协议栈并行处理模型及其处理方法
KR102383782B1 (ko) 데이터 통신에서의 터널 데이터 업데이트 처리방법
CN113301106A (zh) 运维处理系统、方法以及装置
CN105554540A (zh) 一种网络接口在条件接收卡中的实现方法和装置
CN114518969A (zh) 进程间通信方法、系统、存储介质和计算机设备
CN114615082A (zh) 一种使用正反向网闸模拟tcp双工安全通讯系统和方法
CN108064441B (zh) 一种加速网络传输优化方法以及系统
CN113794715B (zh) 一种虚拟点对点网络数据发送方法及其系统
CN117857707A (zh) 一种基于云桌面网络扫描仪的文件扫描方法
CN100592265C (zh) 路由分组通信量来确保通信安全的方法、系统和计算机系统
JP5438230B2 (ja) インターネット接続システム
CN114978643B (zh) 一种通信方法、网络设备及存储介质
CN116668558B (zh) 一种针对udp协议流量实行动态访问控制的方法及系统
WO2006064561A1 (ja) 仮想プライベートネットワークシステム
CN112787998B (zh) 一种基于dpdk的alg实现方法和系统
JP2005072701A (ja) インタフェース提供装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination