CN113179194B - Opc协议网关的测试系统及方法 - Google Patents
Opc协议网关的测试系统及方法 Download PDFInfo
- Publication number
- CN113179194B CN113179194B CN202110469060.8A CN202110469060A CN113179194B CN 113179194 B CN113179194 B CN 113179194B CN 202110469060 A CN202110469060 A CN 202110469060A CN 113179194 B CN113179194 B CN 113179194B
- Authority
- CN
- China
- Prior art keywords
- test
- opc
- record
- message
- communication connection
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种OPC协议网关的测试系统及方法。该方法包括:测试客户端和测试服务器基于OPC协议建立OPC通信连接;OPC协议网关基于所述OPC通信连接提取动态端口;所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录;所述OPC协议网关基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,将处理后的测试报文转发至所述测试服务器;所述测试服务器接收处理后的测试报文并生成接收记录;基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果。本公开能够自动化的对OPC classic安全网关的动态端口跟踪功能、指令类型防护功能进行检测,节约大量人力物力,提升检测效率。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种OPC协议网关的测试方法、系统、电子设备及计算机可读介质。
背景技术
OPC classic是一种利用微软的COM/DCOM技术来达成自动化控制的协议,采用典型的C/S模式,已广泛应用在各种工业控制系统现场。与大多数应用层协议不同,OPC的基础协议DCOM协议使用动态端口机制,在真正建立数据连接之前通讯双方还需要协商需要使用的端口。
OPC classic协议安全网关跟踪并解析OPC服务器与OPC客户端协商出来的动态端口,然后自动将动态端口加入到防护设备的开放端口中,从而最小化开放生产控制网的端口。并且有对应的动态端口老化机制,避免长时间过多已结束使用的动态端口数量增长,造成安全风险。
在现有技术中,可通过OPC模拟软件或者OPC客户端服务器对基于OPC协议的网关进行测试。在测试过程中,测试动态端口跟踪功能需要测试人员抓取OPC通信报文分析并记录协商出来的动态端口,构造非动态端口列表的报文,测试安全网关是否阻断或者告警。测试读写操作指令访问控制需要测试人员操作OPC软件进行读写操作。但是,在通信过程中,动态端口分配并非在OPC客户端服务器建立连接初期一次性的分配完成,在之后的通信过程中也会有新的协商,使用新的动态端口。人工抓取报文查看记录动态端口进程测试的话,很容易漏掉部分动态端口,而且逐个报文检查也比较麻烦,人工配置测试繁琐。
因此,需要一种新的OPC协议网关的测试方法、系统、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种OPC协议网关的测试方法、系统、电子设备及计算机可读介质,能够自动化的对OPC classic安全网关的动态端口跟踪功能、指令类型防护功能进行检测,节约大量人力物力,提升检测效率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种OPC协议网关的测试方法,该方法包括:测试客户端和测试服务器基于OPC协议建立OPC通信连接;OPC协议网关基于所述OPC通信连接提取动态端口;所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录;所述OPC协议网关基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,将处理后的测试报文转发至所述测试服务器;所述测试服务器接收处理后的测试报文并生成接收记录;基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果。
在本公开的一种示例性实施例中,还包括:所述OPC协议网关配置访问控制策略,所述访问控制策略包括允许协议集合、操作指令集合。
在本公开的一种示例性实施例中,测试客户端和测试服务器基于OPC协议建立OPC通信连接,包括:通过自动化测试脚本调用所述测试客户端;控制所述测试客户端与所述测试服务器基于OPC协议建立OPC通信连接;自动化测试脚本持续记录所述OPC通信连接中的至少一个动态端口。
在本公开的一种示例性实施例中,所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录,包括:所述测试客户端基于所述OPC通信连接发送动态端口跟踪测试报文并生成发送记录;和/或所述测试客户端基于所述OPC通信连接发送动态端口老化测试报文并生成发送记录;和/或所述测试客户端基于所述OPC通信连接发送读写指令访问测试报文并生成发送记录。
在本公开的一种示例性实施例中,所述测试客户端基于所述OPC通信连接发送动态端口跟踪测试报文并生成发送记录,包括:自动化测试脚本基于所述OPC通信连接的当前动态端口生成测试端口;自动化测试脚本基于所述测试端口构造所述动态端口跟踪测试报文;自动化测试脚本控制所述测试客户端发送动态端口跟踪测试报文并生成发送记录。
在本公开的一种示例性实施例中,所述测试客户端基于所述OPC通信连接发送动态端口老化测试报文并生成发送记录,包括:自动化测试脚本基于所述OPC通信连接的当前动态端口生成测试端口;自动化测试脚本定时基于所述测试端口构造所述动态端口老化测试报文;自动化测试脚本控制所述测试客户端发送动态端口老化测试报文并生成发送记录。
在本公开的一种示例性实施例中,所述测试客户端基于所述OPC通信连接发送读写指令访问测试报文并生成发送记录,包括:自动化测试脚本生成同步读写操作报文、异步读写操作报文;基于所述同步读写操作报文、所述异步读写操作报文生成读写指令访问测试报文;自动化测试脚本控制所述测试客户端发送读写指令访问测试报文并生成发送记录。
在本公开的一种示例性实施例中,所述OPC协议网关基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,包括:所述OPC协议网关基于所述动态端口和预设的访问控制策略确定所述测试报文通过或阻断。
在本公开的一种示例性实施例中,基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果,包括:将所述发送记录和所述接收记录进行对比以提取测试信息;基于所述测试信息确定所述OPC协议网关的测试结果。
在本公开的一种示例性实施例中,将所述发送记录和所述接收记录进行对比以提取测试信息,包括:将所述发送记录和所述接收记录进行对比以提取所述OPC协议网关的IP地址、动态端口跟踪列表、端口老化时间、通过端口号、阻断端口号、通过指令集合、阻断指令集合、告警日志。
根据本公开的一方面,提出一种OPC协议网关的测试系统,该系统包括:测试客户端,用于与测试服务器基于OPC协议建立OPC通信连接,并基于所述OPC通信连接发送测试报文并生成发送记录;还用于基于所述发送记录和接收记录生成所述OPC协议网关的测试结果;OPC协议网关,用于基于所述OPC通信连接提取动态端口;并基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,将处理后的测试报文转发至所述测试服务器;所述测试服务器,用于接收处理后的测试报文并生成所述接收记录。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的OPC协议网关的测试方法、系统、电子设备及计算机可读介质,测试客户端和测试服务器基于OPC协议建立OPC通信连接;OPC协议网关基于所述OPC通信连接提取动态端口;所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录;所述OPC协议网关基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,将处理后的测试报文转发至所述测试服务器;所述测试服务器接收处理后的测试报文并生成接收记录;基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果的方式,能够自动化的对OPC classic安全网关的动态端口跟踪功能、指令类型防护功能进行检测,节约大量人力物力,提升检测效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种OPC协议网关的测试系统的系统框图。
图2是根据一示例性实施例示出的一种OPC协议网关的测试方法的流程图。
图3是根据另一示例性实施例示出的一种OPC协议网关的测试方法的流程图。
图4是根据另一示例性实施例示出的一种OPC协议网关的测试方法的流程图。
图5是根据另一示例性实施例示出的一种OPC协议网关的测试方法的流程图。
图6是根据一示例性实施例示出的一种电子设备的框图。
图7是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、系统、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
图1是根据一示例性实施例示出的一种OPC协议网关的测试系统的系统框图。
如图1所示,系统架构10可以包括测试客户端101、OPC协议网关102、测试服务器103,还可包括网络104。网络104用以在测试客户端101、OPC协议网关102、测试服务器103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
测试客户端101可例如与测试服务器103基于OPC协议建立OPC通信连接;OPC协议网关102可例如基于所述OPC通信连接提取动态端口;所述测试客户端101可例如基于所述OPC通信连接发送测试报文并生成发送记录;所述OPC协议网关102可例如基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,将处理后的测试报文转发至所述测试服务器103;所述测试服务器103可例如接收处理后的测试报文并生成接收记录;测试客户端101或测试服务器103可例如基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果。
图2是根据一示例性实施例示出的一种OPC协议网关的测试方法的流程图。OPC协议网关的测试方法20至少包括步骤S202至S212。
如图2所示,在S202中,测试客户端和测试服务器基于OPC协议建立OPC通信连接。包括:通过自动化测试脚本调用所述测试客户端;控制所述测试客户端与所述测试服务器基于OPC协议建立OPC通信连接;自动化测试脚本持续记录所述OPC通信连接中的至少一个动态端口。
在一个具体的实施例中,OPC客户端可使用5568作为源端口首先向OPC服务器的135端口发起连接,连接成功后再经过OPC服务器分配新端口1118,并通过接口ISystemActivator的方法RemoteCreateInstance的应答报文返回给客户端,之后客户端使用5569作为源端口向服务器的1118端口发起新的连接用来后面的真正数据的传输。
在S204中,OPC协议网关基于所述OPC通信连接提取动态端口。OPC classic协议安全网关跟踪并解析OPC服务器与OPC客户端协商出来的动态端口,然后自动将动态端口加入到防护设备的开放端口中,从而最小化开放生产控制网的端口。更进一步的,可抓取OPC建立连接的完整过程交互报文,才能获取协商动态端口信息。
在S206中,所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录。包括:所述测试客户端基于所述OPC通信连接发送动态端口跟踪测试报文并生成发送记录;和/或所述测试客户端基于所述OPC通信连接发送动态端口老化测试报文并生成发送记录;和/或所述测试客户端基于所述OPC通信连接发送读写指令访问测试报文并生成发送记录。基于动态端口,构造报文测试OPC网关是否能识别非法端口。
在一个实施例中,可通过三个维度对OPC classic安全网关进行测试:动态端口跟踪:动态端口可通过,非动态端口阻断;动态端口老化时长:动态端口老化后,该端口报文阻断;读写指令访问控制:除待测设备允许通过的指令类型都阻断。
还可使用Python OS库和Load runner等工具调用OPC客户端服务器,录制操作步骤进行自动化脚本制作。
其中,Load runner:是一种预测系统行为和性能的负载测试工具,LR的组件很多,其中最核心的组件包括:Vuser Generator(VuGen)用于捕获最终用户业务流程和创建自动性能测试脚本Controller用于组织、驱动、管理和监控负载测试。Load Generator负载生成器用于通过运行虚拟用户生成负载。Analysis有助于查看、分析和比较性能结果。LR可以用于录制C/S客户端操作,进行自动化测试。
其中,Python OS库:OS库是Python标准库,包含几百个函数,提供通用的、基本的操作系统交互功能,包括常用路径操作,进程管理,环境参数等几类。可用于编程自动化测试程序,开启关闭C/S程序。
在S208中,所述OPC协议网关基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,将处理后的测试报文转发至所述测试服务器。包括:所述OPC协议网关基于所述动态端口和预设的访问控制策略确定所述测试报文通过或阻断。
在一个实施例中,还包括:所述OPC协议网关配置访问控制策略,所述访问控制策略包括允许协议集合、操作指令集合。
测试客户端可以对测试服务器进行同步异步读写数据操作。安全网关可对OPC的读写操作进行指令访问控制。安全网关还包括有对应的动态端口老化机制,避免长时间过多已结束使用的动态端口数量增长,造成安全风险。
在S210中,所述测试服务器接收处理后的测试报文并生成接收记录。测试服务器记录接收到的测试报文,并记录报文的发送时间和报文相关信息。
在S212中,基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果。包括:将所述发送记录和所述接收记录进行对比以提取测试信息;基于所述测试信息确定所述OPC协议网关的测试结果。
其中,将所述发送记录和所述接收记录进行对比以提取测试信息,包括:将所述发送记录和所述接收记录进行对比以提取所述OPC协议网关的IP地址、动态端口跟踪列表、端口老化时间、通过端口号、阻断端口号、通过指令集合、阻断指令集合、告警日志。
还可通过日志服务器获取待测安全网关的告警日志,结合待测OPC网关的配置和测试客户端、测试服务器报文收发计时计数信息验证告警日志的准确性。
还可例如,测试服务器端的报文计时计数信息发送至测试客户端,与测试客户端的报文发送情况对比,最后输出测试报告。报告内容包括待测安全网关的IP,动态端口跟踪列表,各端口老化时长,通过待测设备的报文端口号,被阻断的报文端口号,通过待测设备的操作指令类型,被阻断的操作指令类型,告警日志匹配情况。
根据本公开的OPC协议网关的测试方法,测试客户端和测试服务器基于OPC协议建立OPC通信连接;OPC协议网关基于所述OPC通信连接提取动态端口;所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录;所述OPC协议网关基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,将处理后的测试报文转发至所述测试服务器;所述测试服务器接收处理后的测试报文并生成接收记录;基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果的方式,能够自动化的对OPC classic安全网关的动态端口跟踪功能、指令类型防护功能进行检测,节约大量人力物力,提升检测效率。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种OPC协议网关的测试方法的流程图。图3所示的流程30是对图2所示的流程中S302“测试客户端和测试服务器基于OPC协议建立OPC通信连接”的详细描述。
如图3所示,在S302中,通过自动化测试脚本调用所述测试客户端。
在S304中,控制所述测试客户端与所述测试服务器基于OPC协议建立OPC通信连接。
在S306中,自动化测试脚本持续记录所述OPC通信连接中的至少一个动态端口。更进一步的,可在OPC建立客户端与服务器的连接时,持续抓取报文,并且提取源端口号为135,解析时可通过接口ISystemActivator方法中RemoteCreateInstance的应答报文,此类应答报文载有服务器分配的动态端口信息,持续记录动态端口,形成动态端口列表。
在S308中,自动化测试脚本基于所述OPC通信连接的当前动态端口生成测试报文。自动化测试脚本每次记录动态端口刷新(变更)时,即可生成测试报文。
在S310中,自动化测试脚本控制所述测试客户端发送测试报文。
图4是根据另一示例性实施例示出的一种OPC协议网关的测试方法的流程图。图4所示的流程40是对图2所示的流程中S206“所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录”的详细描述。
如图4所示,在S402中,所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录。测试客户端和测试服务器端都持续抓取报文,根据端口号计时计数。
在S404中,动态端口跟踪测试报文。更具体的,自动化测试脚本基于所述OPC通信连接的当前动态端口生成测试端口;自动化测试脚本基于所述测试端口构造所述动态端口跟踪测试报文;自动化测试脚本控制所述测试客户端发送动态端口跟踪测试报文并生成发送记录。
在一个实施例中,每次记录动态端口刷新时,构造非列表端口范围内的TCP SYN报文经过待测试的OPC网关,测试该报文是否被阻断。可例如,已经记录了动态端口57412,57455。新识别到OPC测试客户端与测试服务器协商出动态端口57453,记录至动态端口列表中。
测试客户端构造动态端口列表范围以外TCP报文,可例如端口号57452,测试服务器抓包,读取端口号信息。如果测试服务器未收端口号为57452的TCP报文,则安全网关的动态端口跟踪功能验证成功。如果测试服务器收到端口号为57452的TCP报文,则OPC网关的动态端口跟踪功能验证失败。
在S406中,动态端口老化测试报文。更具体的,自动化测试脚本基于所述OPC通信连接的当前动态端口生成测试端口;自动化测试脚本定时基于所述测试端口构造所述动态端口老化测试报文;自动化测试脚本控制所述测试客户端发送动态端口老化测试报文并生成发送记录。更具体的,可根据两端收发报文的计时计数信息判断开放端口和端口老化时间。
在一个实施例中,还定时依次构造动态端口列表中端口号的TCP报文,探测待测安全网关的端口老化情况。可例如,已经记录了动态端口57412,57455,57453。关闭OPC连接,可在一定时间内将老化动态端口,定时依次构造端口号为57412,57455,57453的TCP报文,发送经过OPC网关。若端口号未老化,测试服务器将收到这些端口号的TCP报文。若端口号老化,则将不能收到该端口号的TCP报文。测试服务器端计时计数,最后统计老化时间。由于探测报文为定时发送,最后统计的老化时长误差范围在一个报文发送周期内。
在S408中,读写指令访问测试报文。更具体的,自动化测试脚本生成同步读写操作报文、异步读写操作报文;基于所述同步读写操作报文、所述异步读写操作报文生成读写指令访问测试报文;自动化测试脚本控制所述测试客户端发送读写指令访问测试报文并生成发送记录。
在一个实施例中,测试客户端发送同步读写操作报文,异步读写操作报文,测试读写操作指令是否被阻断,若未被阻断将收到测试服务器的响应报文。更具体的,可根据响应报文获取情况判断安全网关对OPC读写指令访问控制功能。
图5是根据另一示例性实施例示出的一种OPC协议网关的测试方法的流程图。图5所示的流程50是对图2所示的流程中S212“所述测试客户端基于所述OPC通信连接发送读写指令访问测试报文并生成发送记录”的详细描述。
在S501中,报文计数计时,信息获取比对。
在S502中,是否为动态端口。
在S503中,测试服务器是否收到。
在S504中,动态端口未老化。
在S505中,对比下一次端口号收发情况。
在S506中,动态端口已老化。
在S507中,记录老化时间,老化时间等于最后一次测试服务器收到报文时间和测试客户端首次发报文时间之间的差值。
在S508中,测试服务器是否收到。
在S509中,OPC网关未阻断非动态端口。
在S510中,该OPC网关防护非动态端口功能失败。
在S511中,OPC网关未阻断动态端口。
在S512中,该OPC网关防护非动态端口功能成功。
本公开的OPC协议网关的测试方法,提出一个多维度的OPC classic安全网关的测试方法,能较为全面地针对该协议特点对安全网关进行功能验证。
根据本公开的OPC协议网关的测试方法,可以完整获取通信过程中协商的所有动态端口号,对待测设备的端口老化情况作统计。
根据本公开的OPC协议网关的测试方法,自动构造不命中待测设备动态端口跟踪列表的测试报文,检测其动态端口跟踪功能。
根据本公开的OPC协议网关的测试方法,能够减少指令防护功能测试的人力投入,输出完整的测试报告。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
图6是根据一示例性实施例示出的一种电子设备的框图。
下面参照图6来描述根据本公开的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2,图3,图4,图5中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备600’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备600交互的设备通信,和/或该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:测试客户端和测试服务器基于OPC协议建立OPC通信连接;OPC协议网关基于所述OPC通信连接提取动态端口;所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录;所述OPC协议网关基于所述动态端口和预设的访问控制策略对所述测试报文进行处理,将处理后的测试报文转发至所述测试服务器;所述测试服务器接收处理后的测试报文并生成接收记录;基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (9)
1.一种OPC协议网关的测试方法,其特征在于,包括:
通过自动化测试脚本调用测试客户端;
控制所述测试客户端和测试服务器基于OPC协议建立OPC通信连接;
自动化测试脚本持续记录所述OPC通信连接中的至少一个动态端口:
自动化测试脚本基于所述OPC通信连接的当前动态端口生成测试报文;
自动化测试脚本控制所述测试客户端发送测试报文;
OPC协议网关基于所述OPC通信连接提取动态端口;
所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录;
所述OPC协议网关基于所述动态端口和预设的访问控制策略确定所述测试报文通过或阻断,将处理后的测试报文转发至所述测试服务器;
所述测试服务器接收处理后的测试报文并生成接收记录;
基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果。
2.如权利要求1所述的方法,其特征在于,还包括:
所述OPC协议网关配置访问控制策略,所述访问控制策略包括允许协议集合、操作指令集合。
3.如权利要求1所述的方法,其特征在于,所述测试客户端基于所述OPC通信连接发送测试报文并生成发送记录,包括:
所述测试客户端基于所述OPC通信连接发送动态端口跟踪测试报文并生成发送记录;和/或
所述测试客户端基于所述OPC通信连接发送动态端口老化测试报文并生成发送记录;和/或
所述测试客户端基于所述OPC通信连接发送读写指令访问测试报文并生成发送记录。
4.如权利要求3所述的方法,其特征在于,所述测试客户端基于所述OPC通信连接发送动态端口跟踪测试报文并生成发送记录,包括:
自动化测试脚本基于所述OPC通信连接的当前动态端口生成测试端口;
自动化测试脚本基于所述测试端口构造所述动态端口跟踪测试报文;
自动化测试脚本控制所述测试客户端发送动态端口跟踪测试报文并生成发送记录。
5.如权利要求3所述的方法,其特征在于,所述测试客户端基于所述OPC通信连接发送动态端口老化测试报文并生成发送记录,包括:
自动化测试脚本基于所述OPC通信连接的当前动态端口生成测试端口;
自动化测试脚本定时基于所述测试端口构造所述动态端口老化测试报文;
自动化测试脚本控制所述测试客户端发送动态端口老化测试报文并生成发送记录。
6.如权利要求3所述的方法,其特征在于,所述测试客户端基于所述OPC通信连接发送读写指令访问测试报文并生成发送记录,包括:
自动化测试脚本生成同步读写操作报文、异步读写操作报文;
基于所述同步读写操作报文、所述异步读写操作报文生成读写指令访问测试报文;
自动化测试脚本控制所述测试客户端发送读写指令访问测试报文并生成发送记录。
7.如权利要求1所述的方法,其特征在于,基于所述发送记录和所述接收记录生成所述OPC协议网关的测试结果,包括:
将所述发送记录和所述接收记录进行对比以提取测试信息;
基于所述测试信息确定所述OPC协议网关的测试结果。
8.如权利要求7所述的方法,其特征在于,将所述发送记录和所述接收记录进行对比以提取测试信息,包括:
将所述发送记录和所述接收记录进行对比以提取所述OPC协议网关的IP地址、动态端口跟踪列表、端口老化时间、通过端口号、阻断端口号、通过指令集合、阻断指令集合、告警日志。
9.一种OPC协议网关的测试系统,其特征在于,包括:
测试客户端,由自动化测试脚本调用, 与测试服务器基于OPC协议建立OPC通信连接,通过自动化测试脚本持续记录所述OPC通信连接中的至少一个动态端口、基于所述OPC通信连接的当前动态端口生成测试报文以及控制所述测试客户端发送测试报文,并基于所述OPC通信连接发送测试报文并生成发送记录;还用于基于所述发送记录和接收记录生成所述OPC协议网关的测试结果;
OPC协议网关,用于基于所述OPC通信连接提取动态端口;并基于所述动态端口和预设的访问控制策略确定所述测试报文通过或阻断,将处理后的测试报文转发至所述测试服务器;
所述测试服务器,用于接收处理后的测试报文并生成所述接收记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110469060.8A CN113179194B (zh) | 2021-04-28 | 2021-04-28 | Opc协议网关的测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110469060.8A CN113179194B (zh) | 2021-04-28 | 2021-04-28 | Opc协议网关的测试系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113179194A CN113179194A (zh) | 2021-07-27 |
CN113179194B true CN113179194B (zh) | 2022-10-04 |
Family
ID=76925378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110469060.8A Active CN113179194B (zh) | 2021-04-28 | 2021-04-28 | Opc协议网关的测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113179194B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442284B (zh) * | 2022-08-22 | 2023-06-09 | 绿盟科技集团股份有限公司 | 一种测试设备的系统及方法 |
CN115242897B (zh) * | 2022-09-23 | 2023-01-06 | 北京六方云信息技术有限公司 | 设备通信方法、装置、终端设备以及存储介质 |
CN116318863B (zh) * | 2023-02-14 | 2023-10-13 | 深圳市利谱信息技术有限公司 | 一种opc工业安全网关系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753936A (zh) * | 2015-03-24 | 2015-07-01 | 西北工业大学 | Opc安全网关系统 |
CN109257357A (zh) * | 2018-09-26 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 基于opc服务的工控网络安全防护方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9374342B2 (en) * | 2005-11-08 | 2016-06-21 | Verizon Patent And Licensing Inc. | System and method for testing network firewall using fine granularity measurements |
JP4843116B1 (ja) * | 2011-08-22 | 2011-12-21 | 株式会社Into | ネットワークゲートウェイ装置 |
CN202648846U (zh) * | 2012-05-22 | 2013-01-02 | 华电重工股份有限公司 | 一种基于opc技术的无线扭矩测试系统 |
CN106559382B (zh) * | 2015-09-25 | 2019-10-11 | 北京计算机技术及应用研究所 | 基于opc协议的安全网关防护系统访问控制方法 |
CN105704145B (zh) * | 2016-03-22 | 2019-01-01 | 英赛克科技(北京)有限公司 | 针对opc协议的安全防护方法和系统 |
-
2021
- 2021-04-28 CN CN202110469060.8A patent/CN113179194B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753936A (zh) * | 2015-03-24 | 2015-07-01 | 西北工业大学 | Opc安全网关系统 |
CN109257357A (zh) * | 2018-09-26 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 基于opc服务的工控网络安全防护方法和装置 |
Non-Patent Citations (1)
Title |
---|
GRPS OPC服务器在汽包水位远程监控中的应用;吕静等;《西南大学学报(自然科学版)》;20110120(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113179194A (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113179194B (zh) | Opc协议网关的测试系统及方法 | |
CN109144695B (zh) | 一种任务拓扑关系的处理方法、装置、设备和介质 | |
CN107294808B (zh) | 接口测试的方法、装置和系统 | |
US11601462B2 (en) | Systems and methods of intelligent and directed dynamic application security testing | |
CN107436844B (zh) | 一种接口用例合集的生成方法及装置 | |
US20160277357A1 (en) | Firewall testing | |
Chen et al. | A Data-Driven Finite State Machine Model for Analyzing Security Vulnerabilities. | |
US11119843B2 (en) | Verifying application behavior based on distributed tracing | |
CN111198797B (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN113792341A (zh) | 应用程序的隐私合规自动化检测方法、装置、设备及介质 | |
US20160140345A1 (en) | Information processing device, filtering system, and filtering method | |
CN112953896A (zh) | 日志报文的回放方法及装置 | |
CN114338104B (zh) | 安全网关解析功能验证方法、装置、设备及存储介质 | |
CN113391967B (zh) | 防火墙的包过滤测试方法及装置 | |
US9183117B2 (en) | Method for developing and testing a connectivity driver for an instrument | |
CN113328914B (zh) | 工控协议的模糊测试方法、装置、存储介质及处理器 | |
US20170339175A1 (en) | Using natural language processing for detection of intended or unexpected application behavior | |
US10411988B1 (en) | Data injection testing | |
CN116260643A (zh) | 一种物联网web服务的安全测试方法、装置及设备 | |
CN114553551B (zh) | 对入侵防御系统进行测试的方法及装置 | |
CN110134602A (zh) | 网页自动化回归测试方法、系统、介质和电子设备 | |
CN112799956B (zh) | 资产识别能力测试方法、装置及系统装置 | |
CN114416597A (zh) | 测试用例记录的生成方法和装置 | |
CN110597724B (zh) | 应用安全测试组件的调用方法、装置、服务器及存储介质 | |
CN110795338A (zh) | 一种基于前后端交互的自动化测试方法、装置及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |