CN109656634A - 插件调用方法及设备 - Google Patents
插件调用方法及设备 Download PDFInfo
- Publication number
- CN109656634A CN109656634A CN201811443440.9A CN201811443440A CN109656634A CN 109656634 A CN109656634 A CN 109656634A CN 201811443440 A CN201811443440 A CN 201811443440A CN 109656634 A CN109656634 A CN 109656634A
- Authority
- CN
- China
- Prior art keywords
- plug
- unit
- goal task
- fingerprint characteristic
- task
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种插件调用方法及设备,涉及电子信息技术领域,能够解决软件框架中插件调用不灵活、浪费资源的问题。具体技术方案为:获取请求信息,请求信息用于请求执行目标任务,请求信息包括目标任务的指纹特征;根据目标任务的指纹特征在预设映射中确定目标任务的相关插件,预设映射指示至少一个指纹特征和至少一个插件之间的对应关系;运行目标任务的相关插件。本公开用于插件调用。
Description
技术领域
本公开涉及电子信息技术领域,尤其涉及插件调用方法及设备。
背景技术
在各类软件框架中,存在大量插件调用的情况,尤其是在基于插件的漏洞扫描过程中。通常情况下,插件调用在软件框架中预先设定好,无法再进行变更,例如,漏洞扫描过程中,调用所有插件。这种插件调用的方式很不灵活,浪费了大量的资源。
发明内容
本公开实施例提供一种插件调用方法及设备,能够解决软件框架中插件调用不灵活、浪费资源的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种插件调用方法,该方法包括:
获取请求信息,请求信息用于请求执行目标任务,请求信息包括目标任务的指纹特征;
根据目标任务的指纹特征在预设映射中确定目标任务的相关插件,预设映射指示至少一个指纹特征和至少一个插件之间的对应关系;
运行目标任务的相关插件。
在插件调用过程中,先根据目标任务的指纹特征确定目标任务的相关插件,不同的任务具有不同的指纹特征,不同的任务只需要调用各自的相关插件即可,插件调用更加灵活,而且因为调用的插件变少,节约了资源。
在一个实施例中,目标任务的指纹特征包括目标任务的关键字、目标任务的数据结构特征、目标任务的逻辑特性中的至少一项。
在一个实施例中,运行目标任务的相关插件之前,该方法还包括:
根据目标任务的相关插件生成目标任务的执行指令,目标任务的执行指令用于指示运行目标任务的相关插件;
将目标任务的执行指令添加到核心队列中,核心队列包括至少一个指令。
在一个实施例中,获取请求信息,包括:
运行目标插件,在运行目标插件的过程中生成请求信息,目标插件的调用层级和目标任务的相关插件的调用层级相同或者不同。
在一个实施例中,该方法还包括:
运行目标插件,通过目标插件调用task_push接口,上传请求信息。
在一个实施例中,该方法还包括:
获取至少一个指纹特征和至少一个插件;
根据至少一个指纹特征和至少一个插件之间的对应关系建立预设映射。
根据本公开实施例的第二方面,提供一种电子设备,包括:第一获取模块、映射模块和运行模块;
其中,第一获取模块,用于获取请求信息,请求信息用于请求执行目标任务,请求信息包括目标任务的指纹特征;
映射模块,用于根据目标任务的指纹特征在预设映射中确定目标任务的相关插件,预设映射指示至少一个指纹特征和至少一个插件之间的对应关系;
运行模块,用于运行目标任务的相关插件。
在一个实施例中,目标任务的指纹特征包括目标任务的关键字、目标任务的数据结构特征、目标任务的逻辑特性中的至少一项。
在一个实施例中,电子设备还包括:指令模块和队列模块;
指令模块,用于根据目标任务的相关插件生成目标任务的执行指令,目标任务的执行指令用于指示运行目标任务的相关插件;
队列模块,用于将目标任务的执行指令添加到核心队列中,核心队列包括至少一个指令。
在一个实施例中,第一获取模块包括运行单元;
目标单元,用于运行目标插件,在运行目标插件的过程中生成请求信息,目标插件的调用层级和目标任务的相关插件的调用层级相同或者不同。
在一个实施例中,电子设备还包括第二获取模块;
第二获取模块,用于获取至少一个指纹特征和至少一个插件;
映射模块,还用于根据至少一个指纹特征和至少一个插件之间的对应关系建立预设映射。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种插件调用方法的流程图;
图2是本公开实施例提供的一种插件调用逻辑示意图;
图3是本公开实施例提供的一种电子设备的结构图;
图4是本公开实施例提供的一种电子设备的结构图;
图5是本公开实施例提供的一种电子设备的结构图;
图6是本公开实施例提供的一种电子设备的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种插件调用方法,应用于电子设备,如图1所示,该插件调用方法包括以下步骤:
101、获取请求信息,请求信息用于请求执行目标任务。
目标任务可以是运行一个插件,或者运行系统程序,或者运行某个服务应用等,本公开对此不做限制。
请求信息包括目标任务的指纹特征。在一个实施例中,目标任务的指纹特征包括目标任务的关键字、目标任务的数据结构特征、目标任务的逻辑特性中的至少一项。需要说明的是,对目标任务中的关键字段进行识别,可以确定目标任务的指纹特征。
获取请求信息可以有多种实现方式,此处以目标插件为例进行说明,当然,此处只是示例性说明,并不代表本公开局限于此。
在一个实施例中,获取请求信息,包括:
运行目标插件,在运行目标插件的过程中生成请求信息,目标插件的调用层级和目标任务的相关插件的调用层级相同或者不同。
在另一个实施例中,该方法还包括:
运行目标插件,通过目标插件调用task_push接口,上传请求信息。
具体的,目标插件在运行过程中,可以调用task_push接口,进行信息上传,将请求信息上传到主程序。
102、根据目标任务的指纹特征在预设映射中确定目标任务的相关插件。
预设映射指示至少一个指纹特征和至少一个插件之间的对应关系。
例如,目标任务可以是SSH(英文:Secure Shell,安全外壳协议)服务,则调用SSH服务对应的SSH相关检测插件“SSH弱口令检测”等,针对性的对SSH服务进行检测。
预设映射可以是预先生成的,也可以是其他设备传输至电子设备的,在一个实施例中,该方法还包括:
获取至少一个指纹特征和至少一个插件;根据至少一个指纹特征和至少一个插件之间的对应关系建立预设映射。
103、运行目标任务的相关插件。
在一个实施例中,运行目标任务的相关插件之前,该方法还包括:
根据目标任务的相关插件生成目标任务的执行指令,目标任务的执行指令用于指示运行目标任务的相关插件;将目标任务的执行指令添加到核心队列中,核心队列包括至少一个指令。
需要说明的是,目标任务的执行指令可以包括目标任务的相关插件中每一个相关插件的标识。例如,可调用的插件共有5个,5个插件的标识分别为1、2、3、4、5,其中,第1个插件、第5个插件为目标任务的相关插件,则将这两个插件的标识“1”和“5”添加到核心队列中。当然,此处只是示例性说明,并不代表本公开局限于此。
基于上述图1对应的实施例提供的插件调用方法,如图2所示,图2是本公开实施例提供的一种插件调用逻辑示意图,结合图2所示的插件调用逻辑,本实施例以漏洞检测为例,对本公开实施例所提供的插件调用方法进行说明。
图2中,示出了框架、框架接口、核心队列、插件A和插件B。
其中,框架提供插件的运行环境、功能接口以及完整的任务调度功能,保证框架中的插件可以按照既定规则进行自由调用,框架可以是电子设备中的主程序。
插件可以是针对漏洞检测的最小调用单位,通常地,一个插件对应检测一个特定应用的特定漏洞或者一个功能的具体实现。在本公开实施例中,漏洞检测的功能可以通过插件来实现,例如Web(英文:World Wide Web,全球广域网)爬虫,每个URL(英文:UniformResource Locator,统一资源定位符)对应一次插件调用,每次遇到新的URL后,都可以通过插件调用的方式将URL的信息填写进插件中,进行调用。URL的信息可以指示漏洞入口点,URL的信息可以包括端口号和IP(英文:Internet Protocol,互联协议)地址。
核心队列存储已确定且即将调用的插件队列,插件通过框架接口将任务加入到队列中,框架会周期性的来调度运行队列中的任务。
例如,插件A在运行过程中需要执行目标任务,生成请求信息,此时,插件A调用平台提供的task_push接口上传请求信息,上传的请求信息可以包括目标任务的特征名和对应位置;框架根据请求信息中目标任务的指纹特征进行匹配,确定目标任务的相关插件。比如,插件B为目标任务的相关插件,则框架将插件B加入到核心队列中,在核心队列中等待执行。
本公开实施例提供的插件调用方法,在插件调用过程中,先根据目标任务的指纹特征确定目标任务的相关插件,不同的任务具有不同的指纹特征,不同的任务只需要调用各自的相关插件即可,插件调用更加灵活,而且因为调用的插件变少,节约了资源。
基于上述图1对应的实施例中所描述的插件调用方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种电子设备,如图3所示,该电子设备30包括:第一获取模块301、映射模块302和运行模块303;
其中,第一获取模块301,用于获取请求信息,请求信息用于请求执行目标任务,请求信息包括目标任务的指纹特征;
映射模块302,用于根据目标任务的指纹特征在预设映射中确定目标任务的相关插件,预设映射指示至少一个指纹特征和至少一个插件之间的对应关系;
运行模块303,用于运行目标任务的相关插件。
在一个实施例中,目标任务的指纹特征包括目标任务的关键字、目标任务的数据结构特征、目标任务的逻辑特性中的至少一项。
在一个实施例中,如图4所示,电子设备30还包括:指令模块304和队列模块305;
指令模块304,用于根据目标任务的相关插件生成目标任务的执行指令,目标任务的执行指令用于指示运行目标任务的相关插件;
队列模块305,用于将目标任务的执行指令添加到核心队列中,核心队列包括至少一个指令。
在一个实施例中,如图5所示,第一获取模块301包括运行单元3011;
目标单元,用于运行目标插件,在运行目标插件的过程中生成请求信息,目标插件的调用层级和目标任务的相关插件的调用层级相同或者不同。
在一个实施例中,如图6所示,电子设备30还包括第二获取模块306;
第二获取模块306,用于获取至少一个指纹特征和至少一个插件;
映射模块302,还用于根据至少一个指纹特征和至少一个插件之间的对应关系建立预设映射。
本公开实施例提供的电子设备,在插件调用过程中,先根据目标任务的指纹特征确定目标任务的相关插件,不同的任务具有不同的指纹特征,不同的任务只需要调用各自的相关插件即可,插件调用更加灵活,而且因为调用的插件变少,节约了资源。
基于上述图1对应的实施例中所描述的插件调用方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:ReadOnly Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的插件调用方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种插件调用方法,其特征在于,所述方法包括:
获取请求信息,所述请求信息用于请求执行目标任务,所述请求信息包括所述目标任务的指纹特征;
根据所述目标任务的指纹特征在预设映射中确定所述目标任务的相关插件,所述预设映射指示至少一个指纹特征和至少一个插件之间的对应关系;
运行所述目标任务的相关插件。
2.根据权利要求1所述的方法,其特征在于,
所述目标任务的指纹特征包括所述目标任务的关键字、所述目标任务的数据结构特征、所述目标任务的逻辑特性中的至少一项。
3.根据权利要求1所述的方法,其特征在于,运行所述目标任务的相关插件之前,所述方法还包括:
根据所述目标任务的相关插件生成所述目标任务的执行指令,所述目标任务的执行指令用于指示运行所述目标任务的相关插件;
将所述目标任务的执行指令添加到核心队列中,所述核心队列包括至少一个指令。
4.根据权利要求1所述的方法,其特征在于,获取请求信息,包括:
运行目标插件,在运行所述目标插件的过程中生成所述请求信息,所述目标插件的调用层级和所述目标任务的相关插件的调用层级相同或者不同。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
获取至少一个指纹特征和至少一个插件;
根据所述至少一个指纹特征和所述至少一个插件之间的对应关系建立所述预设映射。
6.一种电子设备,其特征在于,所述电子设备包括:第一获取模块、映射模块和运行模块;
其中,所述第一获取模块,用于获取请求信息,所述请求信息用于请求执行目标任务,所述请求信息包括所述目标任务的指纹特征;
所述映射模块,用于根据所述目标任务的指纹特征在预设映射中确定所述目标任务的相关插件,所述预设映射指示至少一个指纹特征和至少一个插件之间的对应关系;
所述运行模块,用于运行所述目标任务的相关插件。
7.根据权利要求6所述的电子设备,其特征在于,
所述目标任务的指纹特征包括所述目标任务的关键字、所述目标任务的数据结构特征、所述目标任务的逻辑特性中的至少一项。
8.根据权利要求6所述的电子设备,其特征在于,所述电子设备还包括:指令模块和队列模块;
所述指令模块,用于根据所述目标任务的相关插件生成所述目标任务的执行指令,所述目标任务的执行指令用于指示运行所述目标任务的相关插件;
所述队列模块,用于将所述目标任务的执行指令添加到核心队列中,所述核心队列包括至少一个指令。
9.根据权利要求6所述的电子设备,其特征在于,所述第一获取模块包括运行单元;
所述目标单元,用于运行目标插件,在运行所述目标插件的过程中生成所述请求信息,所述目标插件的调用层级和所述目标任务的相关插件的调用层级相同或者不同。
10.根据权利要求6-9任一项所述的电子设备,其特征在于,所述电子设备还包括第二获取模块;
所述第二获取模块,用于获取至少一个指纹特征和至少一个插件;
所述映射模块,还用于根据所述至少一个指纹特征和所述至少一个插件之间的对应关系建立所述预设映射。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811443440.9A CN109656634A (zh) | 2018-11-29 | 2018-11-29 | 插件调用方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811443440.9A CN109656634A (zh) | 2018-11-29 | 2018-11-29 | 插件调用方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109656634A true CN109656634A (zh) | 2019-04-19 |
Family
ID=66111967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811443440.9A Pending CN109656634A (zh) | 2018-11-29 | 2018-11-29 | 插件调用方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656634A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436148A (zh) * | 2007-11-14 | 2009-05-20 | 华为技术有限公司 | 集成客户端及进行桌面应用与网络web应用交互的方法 |
CN103870334A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团公司 | 一种大规模漏洞扫描的任务分配方法及装置 |
CN106230837A (zh) * | 2016-08-04 | 2016-12-14 | 湖南傻蛋科技有限公司 | 一种支持动态扩充的web漏洞扫描方法和扫描器 |
CN106599045A (zh) * | 2016-11-09 | 2017-04-26 | 上海艾融软件股份有限公司 | 一种请求发送方法及装置 |
CN108063759A (zh) * | 2017-12-05 | 2018-05-22 | 西安交大捷普网络科技有限公司 | web漏洞扫描方法 |
-
2018
- 2018-11-29 CN CN201811443440.9A patent/CN109656634A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436148A (zh) * | 2007-11-14 | 2009-05-20 | 华为技术有限公司 | 集成客户端及进行桌面应用与网络web应用交互的方法 |
CN103870334A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团公司 | 一种大规模漏洞扫描的任务分配方法及装置 |
CN106230837A (zh) * | 2016-08-04 | 2016-12-14 | 湖南傻蛋科技有限公司 | 一种支持动态扩充的web漏洞扫描方法和扫描器 |
CN106599045A (zh) * | 2016-11-09 | 2017-04-26 | 上海艾融软件股份有限公司 | 一种请求发送方法及装置 |
CN108063759A (zh) * | 2017-12-05 | 2018-05-22 | 西安交大捷普网络科技有限公司 | web漏洞扫描方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7818752B2 (en) | Interface for application components | |
CN112035238B (zh) | 任务调度处理方法、装置、集群系统及可读存储介质 | |
KR100690290B1 (ko) | 애플리케이션 서비스에 액세스하는 방법, 애플리케이션서비스에 대한 액세스를 제공하는 장치 및 지속성 유지 장치 | |
CN105915650B (zh) | 负载均衡方法和装置 | |
CN111274604B (zh) | 服务访问方法、装置、设备及计算机可读存储介质 | |
US12045264B2 (en) | Local data classification based on a remote service interface | |
CN111901157B (zh) | 一种基于k8s的服务部署方法、装置、设备、介质 | |
CN108664343B (zh) | 一种微服务的有状态调用方法及装置 | |
CN105827300A (zh) | 中继装置以及数据通信系统 | |
CN109995787A (zh) | 一种数据处理方法及相关设备 | |
CN104503768A (zh) | 一种应用程序编程接口调用方法及设备 | |
CN110830443A (zh) | 一种远程监测设备状态的方法及系统 | |
CN110738156A (zh) | 一种基于消息中间件的人脸识别系统及方法 | |
US20190370489A1 (en) | Processing requests at a remote service to implement local data classification | |
CN116456496B (zh) | 资源调度的方法、存储介质及电子设备 | |
CN112860398A (zh) | 基于规则引擎的数据处理方法、装置、设备及介质 | |
CN117273628A (zh) | 基于流程自动化的业务处理系统、方法、装置和介质 | |
CN109656634A (zh) | 插件调用方法及设备 | |
CN110516130A (zh) | 元数据处理方法及装置、存储介质、电子装置 | |
CN109859038A (zh) | 一种区块链智能合约的生效方法及装置 | |
CN110691263A (zh) | 同步本地与服务器时间的方法、介质、电子设备及系统 | |
CN108055337A (zh) | 多业务平台对接公众号的方法和装置 | |
CN101482816B (zh) | 中介软件桥接系统及方法 | |
CN114726905A (zh) | 一种Tbox网络接入Android系统的方法、装置、设备及存储介质 | |
CN111400060B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190419 |