CN115189914A - 网络流量的应用程序编程接口api识别方法和装置 - Google Patents
网络流量的应用程序编程接口api识别方法和装置 Download PDFInfo
- Publication number
- CN115189914A CN115189914A CN202210653130.XA CN202210653130A CN115189914A CN 115189914 A CN115189914 A CN 115189914A CN 202210653130 A CN202210653130 A CN 202210653130A CN 115189914 A CN115189914 A CN 115189914A
- Authority
- CN
- China
- Prior art keywords
- url
- domain
- information
- hierarchy
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract 4
- 238000004590 computer program Methods 0.000 claims description 15
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001320851 Aaaba Species 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种网络流量的应用程序编程接口API识别方法和装置,该方法包括:获取网络流量数据中的统一资源定位器URL信息;对URL信息进行分割,得到多个URL域;根据各个URL域和各个URL域在URL信息中的层级,确定目标层级;根据URL信息和目标层级,识别网络流量中的API。本发明实施例的方法实现了网络流量中API的识别。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种网络流量的应用程序编程接口API识别方法和装置。
背景技术
随着互联网技术的不断发展,网络流量中存在着大量的应用程序编程接口(Application Programming Interface,API),由于API会对网络的管理和网络的安全造成严重影响,因此如何有效地识别网络流量中的API是本领域技术人员关注的问题。
现有技术中,相关技术人员只能对网络流量中已知的API进行识别,对于网络流量中新增加的或未知的API无法进行有效的识别和管理,极易引起网络安全隐患。
发明内容
针对现有技术中的问题,本发明实施例提供一种网络流量的应用程序编程接口API识别方法和装置。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种网络流量的应用程序编程接口API识别方法,包括:
获取网络流量数据中的统一资源定位器URL信息;
对所述URL信息进行分割,得到多个URL域;
根据各个所述URL域和各个所述URL域在URL信息中的层级,确定目标层级;
根据所述URL信息和所述目标层级,识别所述网络流量中的API。
进一步地,所述根据各个所述URL域和各个所述URL域在URL信息中的层级,确定目标层级,包括:
根据所述多个URL域中的字符数量信息,从所述URL域中确定出至少一个候选URL域;
根据至少一个候选URL域和所述候选URL域在所述URL信息中的层级,确定所述目标层级。
进一步地,根据所述多个URL域中的字符数量信息,从所述URL域中确定出至少一个候选URL域,包括:
针对任一所述URL域,若所述URL域中的数字数量大于第一阈值,且所述URL域中的字符数量大于第二阈值,则将所述URL域作为所述候选URL域;或,
若所述URL域中仅包括数字,则将所述URL域作为所述候选URL域;
根据至少一个候选URL域和所述候选URL域在所述URL信息中的层级,确定所述目标层级,包括:
针对任一所述候选URL域,若所述候选URL域在所述URL信息中的层级大于第三阈值,则将所述候选URL域作为目标URL域,并将所述目标URL域在所述ULR信息中的层级确定为所述目标层级。
进一步地,所述根据所述URL信息和所述目标层级,识别所述网络流量中的API,包括:
将所述URL信息中第一层级至目标层级的URL域,识别为所述网络流量中的API;所述第一层级为所述URL信息中按照第一方向排列的第一个URL域对应的层级。
进一步地,所述URL信息包括至少两条URL信息,所述根据各个URL域和各个URL域在URL信息中的层级,确定目标层级,包括:
根据网络流量中各个所述URL域和各个所述URL域在所述URL信息中的层级,构建URL信息树;各个所述URL域为所述URL信息树子节点;各个所述URL域在所述URL信息中的层级为所述子节点在URL信息树中的层级;
根据所述URL信息树中各个层级中的子节点的数量以及各个所述层级对应的阈值,确定所述目标层级。
进一步地,所述根据所述URL信息树中各个层级中的子节点的数量,确定所述URL信息树中的目标层级,包括:
针对任一所述层级,所述URL信息树中所述层级中的子节点的数量大于所述层级对应的阈值的情况下,将所述层级确定为所述目标层级。
进一步地,所述根据所述URL信息和所述目标层级,识别所述网络流量中的API,包括:
将所述URL信息树中第一层级至目标层级的URL域,识别为所述网络流量中的API;所述API中所述目标层级的URL域包括所有子节点对应的URL域。
进一步地,所述根据所述URL信息和所述目标层级,识别所述网络流量中的API,包括:
从所述目标层级对应的所有子节点中,确定候选子节点;
将所述URL信息树中第一层级至目标层级的URL域,识别为所述网络流量中的API;所述API中所述目标层级的URL域仅包括所述候选子节点对应的URL域。
进一步地,从所述目标层级对应的所有子节点中,确定候选子节点,包括:
针对所述目标层级中任一所述子节点,若所述子节点对应的URL域中的数字数量大于第一阈值,且所述子节点对应的URL域中的字符数量大于第二阈值,则将所述子节点作为所述候选子节点;或,
若所述子节点对应的URL域中仅包括数字,则将所述子节点作为所述候选子节点。
进一步地,所述对所述URL信息进行分割,得到多个URL域,包括:
根据所述URL信息中的分隔符,对所述URL信息进行分割,得到多个URL域。
第二方面,本发明实施例还提供了一种网络流量的应用程序编程接口API识别装置,包括:
获取模块,用于获取网络流量数据中的统一资源定位器URL信息;
分割模块,用于对所述URL信息进行分割,得到多个URL域;
确定模块,用于根据各个所述URL域和各个所述URL域在URL信息中的层级,确定目标层级;
识别模块,用于根据所述URL信息和所述目标层级,识别所述网络流量中的API。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述网络流量的应用程序编程接口API识别方法。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述网络流量的应用程序编程接口API识别方法。
第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述网络流量的应用程序编程接口API识别方法。
本发明实施例提供的网络流量的应用程序编程接口API识别方法和装置,通过获取网络流量中的URL信息,并将URL信息分割为更小单元的URL域,便于对网络流量中的URL信息进行分析及进行API的识别;进一步地,可以根据各个URL域和各个URL域在URL信息中的层级,确定目标层级,最后再根据URL信息和确定出的API在URL信息中对应的目标层级信息,就可以达到识别网络流量中的API的目的。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的网络流量的应用程序编程接口API识别方法的流程示意图;
图2是本发明实施例提供的网络流量的应用程序编程接口API识别方法的另一流程示意图;
图3是本发明实施例提供的网络流量的应用程序编程接口API识别装置的结构示意图;
图4是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的方法可以应用于计算机技术领域场景中,实现网络流量的API识别。
相关技术中,技术人员只能对网络流量中已知的API进行识别,对于网络流量中新增加的或未知的API无法进行有效的识别和管理,极易引起网络安全隐患。
本发明实施例的网络流量的应用程序编程接口API识别方法,通过获取网络流量中的统一资源定位器(uniform resource locator,URL)信息,并将URL信息分割为更小单元的URL域,便于对网络流量中的URL信息进行分析及进行API的识别;进一步地,可以根据各个URL域和各个URL域在URL信息中的层级,确定目标层级,最后再根据URL信息和确定出的API在URL信息中对应的目标层级信息,就可以达到识别网络流量中的API的目的。
下面结合图1-图4以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1是本发明实施例提供的网络流量的应用程序编程接口API识别方法一实施例的流程示意图。如图1所示,本实施例提供的方法,包括:
步骤101、获取网络流量数据中的统一资源定位器URL信息;
具体地,为了识别网络流量数据中的API,可以通过获取网络流量数据中的统一资源定位器URL信息,并对URL信息进行进一步地分析以识别网络流量中的API。
步骤102、对URL信息进行分割,得到多个URL域;
具体地,为了更加方便地对网络流量中的API进行识别,可以将网络流量中的URL信息进行分割,也就是将URL信息分割为更小的URL域的形式,以便于对网络流量中的URL信息进行分析及进行API的识别。可选地,可以基于URL信息中的分割符“/”进行URL信息的分割,得到多个URL域。
步骤103、根据各个URL域和各个URL域在URL信息中的层级,确定目标层级;
具体地,将网络流量中的URL信息分割为多个URL域后,就可以基于分割后得到的各个URL域和各个URL域在URL信息中的层级,确定URL信息中的目标层级,也就是确定出API在URL信息中对应的目标层级。
步骤104、根据URL信息和目标层级,识别网络流量中的API。
具体地,确定URL信息中的目标层级,也就是确定出API在URL信息中对应的层级信息后,就可以根据URL信息及API在URL信息中对应的层级信息,识别网络流量中的API。
例如,从网络流量中识别出URL信息:/a/b/aaaabb123/aabb,根据分隔符“/”对URL信息进行分割后,得到4个URL域,分别为第一层级的a、第二层级的b、第三层级的aaaabb123和第四层级的aabb,若根据上述4个域和4个域在URL信息中的层级,确定出目标层级为第三层级,则根据URL信息和目标层级对应的第三层级,将网络流量中的第一层级至目标层级的/a/b/aaaabb123识别为API。
上述实施例的方法,通过获取网络流量中的URL信息,并将URL信息分割为更小单元的URL域,便于对网络流量中的URL信息进行分析及进行API的识别;进一步地,可以根据各个URL域和各个URL域在URL信息中的层级,确定目标层级,最后再根据URL信息和确定出的API在URL信息中对应的目标层级信息,就可以达到识别网络流量中的API的目的。
在一实施例中,根据各个URL域和各个URL域在URL信息中的层级,确定目标层级,包括:
根据多个URL域中的字符数量信息,从URL域中确定出至少一个候选URL域;
根据至少一个候选URL域和候选URL域在URL信息中的层级,确定目标层级。
具体地,网络流量中的API的构成通常具有一定的规律和特征,对应的URL信息分割后得到的URL域也满足其对应的规律和特征,因此可以通过对URL域对应的规律和特征的识别,来确定出API对应的候选URL域,并通过候选URL域在URL信息中的层级,确定出API在URL信息中对应的层级信息。
在一实施例中,根据多个URL域中的字符数量信息,从URL域中确定出至少一个候选URL域,包括:
针对任一URL域,若URL域中的数字数量大于第一阈值,且URL域中的字符数量大于第二阈值,则将URL域作为候选URL域;或,
若URL域中仅包括数字,则将URL域作为候选URL域;
针对任一候选URL域,若候选URL域在URL信息中的层级大于第三阈值,则将候选URL域作为目标URL域,并将目标URL域在ULR信息中的层级确定为目标层级。
具体地,网络流量中的API的构成通常具有一定的规律和特征,对应的URL信息分割后得到的URL域也满足其对应的规律和特征,当URL域中的数字数量大于第一阈值,且URL域中的字符数量大于第二阈值,则将URL域作为候选URL域,或URL域中仅包括数字,则将URL域作为候选URL域;也就是通常情况下,网络流量中的URL信息对应的URL域中的数字和字符数量应该在一定范围内,若URL域中的数字和字符数量超过预设的范围时,那么就可以认为该URL域为API对应的候选URL域。进一步地,若候选URL域在URL信息中的层级大于第三阈值,则将候选域确定为目标URL域,并将目标URL在URL信息中的层级确定为目标层级。
例如,获取到网络中的两个URL信息如下:
/a/b/1;/a/b/a/aaaabb123;
将网络流量中的URL信息以“/”作为分隔符进行拆分,拆分出的每个字段为一个URL域,其中,URL域的层级为从左到右增加,令起始的URL域层级为1。对于第一个URL信息,第三层级中的URL域仅包括数字,则可以将该域作为URL候选域;对于第二个URL信息,第四层级中的URL域中的数字“123”对应的数量大于第一阈值2,该域包含的字符“aaaabb123”对应的数量大于第二阈值7,则可以将该域作为URL候选域。
可选地,若URL信息中的前三个层级对应的URL域通常不存在API,则可以将第三阈值设置为3,若候选URL域在URL信息中的层级大于第三阈值3,则将候选域确定为目标URL域,并将目标URL在URL信息中的层级确定为目标层级。如第一个URL信息中的候选域对应的层级为3,第二个URL信息中的候选域对应的层级为4,则可以将第二个URL信息中的候选域确定为目标URL域,并将目标URL域在URL信息中的第四层级确定为目标层级。
上述实施例的方法,根据多个URL域中的字符数量信息,从URL域中确定出至少一个候选URL域,根据至少一个候选URL域和候选URL域在URL信息中的层级,确定目标层级;即通过分析URL信息中的URL域的特征和规律,来确定API对应的URL域,并将API对应的URL域所在的层级信息作为目标层级,进一步根据确定出的目标URL域及目标URL域对应的目标层级,也就可以有效地识别出对应的API。
在一实施例中,根据URL信息和目标层级,识别网络流量中的API,包括:
将URL信息中第一层级至目标层级的URL域,识别为网络流量中的API;第一层级为URL信息中按照第一方向排列的第一个URL域对应的层级。
具体地,对URL信息进行分割,得到多个URL域后,可以按照第一方向确定分割后的URL域对应的层级。可选地,可以将网络流量中的URL信息以“/”作为分隔符进行拆分,拆分出的每个字段为一个URL域,其中,URL域的层级为从左到右增加,令起始的URL域层级为1。如URL信息/a/b/a/aaaabb123以“/”作为分隔符进行拆分后,通过分析将第四层级对应的“aaaabb123”确定为目标域,目标域对应的层级为第四层级,则可以将URL信息中第一层级至第四层级的URL域,识别为网络流量中的API,即将/a/b/a/aaaabb123识别为API。也就是应用API对应的规律,即利用API对应的URL域中的符号数量特征,识别出网络流量中未知的API,具有处理速度快,且可以并行处理的特点。
上述实施例的方法,将URL信息分割为URL域后,可以按照第一方向确定各个URL域对应的层级;进一步地,在确定出目标URL域后,按照第一方向也就确定了目标URL域对应的目标层级,也就可以将URL信息中第一层级至目标层级的URL域,识别为网络流量中的API,也就达到了从网络流量中识别出API的效果。
在一实施例中,URL信息包括至少两条URL信息,所述根据各个URL域和各个URL域在URL信息中的层级,确定目标层级,包括:
根据网络流量中各个URL域和各个URL域在URL信息中的层级,构建URL信息树;各个URL域为URL信息树子节点;各个URL域在URL信息中的层级为子节点在URL信息树中的层级;
根据URL信息树中各个层级中的子节点的数量以及各个层级对应的阈值,确定目标层级。
具体地,当获取到至少两条URL信息时,可以基于URL信息的主机名hostname将两条URL信息构建成URL信息树,其中,各个URL域为URL信息树子节点;各个URL域在URL信息中的层级为子节点在URL信息树中的层级。相应地,将至少两个URL信息构建为URL信息树后,就可以根据URL信息树中各个层级中的子节点的数量以及各个层级对应的阈值,确定目标层级。
例如,获取到网络流量中的三个URL信息如下:/a/b/a、/a/b/c、/a/b/aaaabb123;若三个URL信息的主机名hostname相同,则可以将URL信息的主机名hostname作为URL信息树的主节点,各个URL域为URL信息树子节点,即将各个域“a”、“b”、“a”、“a”、“b”、“c”、“a”“b”、“aaaabb123”作为URL信息树子节点,可选地,若两个URL信息中某个域中的内容相同,且该域在两个URL信息中的层级也相同,则可以在ULR信息树中将该域进行合并;相应地,各个URL域在URL信息中的层级为子节点在URL信息树中的层级,以此顺序构建出URL信息树。
在一实施例中,根据URL信息树中各个层级中的子节点的数量,确定URL信息树中的目标层级,包括:
针对任一层级,URL信息树中层级中的子节点的数量大于层级对应的阈值的情况下,将层级确定为目标层级。
具体地,将至少两个URL信息构建为URL信息树后,针对任一层级,可以根据该层级中的子节点的数量与该层级对应的阈值的大小情况来确定该层级是否为目标层级。例如,将多个URL信息构建为URL信息树后,URL信息树的第三层的子节点的数量正常情况下是小于10的,那么URL树第三层对应的阈值可以设置为10,那么当多个URL信息构成URL树后其第三层对应的子节点的数量为15个,也就是URL信息树中第三层级中的子节点的数量大于URL树第三层级对应的阈值10的情况下,将URL树的第三层级确定为目标层级。
上述实施例的方法,通过将获取到的多个URL信息构建URL信息树,其中,URL信息中的各个URL域作为URL信息树子节点,各个URL域在URL信息中的层级作为子节点在URL信息树中的层级;然后根据URL信息树中各个层级中的子节点的数量与各个层级对应阈值的大小关系,也就确定出了API在URL信息树中对应的目标层级。
在一实施例中,根据URL信息和目标层级,识别网络流量中的API,包括:
将URL信息树中第一层级至目标层级的URL域,识别为网络流量中的API;API中目标层级的URL域包括所有子节点对应的URL域。
具体地,当获取到多条URL信息,且基于URL信息的主机名hostname将多条URL信息构建成URL信息树并确定URL树对应的目标层后,就可以将URL信息树中第一层级至目标层级的URL域,识别为网络流量中的API,其中,API中目标层级的URL域包括所有子节点对应的URL域。
例如,URL信息树中的第四层级确定为目标层级,且第四层级中包括了8个子节点,也就是URL信息树中的第四层级对应了8个URL域,那么将URL信息树中第一层级至目标层级的URL域,识别为网络流量中的API,也就是将第一层级至第四层级中的8个URL域所对应的所有的8条URL路径,都识别为网络流量中的API。
上述实施例的方法,将多个URL信息域构成URL信息树并确定URL信息树的目标层级后,就可以将URL信息树中第一层级至目标层级中的各个URL域所对应的URL路径都识别为网络流量中的API,达到了从网络流量中识别出API的目的。
在一实施例中,根据URL信息和目标层级,识别网络流量中的API,包括:
从目标层级对应的所有子节点中,确定候选子节点;
将URL信息树中第一层级至目标层级的URL域,识别为网络流量中的API;API中目标层级的URL域仅包括候选子节点对应的URL域。
具体地,当获取到多条URL信息,且基于URL信息的主机名hostname将多条URL信息构建成URL信息树并确定URL树对应的目标层后,就可以将URL信息树中第一层级至目标层级的URL域,识别为网络流量中的API,其中,API中目标层级的URL域仅包括候选子节点对应的URL域。
例如,URL信息树中的第四层级确定为目标层级,且第四层级中包括了8个子节点,其中,8个子节点中只有2个为候选子节点,也就是API中目标层级中包括2个候选子节点对应的URL域,那么就可以将URL信息树中第一层级至目标层级中的2个候选URL域所对应的2条URL路径,识别为网络流量中的API。
上述实施例的方法,将多个URL信息域构成URL信息树并确定URL信息树的目标层级后,就可以将URL信息树中第一层级至目标层级中的候选URL域所对应的URL路径识别为网络流量中的API,达到了从网络流量中识别出API的目的。
在一实施例中,从目标层级对应的所有子节点中,确定候选子节点,包括:
针对目标层级中任一子节点,若子节点对应的URL域中的数字数量大于第一阈值,且子节点对应的URL域中的字符数量大于第二阈值,则将子节点作为候选子节点;或,
若子节点对应的URL域中仅包括数字,则将子节点作为候选子节点。
具体地,根据URL信息树中第一层级至目标层级中的候选子节点所对应的URL路径,可以识别出网络流量中的API;其中,候选URL子节点可以通过各个URL域中的符号数量来确定,若子节点对应的URL域中的数字数量大于第一阈值,且子节点对应的URL域中的字符数量大于第二阈值,则将子节点作为候选子节点;或,若子节点对应的URL域中仅包括数字,则将子节点作为候选子节点。
例如,URL信息树中的目标层级为第三层级,对于第三层级中的某个子节点对应的URL域中的内容为“aaaabb123”,若第一阈值为2,第二阈值为7,那么也就是该子节点对应的URL域中的数字数量大于第一阈值2,且子节点对应的URL域中的字符数量大于第二阈值7,则将该子节点作为候选子节点。在通过API对应的URL域中的符号数量特征无法识别网络流量中的未知API的情况下,通过构建URL信息树并确定目标层级,将第一层级至目标层级的所有URL路径或仅包含候选URL域的路径识别为网络流量中的未知API,可以较第一种基于URL符号数量特征的API识别方法,进一步识别出网络流量中的未知API。
上述实施例的方法,将多个URL信息域构成URL信息树并确定URL信息树的目标层级后,当目标层级中的URL域中的数字数量大于第一阈值,且URL域中的字符数量大于第二阈值,则将URL域作为候选URL域,或URL域中仅包括数字,则将URL域作为目标层级中的候选URL域;也就是通常网络流量中的URL信息对应的URL域中的数字和字符数量应该在一定范围内,若URL域中的数字和字符数量超过预设的范围时,那么就可以认为该URL域为API对应的目标层级中的候选URL域。进一步地,就可以基于确定出的目标层级中的候选URL域,达到从网络流量中识别出API的目的。
在一实施例中,对URL信息进行分割,得到多个URL域,包括:
根据URL信息中的分隔符,对URL信息进行分割,得到多个URL域。
具体地,为了更加方便地对网络流量中的API进行识别,可以将网络流量中的URL信息进行分割,也就是将URL信息分割为更小的URL域的形式,以便于对网络流量中的URL信息进行分析及进行API的识别。可选地,可以基于URL信息中的分割符“/”进行URL信息的分割,得到多个URL域,以便于更加方便对URL信息进行分析以识别出网络流量中的API。
示例性的,如图2所示为本发明实施例提供的网络流量的应用程序编程接口API识别方法的流程示意图,在获取到多个URL信息后,可以将多个URL中相同的主机名hostname作为主节点,并确定出该URL信息树对应的层级,然后将各条URL信息中的URL域作为URL信息树的子节点,构建出URL信息树。URL信息树的构成遵循以下规律:(1)主机名hostname相同的URL信息才可以构成为一个URL信息树;(2)当某层级的子节点数量超过其所对应层级的阈值时,则将该层级确定为目标层级;(3)各个层级对应的阈值可以不同,可以根据实际的流量特征做一定的调整;通常第一层级对应的阈值具有远高于其他层级的阈值(第一层级为目标层级的概率相对其他层级而言较小);(4)对于目标层级中的候选URL域,可选地,只将第一层级至目标层级中的候选URL域所对应的URL路径识别为网络流量中的API,也可以将第一层级值目标层级中的所有URL域对应的URL路径识别为网络流量中的API。
下面对本发明提供的网络流量的应用程序编程接口API识别装置进行描述,下文描述的网络流量的应用程序编程接口API识别装置与上文描述的网络流量的应用程序编程接口API识别方法可相互对应参照。
图3是本发明提供的网络流量的应用程序编程接口API识别装置的结构示意图。本实施例提供的网络流量的应用程序编程接口API识别装置,包括:
获取模块710,用于获取网络流量数据中的统一资源定位器URL信息;
分割模块720,用于对URL信息进行分割,得到多个URL域;
确定模块730,用于根据各个URL域和各个URL域在URL信息中的层级,确定目标层级;
识别模块740,用于根据URL信息和目标层级,识别网络流量中的API。
可选地,所述确定模块730,具体用于:根据多个URL域中的字符数量信息,从URL域中确定出至少一个候选URL域;
根据至少一个候选URL域和候选URL域在URL信息中的层级,确定目标层级。
可选地,所述确定模块730,具体用于:针对任一URL域,若URL域中的数字数量大于第一阈值,且URL域中的字符数量大于第二阈值,则将URL域作为候选URL域;或,
若URL域中仅包括数字,则将URL域作为候选URL域;
针对任一候选URL域,若候选URL域在URL信息中的层级大于第三阈值,则将候选URL域作为目标URL域,并将目标URL域在ULR信息中的层级确定为目标层级。
可选地,所述识别模块740,具体用于:将URL信息中第一层级至目标层级的URL域,识别为网络流量中的API;第一层级为URL信息中按照第一方向排列的第一个URL域对应的层级。
可选地,所述确定模块730,具体用于:根据网络流量中各个URL域和各个URL域在URL信息中的层级,构建URL信息树;各个URL域为URL信息树子节点;各个URL域在URL信息中的层级为子节点在URL信息树中的层级;
根据URL信息树中各个层级中的子节点的数量以及各个层级对应的阈值,确定目标层级。
可选地,所述确定模块730,具体用于:针对任一层级,URL信息树中层级中的子节点的数量大于层级对应的阈值的情况下,将层级确定为目标层级。
可选地,所述识别模块740,具体用于:将URL信息树中第一层级至目标层级的URL域,识别为网络流量中的API;API中目标层级的URL域包括所有子节点对应的URL域。
可选地,所述识别模块740,具体用于:从目标层级对应的所有子节点中,确定候选子节点;
将URL信息树中第一层级至目标层级的URL域,识别为网络流量中的API;API中目标层级的URL域仅包括候选子节点对应的URL域。
可选地,所述确定模块730,具体用于:针对目标层级中任一子节点,若子节点对应的URL域中的数字数量大于第一阈值,且子节点对应的URL域中的字符数量大于第二阈值,则将子节点作为候选子节点;或,
若子节点对应的URL域中仅包括数字,则将子节点作为候选子节点。
可选地,所述分割模块720,具体用于:根据URL信息中的分隔符,对URL信息进行分割,得到多个URL域。
本发明实施例的装置,其用于执行前述任一方法实施例中的方法,其实现原理和技术效果类似,此次不再赘述。
图4示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行网络流量的应用程序编程接口API识别方法,该方法包括:获取网络流量数据中的统一资源定位器URL信息;对URL信息进行分割,得到多个URL域;根据各个URL域和各个URL域在URL信息中的层级,确定目标层级;根据URL信息和目标层级,识别网络流量中的API。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的网络流量的应用程序编程接口API识别方法,该方法包括:获取网络流量数据中的统一资源定位器URL信息;对URL信息进行分割,得到多个URL域;根据各个URL域和各个URL域在URL信息中的层级,确定目标层级;根据URL信息和目标层级,识别网络流量中的API。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的网络流量的应用程序编程接口API识别方法,该方法包括:获取网络流量数据中的统一资源定位器URL信息;对URL信息进行分割,得到多个URL域;根据各个URL域和各个URL域在URL信息中的层级,确定目标层级;根据URL信息和目标层级,识别网络流量中的API。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种网络流量的应用程序编程接口API识别方法,其特征在于,包括:
获取网络流量数据中的统一资源定位器URL信息;
对所述URL信息进行分割,得到多个URL域;
根据各个所述URL域和各个所述URL域在URL信息中的层级,确定目标层级;
根据所述URL信息和所述目标层级,识别所述网络流量中的API。
2.根据权利要求1所述的网络流量的应用程序编程接口API识别方法,其特征在于,所述根据各个所述URL域和各个所述URL域在URL信息中的层级,确定目标层级,包括:
根据所述多个URL域中的字符数量信息,从所述URL域中确定出至少一个候选URL域;
根据至少一个候选URL域和所述候选URL域在所述URL信息中的层级,确定所述目标层级。
3.根据权利要求2所述的网络流量的应用程序编程接口API识别方法,其特征在于,根据所述多个URL域中的字符数量信息,从所述URL域中确定出至少一个候选URL域,包括:
针对任一所述URL域,若所述URL域中的数字数量大于第一阈值,且所述URL域中的字符数量大于第二阈值,则将所述URL域作为所述候选URL域;或,
若所述URL域中仅包括数字,则将所述URL域作为所述候选URL域;
根据至少一个候选URL域和所述候选URL域在所述URL信息中的层级,确定所述目标层级,包括:
针对任一所述候选URL域,若所述候选URL域在所述URL信息中的层级大于第三阈值,则将所述候选URL域作为目标URL域,并将所述目标URL域在所述ULR信息中的层级确定为所述目标层级。
4.根据权利要求1-3任一项所述的网络流量的应用程序编程接口API识别方法,其特征在于,所述根据所述URL信息和所述目标层级,识别所述网络流量中的API,包括:
将所述URL信息中第一层级至目标层级的URL域,识别为所述网络流量中的API;所述第一层级为所述URL信息中按照第一方向排列的第一个URL域对应的层级。
5.根据权利要求1所述的网络流量的应用程序编程接口API识别方法,其特征在于,所述URL信息包括至少两条URL信息,所述根据各个URL域和各个URL域在URL信息中的层级,确定目标层级,包括:
根据网络流量中各个所述URL域和各个所述URL域在所述URL信息中的层级,构建URL信息树;各个所述URL域为所述URL信息树子节点;各个所述URL域在所述URL信息中的层级为所述子节点在URL信息树中的层级;
根据所述URL信息树中各个层级中的子节点的数量以及各个所述层级对应的阈值,确定所述目标层级。
6.根据权利要求5所述的网络流量的应用程序编程接口API识别方法,其特征在于,所述根据所述URL信息树中各个层级中的子节点的数量,确定所述URL信息树中的目标层级,包括:
针对任一所述层级,所述URL信息树中所述层级中的子节点的数量大于所述层级对应的阈值的情况下,将所述层级确定为所述目标层级。
7.根据权利要求5或6所述的网络流量的应用程序编程接口API识别方法,其特征在于,所述根据所述URL信息和所述目标层级,识别所述网络流量中的API,包括:
将所述URL信息树中第一层级至目标层级的URL域,识别为所述网络流量中的API;所述API中所述目标层级的URL域包括所有子节点对应的URL域。
8.根据权利要求5或6所述的网络流量的应用程序编程接口API识别方法,其特征在于,所述根据所述URL信息和所述目标层级,识别所述网络流量中的API,包括:
从所述目标层级对应的所有子节点中,确定候选子节点;
将所述URL信息树中第一层级至目标层级的URL域,识别为所述网络流量中的API;所述API中所述目标层级的URL域仅包括所述候选子节点对应的URL域。
9.根据权利要求8所述的网络流量的应用程序编程接口API识别方法,其特征在于,从所述目标层级对应的所有子节点中,确定候选子节点,包括:
针对所述目标层级中任一所述子节点,若所述子节点对应的URL域中的数字数量大于第一阈值,且所述子节点对应的URL域中的字符数量大于第二阈值,则将所述子节点作为所述候选子节点;或,
若所述子节点对应的URL域中仅包括数字,则将所述子节点作为所述候选子节点。
10.根据权利要求1-3、5或6任一项所述的网络流量的应用程序编程接口API识别方法,其特征在于,所述对所述URL信息进行分割,得到多个URL域,包括:
根据所述URL信息中的分隔符,对所述URL信息进行分割,得到多个URL域。
11.一种网络流量的应用程序编程接口API识别装置,其特征在于,包括:
获取模块,用于获取网络流量数据中的统一资源定位器URL信息;
分割模块,用于对所述URL信息进行分割,得到多个URL域;
确定模块,用于根据各个所述URL域和各个所述URL域在URL信息中的层级,确定目标层级;
识别模块,用于根据所述URL信息和所述目标层级,识别所述网络流量中的API。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任一项所述的网络流量的应用程序编程接口API识别方法。
13.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至10任一项所述的网络流量的应用程序编程接口API识别方法。
14.一种计算机程序产品,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器实现如权利要求1至10中任一项所述的网络流量的应用程序编程接口API识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210653130.XA CN115189914A (zh) | 2022-06-09 | 2022-06-09 | 网络流量的应用程序编程接口api识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210653130.XA CN115189914A (zh) | 2022-06-09 | 2022-06-09 | 网络流量的应用程序编程接口api识别方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115189914A true CN115189914A (zh) | 2022-10-14 |
Family
ID=83514109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210653130.XA Pending CN115189914A (zh) | 2022-06-09 | 2022-06-09 | 网络流量的应用程序编程接口api识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115189914A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665286A (zh) * | 2022-12-26 | 2023-01-31 | 深圳红途科技有限公司 | 接口聚类方法、装置、计算机设备及存储介质 |
CN116170331A (zh) * | 2023-04-23 | 2023-05-26 | 远江盛邦(北京)网络安全科技股份有限公司 | Api资产管理方法、装置、电子设备和存储介质 |
-
2022
- 2022-06-09 CN CN202210653130.XA patent/CN115189914A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665286A (zh) * | 2022-12-26 | 2023-01-31 | 深圳红途科技有限公司 | 接口聚类方法、装置、计算机设备及存储介质 |
CN115665286B (zh) * | 2022-12-26 | 2023-03-28 | 深圳红途科技有限公司 | 接口聚类方法、装置、计算机设备及存储介质 |
CN116170331A (zh) * | 2023-04-23 | 2023-05-26 | 远江盛邦(北京)网络安全科技股份有限公司 | Api资产管理方法、装置、电子设备和存储介质 |
CN116170331B (zh) * | 2023-04-23 | 2023-08-04 | 远江盛邦(北京)网络安全科技股份有限公司 | Api资产管理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110506271B (zh) | 针对隐私敏感用户内容的可配置注释 | |
CN107707545B (zh) | 一种异常网页访问片段检测方法、装置、设备及存储介质 | |
CN115189914A (zh) | 网络流量的应用程序编程接口api识别方法和装置 | |
CN111368289B (zh) | 一种恶意软件检测方法和装置 | |
CN110033302B (zh) | 恶意账户识别方法及装置 | |
CN109359250B (zh) | 统一资源定位符处理方法、装置、服务器及可读存储介质 | |
CN111090807B (zh) | 一种基于知识图谱的用户识别方法及装置 | |
CN112364173B (zh) | 一种基于知识图谱的ip地址机构溯源方法 | |
CN112507160A (zh) | 商标侵权的自动化判定方法、装置、电子设备和存储介质 | |
CN109150817B (zh) | 一种网页请求识别方法及装置 | |
CN114389834A (zh) | 一种api网关异常调用识别的方法、装置、设备及产品 | |
CN114244611B (zh) | 异常攻击检测方法、装置、设备及存储介质 | |
CN110333990B (zh) | 数据处理方法以及装置 | |
CN111353109A (zh) | 一种恶意域名的识别方法及系统 | |
CN113688240A (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
CN109672586A (zh) | 一种dpi业务流量识别方法、装置与计算机可读存储介质 | |
CN114201756A (zh) | 一种智能合约代码片段的漏洞检测方法和相关装置 | |
CN116992052B (zh) | 用于威胁情报领域的长文本摘要方法、装置和电子设备 | |
CN114372267A (zh) | 一种基于静态域的恶意网页识别检测方法、计算机及存储介质 | |
CN116127079B (zh) | 一种文本分类方法 | |
CN112069305A (zh) | 数据筛选方法、装置及电子设备 | |
CN116366603A (zh) | 一种活跃IPv6地址的确定方法及装置 | |
CN115392238A (zh) | 一种设备识别方法、装置、设备及可读存储介质 | |
CN113378156A (zh) | 一种基于api的恶意文件检测方法和系统 | |
CN108449226B (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 |