节点断线重连方法、装置、设备及存储介质与流程-j9九游会真人

文档序号:35888162发布日期:2023-10-28 18:40阅读:5来源:国知局
节点断线重连方法、装置、设备及存储介质与流程

1.本公开涉及计算机技术领域,进一步的涉及攻防技术领域,尤其涉及节点断线重连方法、装置、设备及存储介质。


背景技术:

2.在渗透测试过程中,渗透测试人员会记录他们所执行的攻击路径,并将已获取一定权限的节点整理成一个控制树。他们将攻击路径分层,并根据攻击技术的关联性建立控制树分支,使控制树成为一种可视化工具,帮助渗透测试人员理解和规划攻击路径,以便更好地评估系统的安全性。
3.通过使用控制树,渗透测试人员可以更好地组织攻击思路,并确保不会错过重要的攻击路径。他们可以根据控制树的结构来开展攻击,逐步深入系统,并尝试利用不同的安全漏洞和技术来获取更高级别的访问权限。
4.在控制树中,一旦某个节点因为某种原因断线,其子节点也会全部掉线,也就是因为一个节点断线而丢了部分子树。这种丢失部分子树的情况,会导致渗透测试无法全面有效的进行,进一步导致测试结果不完善。


技术实现要素:

5.有鉴于此,本公开提供了一种节点断线重连方法、装置、设备及存储介质。
6.根据本公开的第一方面,提供了一种节点断线重连方法,应用于断连节点的下级节点。该方法包括:若控制树中的上级节点与服务器断连,则作为断连子树的头节点,保持断连子树存活;若上级节点与服务器重新连接,则与上级节点连接,将断连子树重新接入控制树。
7.在第一方面的一些可实现方式中,作为断连子树的头节点,保持断连子树存活,包括:判断自身是否具备与上级节点重新连接的能力;若不具备重新连接的能力,则成为断连子树的头节点,保持断连子树存活并监听连接端口等待连接;若具备重新连接的能力,则成为断连子树的头节点,保持断连子树存活并主动连接断连节点。
8.在第一方面的一些可实现方式中,若上级节点与服务器重新连接,则与上级节点连接,包括:若不具备重新连接的能力,则监听连接端口,响应上级节点的连接指令,与上级节点完成连接;若具备重新连接的能力,则使用connect命令主动连接上级节点,接收上级节点的响应,与上级节点完成连接。
9.在第一方面的一些可实现方式中,将断连子树重新接入控制树,包括:向上级节点发送节点数据,以便上级节点将重连信息及节点数据逐级转发给服务器;其中,节点数据包括下级节点的身份信息及基础信息、断连子树中其余子节点的存活信息及基础信息。
10.在第一方面的一些可实现方式中,作为断连子树的头节点,保持断连子树存活,还包括:判断自身是否具备与上级节点的父节点取得连接的能力;若不具备取得连接的能力,则监听连接端口,响应上级节点的父节点的连接指令,与上级节点的父节点完成连接;若具备取得连接的能力,则使用connect命令主动连接上级节点的父节点,接收上级节点的父节点的响应,与上级节点的父节点完成连接。
11.根据本公开的第二方面,提供了一种节点断线重连装置,应用于断连节点的下级节点。该装置包括:第一处理模块,用于若控制树中的上级节点与服务器断连,则作为断连子树的头节点,保持断连子树存活;第二处理模块,用于若上级节点与服务器重新连接,则与上级节点连接,将断连子树重新接入控制树。
12.根据本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如以上所述的方法。
13.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如以上所述的方法。
14.在本公开中,通过断连节点的下级节点保持断连子树的运行,以实现重新连接时,断连子树中的子节点无需身份认证,快速接入控制树,同时,解决了多级节点相连接的情况下,因为一个断连节点而丢失部分子树的情况。
15.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
16.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。附图用于更好地理解本方案,不构成对本公开的限定在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了本公开实施例提供的节点重连方法的流程图;图2-图4示出了本公开实施例提供的节点重连方法的示例性示意图;图5示出了根据本公开的实施例的节点重连装置的框图;图6示出了能够实施本公开的实施例的示例性电子设备的框图。
具体实施方式
17.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
18.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
19.针对背景技术中提到的问题,本公开提供了一种节点断线重连方法、装置、设备及存储介质,应用于断连节点的下级节点。
20.具体地,若控制树中的上级节点与服务器断连,则作为断连子树的头节点,保持所述断连子树存活;若上级节点与服务器重新连接,则与上级节点连接,将断连子树重新接入控制树。
21.以此方式,可以解决多级节点相连接的情况下,因为一个断连节点而丢失部分子树的情况,能够快速将断连子树重新接入控制树,无需对子树中的子节点进行重复的身份认证,可以有效减少服务器的工作量。
22.下面结合附图及具体实施例对本公开所提供的节点断线重连方法、装置、设备及存储介质进行更加具体的说明。
23.图1示出了本公开实施例提供的节点重连方法的流程图;如图1所示,节点断线重连方法100可以包括以下步骤:s110,若控制树中的上级节点与服务器断连,则作为断连子树的头节点,保持断连子树存活。
24.具体地,若控制树中的上级节点与服务器断连,则下级节点判断自身是否具备与上级节点重新连接的能力;若不具备重新连接的能力,则成为断连子树的头节点,保持断连子树存活并监听连接端口等待连接;若具备重新连接的能力,则成为断连子树的头节点,保持断连子树存活并主动连接断连节点。
25.根据本公开的实施例,通过下级节点维持断连子树中其他子节点存活,以便下级节点在与上级节点重新连接时,能够快速将断连子树重新接入控制树。
26.s120,若上级节点与服务器重新连接,则与上级节点连接,将断连子树重新接入控制树。
27.具体地,若不具备重新连接的能力,则监听连接端口,响应上级节点的连接指令,与上级节点完成连接;若具备重新连接的能力,则使用connect命令主动连接上级节点,接收上级节点的响应,与上级节点完成连接。
28.进一步地,向上级节点发送节点数据,以便上级节点将重连信息及节点数据逐级转发给服务器;其中,节点数据包括下级节点的身份信息及基础信息、断连子树中其余子节点的存活信息及基础信息。
29.具体地,重新进行连接时/重新进行连接后,下级节点向上级节点发送节点数据,以通知上级节点自身是重连节点,不是新的节点,无需向服务器申请分配新的id,上级节点接收节点数据后,重连信息及节点数据逐级转发给服务器。
identifier,通用唯一识别码),不是新加入的节点”;同时:agent2更新缓存中与agent1的连接状态,并通知agent3、agent4,上游节点已重连,agent3通知agent6上游节点已重连。
44.agent2将自己的基本信息,子节点的存活信息及子节点的基本信息发送给agent1,agent1将
ꢀ“
agent2(uuid)重连”的信息,agent2的基本信息,agent3、agent4、agent6的存活信息及agent3、agent4、agent6的基本信息发送给agent0,agent0将上述信息转发给admin,admin接收后重新保存agent2 、agent3、agent4、agent6的连接记录,并更新agent2 、agent3、agent4、agent6的基本信息,如此就完成了以agent2为首的一个断线子树的重连。
45.agent1重新与服务器连接时,对应agent2与agent1的不同连接状态,会有以下区别:如图3所示,agent2被动连接agent1时,agent2 不具备重新与agent1连接的能力, agent2重新监听初始设置的端口,agent1使用connect命令主动连接agent2,并向agent2发送握手包;agent2响应来自agent1的握手包,agent1与agent2重连成功。
46.agent1判断agent2为重连节点,不需要请求新的id,则向admin发送agent2上线的消息,同时通知admin:“agent2为重连节点”。
47.admin接收消息后,保存节点信息并刷新路由。
48.agent2更新与agent1的连接状态,并通知admin:“agent2的子节点上线”,同时,通知子节点agent3、agent4:“已与agent1重连”。
49.agent3和agent4分别向admin发送自己的节点信息,并分别通知admin:“agent3的子节点上线”、“agent4的子节点上线”。
50.agent3通知其子节点agent6:“已与上游节点重连”;agent6向admin发送自己的节点信息,并通知admin:“agent6的子节点上线”。
51.重复上述操作,直至所有节点重连并向admin发送了节点基本信息。
52.如图4所示,agent2主动连接agent1时,agent2具备与agent1重新连接的能力,agent2每隔一端时间自动重连初始端口,在agent1重新上线时,与agent1连接,并向agent1发送握手包;agent1响应来自agent2的握手包,agent1与agent2重连成功。
53.可以理解的是,agent2与agent1的不同连接状态,主要在于agent2主动/被动连接时连接方式的不同,其他操作相同,因此,在此不再赘述agent2主动连接agent1时的详细操作。
54.在一些实施例中,agent1断开了,agent2还在运行,此时admin不会在第一时间进行节点信息删除操作,而是选择忽略agent1,使得agent2直接与agent0建立连接。同样,在忽略agent1直接与agent0建立连接时,也有agent2主动连接agent0、agent2被动连接agent0两种连接状态,其原理同上,在此不再赘述。
55.可以理解的是,agent1断开了,agent2还在运行,此时admin删除了所有节点信息,但是安全测试员知道agent2的节点信息,因此,也可以通过手动添加节点信息的方式实现忽略断连节点,直接连接其下级节点的目的。
56.根据本公开的实施例,实现了以下技术效果:解决了多级节点相连接的情况下,一旦某个节点因为某种原因断线,而导致的他
的子节点都掉线,因为一个断连节点而丢失部分子树的情况,有效提高了测试环境的稳定性,进一步提高了测试结果的全面性。
57.能够快速将断连子树重新接入控制树,无需对子树中的子节点进行重复的身份认证,可以有效减少服务器的工作量,进一步提高了测试效率。
58.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
59.以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
60.图5示出了根据本公开的实施例的节点重连装置的框图。如图5所示,节点重连装置500可以包括:第一处理模块510,用于若控制树中的上级节点与服务器断连,则作为断连子树的头节点,保持断连子树存活。
61.第二处理模块520,用于若上级节点与服务器重新连接,则与上级节点连接,将断连子树重新接入控制树。
62.在一些实施例中,节点重连装置500还可以包括:第三处理模块,用于判断自身是否具备与上级节点的父节点取得连接的能力;若不具备取得连接的能力,则监听连接端口,响应上级节点的父节点的连接指令,与上级节点的父节点完成连接;若具备取得连接的能力,则使用connect命令主动连接上级节点的父节点,接收上级节点的父节点的响应,与上级节点的父节点完成连接。
63.可以理解的是,图5所示的节点重连装置500中的各个模块/单元具有实现本公开实施例提供的节点重连方法100中的各个步骤的功能,并能达到其相应的技术效果,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,为描述的方便和简洁,在此不再赘述。
64.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质。
65.图6示出了能够实施本公开的实施例的示例性电子设备的框图。
66.如图6所示,电子设备600旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
67.电子设备600包括计算单元601,其可以根据存储在rom602中的计算机程序或者从存储单元608加载到ram603中的计算机程序,来执行各种适当的动作和处理。在ram603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、rom602以及ram603通过总线604彼此相连。i/o接口605也连接至总线604。
68.电子设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以
及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
69.计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如方法100。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到ram603并由计算单元601执行时,可以执行上文描述的方法100的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100。
70.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统(soc)、负载可编程机制设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
71.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
72.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
73.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置;以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
74.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
75.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
76.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
77.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1  
相关技术
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图