CN114979064A - Opcda报文处理方法、装置、电子设备及存储介质 - Google Patents

Opcda报文处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114979064A
CN114979064A CN202210915198.0A CN202210915198A CN114979064A CN 114979064 A CN114979064 A CN 114979064A CN 202210915198 A CN202210915198 A CN 202210915198A CN 114979064 A CN114979064 A CN 114979064A
Authority
CN
China
Prior art keywords
address
opcda
port
message
negotiation
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.)
Granted
Application number
CN202210915198.0A
Other languages
English (en)
Other versions
CN114979064B (zh
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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202210915198.0A priority Critical patent/CN114979064B/zh
Publication of CN114979064A publication Critical patent/CN114979064A/zh
Application granted granted Critical
Publication of CN114979064B publication Critical patent/CN114979064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种OPCDA报文处理方法、装置、电子设备及存储介质,其中,所述方法包括:接收服务器发送的OPCDA协商报文;获取所述网关设备中配置的用于地址转换的第一IP地址和第一端口;根据所述OPCDA协商报文中包含的第二IP地址和第二端口,以及所述第一IP地址和所述第一端口,确定地址转换前后的字节长度差;根据所述第一IP地址、所述第一端口,以及所述字节长度差,对所述OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文;将所述新的OPCDA协商报文发送给客户端。由此,能够使报文不会因为报文长度而不合格,使得修改后的报文符合协议规定,从而能够被客户端识别,使得客户端能够从报文中获取IP地址和端口并请求与之建立连接。

Description

OPCDA报文处理方法、装置、电子设备及存储介质
技术领域
本公开涉及边界安全技术领域,尤其涉及一种OPCDA报文处理方法、装置、电子设备及存储介质。
背景技术
随着互联网行业的不断发展,传统工业领域开始依赖互联网来进行业务交互或者设备控制,而互联网的交互过程也离不开各种网络协议的规范。其中,OPCDA(ObjectLinking and Embedding for Process Control Data Access)协议旨在简化不同总线标准间的数据访问机制,为不同总线标准提供通过标准接口访问现场数据的基本方法。
在实际的工控网络环境中,要保证OPCDA协议的安全性,需要在网关类设备上对传输的OPCDA协议数据加以限制,用于保护现场工控网络的安全。
网关类设备通常会进行地址转换,在收到服务器发送的OPCDA协商报文时,若进行地址转换,则可能导致OPCDA协商报文的报文长度发生变化,从而导致客户端无法识别OPCDA协商报文,从而无法与报文中的IP地址和端口建立连接。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的至少一个实施例提供了一种OPCDA报文处理方法、装置、电子设备及存储介质。
第一方面,本公开提供了一种OPCDA报文处理方法,应用于网关设备,所述方法包括:
接收服务器发送的OPCDA协商报文;
获取所述网关设备中配置的用于地址转换的第一IP地址和第一端口;
根据所述OPCDA协商报文中包含的第二IP地址和第二端口,以及所述第一IP地址和所述第一端口,确定地址转换前后的字节长度差;
根据所述第一IP地址、所述第一端口,以及所述字节长度差,对所述OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文;
将所述新的OPCDA协商报文发送给客户端。
第二方面,本公开提供了一种OPCDA报文处理装置,应用于网关设备,所述装置包括:
接收模块,用于接收服务器发送的OPCDA协商报文;
获取模块,用于获取所述网关设备中配置的用于地址转换的第一IP地址和第一端口;
确定模块,用于根据所述OPCDA协商报文中包含的第二IP地址和第二端口,以及所述第一IP地址和所述第一端口,确定地址转换前后的字节长度差;
处理模块,用于根据所述第一IP地址、所述第一端口,以及所述字节长度差,对所述OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文;
发送模块,用于将所述新的OPCDA协商报文发送给客户端。
第三方面,本公开提供了一种电子设备,包括:处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行本公开第一方面提供的任一所述OPCDA报文处理方法的步骤。
第四方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行本公开第一方面提供的任一所述OPCDA报文处理方法的步骤。
第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品用于执行本公开第一方面提供的任一所述OPCDA报文处理方法的步骤。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
在本公开实施例中,通过接收服务器发送的OPCDA协商报文,获取网关设备中配置的用于地址转换的第一IP地址和第一端口,并根据OPCDA协商报文中包含的第二IP地址和第二端口,以及第一IP地址和第一端口,确定地址转换前后的字节长度差,进而根据第一IP地址、第一端口,以及字节长度差,对OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文,最终将新的OPCDA协商报文发送给客户端。采用上述技术方案,通过在对OPCDA协商报文中的IP地址和端口进行修改的同时,对报文长度进行相应的修改,使报文不会因为报文长度而不合格,使得修改后的报文符合协议规定,从而能够被客户端识别,使得客户端能够从报文中获取IP地址和端口并请求与之建立连接。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一实施例提供的OPCDA报文处理方法的流程示意图;
图2为本公开一实施例提供的OPCDA报文处理装置的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。基于所描述的本公开的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
OPCDA协议作为传统的主流工业控制协议,在工控环境中的使用率很高。随着工业4.0智能化的发展,越来越多的工业环境开始由封闭转为开放,传统封闭的工业控制网络和互联网的结合越来越紧密,工控网络安全问题日渐凸显,传统的工控网关类设备,逐渐开始和互联网安全设备交融。
在实际的工控网络环境中,要保证OPCDA协议的安全性,需要在网关类设备上对传输的OPCDA协议数据加以限制,用于保护现场工控网络的安全。
OPCDA协议头格式与Dcom(Microsoft Distributed Component Object Model,分布式组件对象模型)协议格式相同,只是将Windows上的Dcom协议直接拿到工控上来,增加了一些接口的定义。以此为基础,OPCDA客户端会先向服务器的135端口发起连接,连接建立后,客户端会发送协商IP和端口的请求报文,服务器接收到请求报文后,会申请一个端口等待客户端的连接,并且将此端口和服务器现有IP地址通过回复报文发送给客户端,客户端接收到回复报文后,解析报文中的IP地址和端口,并向报文中的IP地址和端口发起连接请求,以建立连接。
OPCDA协议类似于FTP(File Transfer Protocol,文件传输协议)协议,先建立父连接,再建立子连接。OPCDA工业模拟软件客户端(本公开实施例中简称OPCDA客户端)和服务器建立父连接后,客户端会向服务器请求动态IP和端口来建立子连接。服务器收到请求后,会将协商后的IP地址和端口通过网关设备发送给客户端。网关设备接收到报文后,通常会进行地址转换,修改服务器的IP地址和端口。在OPCDA协商报文中,IP地址和端口的字节数不是固定的,网关设备对报文中的IP地址和端口进行修改后,其报文长度可能会发生变化。而现有的相关技术中,仅修改IP地址和端口,并未对报文长度进行修改,这样可能导致报文不合规而不被客户端识别,从而使得客户端不能根据修改后的IP地址和端口成功建立子连接。
针对上述问题,本公开提供了一种OPCDA报文处理方法,通过接收服务器发送的OPCDA协商报文,获取网关设备中配置的用于地址转换的第一IP地址和第一端口,并根据OPCDA协商报文中包含的第二IP地址和第二端口,以及第一IP地址和第一端口,确定地址转换前后的字节长度差,进而根据第一IP地址、第一端口,以及字节长度差,对OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文,最终将新的OPCDA协商报文发送给客户端。采用上述技术方案,通过在对OPCDA协商报文中的IP地址和端口进行修改的同时,对报文长度进行相应的修改,使报文不会因为报文长度而不合格,使得修改后的报文符合协议规定,从而能够被客户端识别,使得客户端能够从报文中获取IP地址和端口并请求与之建立连接。
图1为本公开一实施例提供的OPCDA报文处理方法的流程示意图,该方法可以由本公开实施例提供的OPCDA报文处理装置执行,该OPCDA报文处理装置可以采用软件和/或硬件实现,并可集成在网关类设备、防火墙设备等电子设备上。
如图1所示,本公开实施例提供的OPCDA报文处理方法,可以包括以下步骤:
步骤101,接收服务器发送的OPCDA协商报文。
本公开实施例中,客户端和服务器之间建立父连接之后,客户端会向服务器请求动态IP和端口来建立子连接。服务器接收到客户端的请求后,会向客户端发送OPCDA协商报文,OPCDA协商报文中包括协商后的IP地址和端口。服务器发送的OPCDA协商报文会经过网关设备,网关设备接收服务器发送的OPCDA协商报文。
步骤102,获取所述网关设备中配置的用于地址转换的第一IP地址和第一端口。
为了保障内部网络的安全性,网关设备通常需要进行地址转换。为了实现地址转换功能,网关设备中通常配置有内部IP地址和端口,用于进行地址转换
本公开实施例中,可以获取网关设备中配置的用于地址转换的一个IP地址和一个端口,分别作为第一IP地址和第一端口。
示例性地,可以从网关设备中配置的用于地址转换的IP地址和端口中,随机选择一个IP地址和端口作为第一IP地址和第一端口。
步骤103,根据所述OPCDA协商报文中包含的第二IP地址和第二端口,以及所述第一IP地址和所述第一端口,确定地址转换前后的字节长度差。
其中,第二IP地址是OPCDA协商报文中需要进行修改的IP地址,第二端口是OPCDA协商报文中需要进行修改的端口。也就是说,第二IP地址和第二端口是转换前的IP和端口,而第一IP地址和第一端口则是转换后的IP和端口。
本公开实施例中,获取了用于地址转换的第一IP地址和第一端口之后,可以将第一IP地址和第一端口,与OPCDA协商报文中包含的需要进行修改的第二IP地址和第二端口进行比较,确定两者之间的字节数差异,得到地址转换前后的字节长度差。
也就是说,字节长度差,是指第一IP地址和第一端口包含的第一字节数,与第二IP地址和第二端口包含的第二字节数之间的差值。字节长度差可以是第一字节数减去第二字节数的差值,也可以是第二字节数减去第一字节数的差值,本公开对字节长度差的计算方式不作限制。能够理解的是,字节长度差可以是任意的自然数。
步骤104,根据所述第一IP地址、所述第一端口,以及所述字节长度差,对所述OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文。
本公开实施例中,确定了地址转换前后的字节长度差之后,可以对OPCDA协商报文进行修改,根据第一IP地址、第一端口,以及确定的字节长度差,对接收的OPCDA协商报文进行目的地址转换,得到新的OPCDA协商报文。
示例性地,可以将OPCDA协商报文中的第二IP地址替换为第一IP地址,将OPCDA协商报文中的第二端口替换为第一端口,并在修改前、后的IP地址和端口所占字节大小有变化时,即字节长度差不为0时,根据确定的字节长度差对OPCDA协商报文的报文长度字段记录的原报文长度值进行修改,以使修改后的报文长度与修改后的IP地址和端口相匹配,从而使生成的新的OPCDA协商报文不会因为报文长度而不合格,使得进行地址转换后的报文也能符合协议规范。
步骤105,将所述新的OPCDA协商报文发送给客户端。
本公开实施例中,修改了OPCDA协商报文中的IP地址、端口以及报文长度,生成新的OPCDA协商报文之后,网关设备即可将新的OPCDA协商报文发送给客户端,由客户端对新的OPCDA协商报文进行识别。
由于新的OPCDA协商报文中不仅修改了IP地址和端口,还相应的修改了报文长度,使得报文长度与修改后的IP地址和端口是匹配的,从而客户端收到新的OPCDA协商报文之后,根据报文长度进行校验时,能够校验通过,成功识别新的OPCDA协商报文,进而能够从新的OPCDA协商报文中获取修改后的IP地址和端口,即第一IP地址和第一端口,并按照第一IP地址和第一端口请求与服务器建立子连接。
本公开实施例的OPCDA报文处理方法,通过接收服务器发送的OPCDA协商报文,获取网关设备中配置的用于地址转换的第一IP地址和第一端口,并根据OPCDA协商报文中包含的第二IP地址和第二端口,以及第一IP地址和第一端口,确定地址转换前后的字节长度差,进而根据第一IP地址、第一端口,以及字节长度差,对OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文,最终将新的OPCDA协商报文发送给客户端。采用上述技术方案,通过在对OPCDA协商报文中的IP地址和端口进行修改的同时,对报文长度进行相应的修改,使报文不会因为报文长度而不合格,使得修改后的报文符合协议规定,从而能够被客户端识别,使得客户端能够从报文中获取IP地址和端口并请求与之建立连接。
在本公开的一种可选实施方式中,在根据OPCDA协商报文中包含的第二IP地址和第二端口,以及第一IP地址和第一端口,确定地址转换前后的字节长度差时,可以先从OPCDA协商报文中获取待转换的IP地址作为第二IP地址,以及获取待转换的端口作为第二端口;接着,根据所述第一IP地址和所述第二IP地址,确定第一字节差,以及根据所述第一端口和所述第二端口,确定第二字节差;进而,计算所述第一字节差与所述第二字节差之间的和值,得到地址转换前后的字节长度差。
示例性地,可以计算第一IP地址所占的字节数减去第二IP地址所占的字节数的差值,得到第一字节差,以及计算第一端口所占的字节数减去第二端口所占的字节数的差值,得到第二字节差;或者,可以计算第二IP地址所占的字节数减去第一IP地址所占的字节数的差值,得到第一字节差,以及计算第二端口所占的字节数减去第一端口所占的字节数的差值,得到第二字节差,本公开对此不作限制。但应当说明的是,计算第一字节差和第二字节差的方式应当是一致的,即均用第一(IP地址/端口)减去第二(IP地址/端口),或者均用第二(IP地址/端口)减去第一(IP地址/端口),而非第一字节差用第一(或第二)IP地址减去第二(或第一)IP地址得到,第二字节差用第二(或第一)端口减去第一(或第二)端口。
本公开实施例中,确定了第一字节差和第二字节差之后,可以计算第一字节差和第二字节差的和值,将所得的和值确定为地址转换前后的字节长度差。
本公开实施例中,通过从OPCDA协商报文中获取第二IP地址和第二端口,并根据第一IP地址和第二IP地址确定第一字节差,以及根据第二端口和第一端口确定第二字节差,进而计算第一字节差和第二字节差的和值作为地址转换前后的字节长度差,由此,能够准确的确定出地址转换前后的字节长度变化值,为后续修改报文的报文长度提供了条件。
在本公开的一种可选实施方式中,在根据第一IP地址、第一端口,以及字节长度差,对OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文时,可以先从OPCDA协商报文的报文长度字段获取初始报文长度值,并根据所述初始报文长度值和所述字节长度差,确定目标报文长度值,进而分别利用所述第一IP地址替换所述OPCDA协商报文中的所述第二IP地址、利用所述第一端口替换所述OPCDA协商报文中的所述第二端口,以及利用所述目标报文长度值替换所述初始报文长度值,生成新的OPCDA协商报文。
OPCDA协商报文的报文长度字段记录有报文长度值,报文长度字段的报文长度值符合OPCDA协议规定时,客户端能够成功识别OPCDA协商报文。由于在OPCDA协商报文中,IP地址和端口所占的字节数不是固定的,网关设备对协商报文中的IP地址和端口进行修改后,其报文长度可能会发生变化。本公开实施例中,为了确保客户端能够成功识别IP和端口修改后的新报文,在修改报文中的IP和端口时,同时对报文长度字段的报文长度值进行修改,以使修改后的新报文能够被客户端成功识别。
本公开实施例中,可以获取OPCDA协商报文的报文长度字段的报文长度值作为初始报文长度值,之后根据初始报文长度值和确定的字节长度差确定目标报文长度值。
其中,在确定目标报文长度值时,需要考虑字节长度差的确定方式。
示例性地,字节长度差是由所述第一IP地址和第一端口包含的第一字节数减去所述第二IP地址和所述第二端口包含的第二字节数确定的,则字节长度差表示的是修改后的IP和端口比原IP和端口多(或少)的字节数,则在根据所述初始报文长度值和所述字节长度差,确定目标报文长度值时,可以直接计算所述初始报文长度值与所述字节长度差的和值,得到所述目标报文长度值。
示例性地,字节长度差是由所述第二IP地址和第二端口包含的第二字节数减去所述第一IP地址和所述第一端口包含的第一字节数确定的,则字节长度差表示的是原IP和端口比修改后的IP和端口多(或少)的字节数,则在根据所述初始报文长度值和所述字节长度差,确定目标报文长度值时,可以直接计算所述初始报文长度值减去所述字节长度差的差值,得到所述目标报文长度值。
本公开实施例中,确定了目标报文长度值之后,可以对OPCDA协商报文进行修改。具体地,可以利用第一IP地址替换OPCDA报文中的第二IP地址,利用第一端口替换OPCDA协商报文中的第二端口,以及利用目标报文长度值替换初始报文长度值,由此,生成新的OPCDA协商报文。新的OPCDA报文相较于原OPCDA报文,不仅修改了IP地址和端口,还相应的修改了报文长度,使得报文长度符合OPCDA协议的规定,以保证客户端能够成功识别新报文。
能够理解的是,当修改前后的IP和端口的字节长度无变化时,则无需修改报文长度值,从而,在本公开的一种可选实施方式中,在从所述OPCDA协商报文的报文长度字段获取初始报文长度值之前,可以先判断修改前后的字节长度是否发生变化,当确定发生变化时才从报文长度字段获取初始报文长度值,当确定未发生变化时则无需从报文长度字段中获取初始报文长度值。具体地,修改前后的字节长度是否发生变化可以根据确定的字节长度差是否为0来判断,当确定字节长度差的值不为0时,则可以确定修改前后的字节长度发生变化,此时可以从OPCDA协商报文的报文长度字段获取初始报文长度值。
在本公开实施例中,通过在从OPCDA协商报文的报文长度字段获取初始报文长度值之前,先确定字节长度差的值不为0,能够避免不必要的获取初始报文长度值以及确定目标报文长度值的操作,节省网关设备的处理资源和能耗。
在本公开实施例中,通过从OPCDA协商报文的报文长度字段获取初始报文长度值,根据初始报文长度值和字节长度差,确定目标报文长度值,进而分别利用第一IP地址替换OPCDA协商报文中的第二IP地址、利用第一端口替换OPCDA协商报文中的第二端口,以及利用目标报文长度值替换初始报文长度值,生成新的OPCDA协商报文,由此,能够在对报文进行目的地址转换的同时,对报文长度进行修改,为客户端能够成功识别报文,并根据修改后的IP和端口请求建立连接提供了条件。
为了实现上述实施例,本公开还提供了一种OPCDA报文处理装置。
图2为本公开一实施例提供的OPCDA报文处理装置的结构示意图,该装置可以采用软件和/或硬件实现,并可集成在网关设备、防火墙设备等电子设备上。
如图2所示,本公开实施例提供的OPCDA报文处理装置20可以包括:接收模块210、获取模块220、确定模块230、处理模块240和发送模块250。
其中,接收模块210,用于接收服务器发送的OPCDA协商报文;
获取模块220,用于获取所述网关设备中配置的用于地址转换的第一IP地址和第一端口;
确定模块230,用于根据所述OPCDA协商报文中包含的第二IP地址和第二端口,以及所述第一IP地址和所述第一端口,确定地址转换前后的字节长度差;
处理模块240,用于根据所述第一IP地址、所述第一端口,以及所述字节长度差,对所述OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文;
发送模块250,用于将所述新的OPCDA协商报文发送给客户端。
在本公开实施例一种可能的实现方式中,所述确定模块230,还用于:
从所述OPCDA协商报文中获取待转换的IP地址作为第二IP地址,以及获取待转换的端口作为第二端口;
根据所述第一IP地址和所述第二IP地址,确定第一字节差;
根据所述第一端口和所述第二端口,确定第二字节差;
计算所述第一字节差与所述第二字节差之间的和值,得到地址转换前后的字节长度差。
在本公开实施例一种可能的实现方式中,所述处理模块,还用于:
从所述OPCDA协商报文的报文长度字段获取初始报文长度值;
根据所述初始报文长度值和所述字节长度差,确定目标报文长度值;
分别利用所述第一IP地址替换所述OPCDA协商报文中的所述第二IP地址、利用所述第一端口替换所述OPCDA协商报文中的所述第二端口,以及利用所述目标报文长度值替换所述初始报文长度值,生成新的OPCDA协商报文。
在本公开实施例一种可能的实现方式中,所述字节长度差由所述第一IP地址和第一端口包含的第一字节数减去所述第二IP地址和所述第二端口包含的第二字节数确定;相应的,所述处理模块,还用于:
计算所述初始报文长度值与所述字节长度差的和值,得到所述目标报文长度值。
在本公开实施例一种可能的实现方式中,所述OPCDA报文处理装置20还包括:
判定模块,用于确定所述字节长度差的值不为0。
本公开实施例所提供的应用于电子设备上的OPCDA报文处理装置,可执行本公开实施例所提供的任意可应用于电子设备的OPCDA报文处理方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
本公开实施例还提供了一种电子设备,包括处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行如前述实施例所述OPCDA报文处理方法各实施例的步骤,为避免重复描述,在此不再赘述。
本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非暂态的,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如前述实施例所述OPCDA报文处理方法各实施例的步骤,为避免重复描述,在此不再赘述。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品用于执行如前述实施例所述OPCDA报文处理方法各实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种OPCDA报文处理方法,其特征在于,应用于网关设备,所述方法包括:
接收服务器发送的OPCDA协商报文;
获取所述网关设备中配置的用于地址转换的第一IP地址和第一端口;
根据所述OPCDA协商报文中包含的第二IP地址和第二端口,以及所述第一IP地址和所述第一端口,确定地址转换前后的字节长度差;
根据所述第一IP地址、所述第一端口,以及所述字节长度差,对所述OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文;
将所述新的OPCDA协商报文发送给客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述OPCDA协商报文中包含的第二IP地址和第二端口,以及所述第一IP地址和所述第一端口,确定地址转换前后的字节长度差,包括:
从所述OPCDA协商报文中获取待转换的IP地址作为第二IP地址,以及获取待转换的端口作为第二端口;
根据所述第一IP地址和所述第二IP地址,确定第一字节差;
根据所述第一端口和所述第二端口,确定第二字节差;
计算所述第一字节差与所述第二字节差之间的和值,得到地址转换前后的字节长度差。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一IP地址、所述第一端口,以及所述字节长度差,对所述OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文,包括:
从所述OPCDA协商报文的报文长度字段获取初始报文长度值;
根据所述初始报文长度值和所述字节长度差,确定目标报文长度值;
分别利用所述第一IP地址替换所述OPCDA协商报文中的所述第二IP地址、利用所述第一端口替换所述OPCDA协商报文中的所述第二端口,以及利用所述目标报文长度值替换所述初始报文长度值,生成新的OPCDA协商报文。
4.根据权利要求3所述的方法,其特征在于,所述字节长度差由所述第一IP地址和第一端口包含的第一字节数减去所述第二IP地址和所述第二端口包含的第二字节数确定;
相应的,所述根据所述初始报文长度值和所述字节长度差,确定目标报文长度值,包括:
计算所述初始报文长度值与所述字节长度差的和值,得到所述目标报文长度值。
5.根据权利要求3或4所述的方法,其特征在于,在所述从所述OPCDA协商报文的报文长度字段获取初始报文长度值之前,所述方法还包括:
确定所述字节长度差的值不为0。
6.一种OPCDA报文处理装置,其特征在于,应用于网关设备,所述装置包括:
接收模块,用于接收服务器发送的OPCDA协商报文;
获取模块,用于获取所述网关设备中配置的用于地址转换的第一IP地址和第一端口;
确定模块,用于根据所述OPCDA协商报文中包含的第二IP地址和第二端口,以及所述第一IP地址和所述第一端口,确定地址转换前后的字节长度差;
处理模块,用于根据所述第一IP地址、所述第一端口,以及所述字节长度差,对所述OPCDA协商报文进行目的地址转换,生成新的OPCDA协商报文;
发送模块,用于将所述新的OPCDA协商报文发送给客户端。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,还用于:
从所述OPCDA协商报文中获取待转换的IP地址作为第二IP地址,以及获取待转换的端口作为第二端口;
根据所述第一IP地址和所述第二IP地址,确定第一字节差;
根据所述第一端口和所述第二端口,确定第二字节差;
计算所述第一字节差与所述第二字节差之间的和值,得到地址转换前后的字节长度差。
8.根据权利要求6所述的装置,其特征在于,所述处理模块,还用于:
从所述OPCDA协商报文的报文长度字段获取初始报文长度值;
根据所述初始报文长度值和所述字节长度差,确定目标报文长度值;
分别利用所述第一IP地址替换所述OPCDA协商报文中的所述第二IP地址、利用所述第一端口替换所述OPCDA协商报文中的所述第二端口,以及利用所述目标报文长度值替换所述初始报文长度值,生成新的OPCDA协商报文。
9.一种电子设备,其特征在于,包括:处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至5任一项所述OPCDA报文处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至5任一项所述OPCDA报文处理方法的步骤。
CN202210915198.0A 2022-08-01 2022-08-01 Opcda报文处理方法、装置、电子设备及存储介质 Active CN114979064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210915198.0A CN114979064B (zh) 2022-08-01 2022-08-01 Opcda报文处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210915198.0A CN114979064B (zh) 2022-08-01 2022-08-01 Opcda报文处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114979064A true CN114979064A (zh) 2022-08-30
CN114979064B CN114979064B (zh) 2022-10-21

Family

ID=82970028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210915198.0A Active CN114979064B (zh) 2022-08-01 2022-08-01 Opcda报文处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114979064B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090224041A1 (en) * 2005-07-05 2009-09-10 Nobuya Takagi Readout data length specifying method
CN101719922A (zh) * 2009-12-04 2010-06-02 上海交通大学 Profibus-dp工业现场总线与无线zigbee间的协议转换装置和方法
JP2017034723A (ja) * 2016-11-10 2017-02-09 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. パケット処理方法及び転送要素
CN111212089A (zh) * 2020-02-14 2020-05-29 重庆邮电大学 一种EtherCAT与IPv6网络的协议转换方法
CN112910910A (zh) * 2021-02-08 2021-06-04 深圳融安网络科技有限公司 Opcda协议报文处理方法、装置、设备以及存储介质
CN113973111A (zh) * 2021-10-29 2022-01-25 北京天融信网络安全技术有限公司 数据转发方法、装置、网关设备及计算机可读存储介质
WO2022022229A1 (zh) * 2020-07-28 2022-02-03 华为技术有限公司 一种处理报文的方法及装置
CN114157633A (zh) * 2021-12-03 2022-03-08 北京天融信网络安全技术有限公司 一种报文转发方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090224041A1 (en) * 2005-07-05 2009-09-10 Nobuya Takagi Readout data length specifying method
CN101719922A (zh) * 2009-12-04 2010-06-02 上海交通大学 Profibus-dp工业现场总线与无线zigbee间的协议转换装置和方法
JP2017034723A (ja) * 2016-11-10 2017-02-09 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. パケット処理方法及び転送要素
CN111212089A (zh) * 2020-02-14 2020-05-29 重庆邮电大学 一种EtherCAT与IPv6网络的协议转换方法
WO2022022229A1 (zh) * 2020-07-28 2022-02-03 华为技术有限公司 一种处理报文的方法及装置
CN112910910A (zh) * 2021-02-08 2021-06-04 深圳融安网络科技有限公司 Opcda协议报文处理方法、装置、设备以及存储介质
CN113973111A (zh) * 2021-10-29 2022-01-25 北京天融信网络安全技术有限公司 数据转发方法、装置、网关设备及计算机可读存储介质
CN114157633A (zh) * 2021-12-03 2022-03-08 北京天融信网络安全技术有限公司 一种报文转发方法及装置

Also Published As

Publication number Publication date
CN114979064B (zh) 2022-10-21

Similar Documents

Publication Publication Date Title
TWI735429B (zh) 用戶端登錄伺服器端的鑑別方法、裝置、系統及電子設備
JP4533247B2 (ja) サービス提供システム、サービス提供方法及びサービス提供装置
US8195806B2 (en) Managing remote host visibility in a proxy server environment
CN112437100A (zh) 漏洞扫描方法及相关设备
JP5328472B2 (ja) ネットワーク通信装置及び方法とプログラム
CN110730189B (zh) 一种通信认证方法、装置、设备及存储介质
GB2521743A (en) Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and computer-readable media
TW201733314A (zh) 執行請求指令的方法及相關的伺服器
CN109561172B (zh) 一种dns透明代理方法、装置、设备及存储介质
CN109936566B (zh) 一种数据传输方法系统、装置及计算机可读存储介质
WO2016008212A1 (zh) 一种终端及检测终端数据交互的安全性的方法、存储介质
US10554723B2 (en) HTTP server, method for controlling the same, and image forming apparatus
CN107979627A (zh) 一种网络请求的处理方法及装置
CN114979064B (zh) Opcda报文处理方法、装置、电子设备及存储介质
CN110572394B (zh) 访问控制方法及装置
JP2016532194A (ja) ウェブページプッシュ方法及び装置、並びに端末
CN108337222B (zh) 区分访问终端身份的端口开放方法、设备及可读存储介质
CN112910910B (zh) Opcda协议报文处理方法、装置、设备以及存储介质
US8209420B2 (en) Management of duplicate TCP connections using sequence and acknowledgment numbers
JP2004072291A (ja) アドレス変換装置
CN115941647B (zh) 确保网络标识迭代查询数据可靠性与真实性的方法和装置
CN114650271B (zh) 全局负载dns邻居站点学习方法及装置
CN115277383B (zh) 日志生成方法、装置、电子设备及计算机可读存储介质
US7334035B1 (en) Self modifying state graphs for quality of service classification
US11811734B2 (en) Protocol switching for connections to zero-trust proxy

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