本申请涉及网络设备管理,具体而言,涉及一种网络设备配置采集方法、装置、电子设备及存储介质。
背景技术:
1、在完成网络设备基线知识的过程中,需要拿到对应网络设备或安全设备的实际配置和可执行的加固命令格式,以更准确的完成规则和配置建议的编写,这时需要采集网络设备或安全设备的配置样本和命令格式,通常采用如下两种方式:一种是人工手动执行命令采集的方式,但是这种方式效率比较低,需要人工逐个命令执行;二是把已知命令写入脚本并在设备上执行,这种方式由于写在脚本中的都是已知命令(来源于相似设备或软件版本型号的命令),且与设备的适配性不确定,获取到的结果有可能不全,且无法根据实际设备版本调整执行的命令来获得加固命令格式。
技术实现思路
1、本申请实施例的目的在于提供一种网络设备配置采集方法、装置、电子设备及存储介质,可实现网络设备配置的自动采集,且不依赖于已知命令,可获得网络设备的全部配置信息和可执行加固命令,解决了现有方法需要人工手动进行命令执行或利用已知命令获得的配置信息不全的问题。
2、本申请实施例提供了一种网络设备配置采集方法,所述方法包括:
3、连接到网络设备后,获取所述网络设备的可执行命令列表;
4、遍历所述可执行命令列表,并逐一向所述网络设备发送可执行命令;
5、获取所述可执行命令对应的拼接命令列表;
6、若所述拼接命令列表可拼接,则基于拼接命令列表获得所述可执行命令的有效参数并添加至所述可执行命令中,以对所述可执行命令进行更新,并重新向所述网络设备发送更新后的可执行命令,直至所述可执行命令对应的拼接命令列表不可拼接;
7、获得拼接命令列表不可拼接后的所述可执行命令的执行结果,再执行下一个可执行命令,直至可执行命令列表中的所有命令执行完毕,获得所述网络设备的所有配置信息。
8、在上述实现过程中,通过遍历执行可执行命令列表中的命令,不断对可执行命令列表进行更新,实现对网络设备配置的自动采集,无需人工手动执行,且不依赖于已知命令进行检查,可以保证采集到信息的准确性和全面性,可以获得网络设备全部的配置信息和可执行的加固命令,且该方法可根据实际设备版本调整执行的命令来获得加固命令格式,解决了现有方法需要人工手动进行命令执行或利用已知命令获得的配置信息不全的问题。
9、进一步地,所述获得拼接命令列表不可拼接后的所述可执行命令的执行结果,包括:
10、判断所述拼接命令列表中是否包含结束符;
11、若包含结束符,则判断所述可执行命令是否包含危险命令;
12、若不包含危险命令,则执行所述可执行命令并获得执行结果。
13、在上述实现过程中,若包含结束符,说明拼接命令列表不可拼接,可直接对可执行命令进行执行。
14、进一步地,所述若所述拼接命令列表可拼接,则基于拼接命令列表获得所述可执行命令的有效参数并添加至所述可执行命令中,包括:
15、若不包含结束符,则根据拼接命令列表判断所述可执行命令是否需要传入参数字段;
16、若需要,则从拼接命令列表中获得有效参数并添加至所述可执行命令中。
17、在上述实现过程中,若不包含结束符说明拼接命令列表可拼接,可从拼接命令列表中获得有效参数并添加至所述可执行命令中。
18、进一步地,所述从所述执行结果或拼接命令列表中获得有效参数并添加至所述可执行命令中,包括:
19、从拼接命令列表中提取有效参数,或者,基于拼接命令列表生成有效参数并将所述有效参数添加至所述可执行命令中。
20、在上述实现过程中,从执行结果或拼接命令列表中获得有效参数并添加至可执行命令中,以对可执行命令进行更新。
21、进一步地,所述方法还包括:
22、若不需要传入参数字段,则从所述拼接命令列表中提取有效命令并添加至所述可执行命令中。
23、在上述实现过程中,从拼接命令列表中提取有效命令并添加至所述可执行命令中,以对可执行命令进行更新。
24、本申请实施例还提供一种网络设备配置采集装置,所述装置包括:
25、可执行命令列表获取模块,用于连接到网络设备后,获取所述网络设备的可执行命令列表;
26、命令发送模块,用于遍历所述可执行命令列表,并逐一向所述网络设备发送可执行命令;
27、拼接命令列表获取模块,用于获取所述可执行命令对应的拼接命令列表;
28、可执行命令更新模块,用于若所述拼接命令列表可拼接,则基于拼接命令列表获得所述可执行命令的有效参数并添加至所述可执行命令中,以对所述可执行命令进行更新,并重新向所述网络设备发送更新后的可执行命令,直至所述可执行命令对应的拼接命令列表不可拼接;
29、执行结果获取模块,用于获得拼接命令列表不可拼接后的所述可执行命令的执行结果,再执行下一个可执行命令,直至可执行命令列表中的所有命令执行完毕,获得所述网络设备的所有配置信息。
30、在上述实现过程中,通过遍历执行可执行命令列表中的命令,不断对可执行命令列表进行更新,实现对网络设备配置的自动采集,无需人工手动执行,且不依赖于已知命令进行检查,可以保证采集到信息的准确性和全面性,可以获得网络设备全部的配置信息和可执行的加固命令,且该方法可根据实际设备版本调整执行的命令来获得加固命令格式,解决了现有方法需要人工手动进行命令执行或利用已知命令获得的配置信息不全的问题。
31、进一步地,所述执行结果获取模块,包括:
32、可拼接判断模块,用于判断所述拼接命令列表中是否包含结束符;
33、可执行判断模块,用于若包含结束符,则判断所述可执行命令是否包含危险命令;
34、执行模块,用于若不包含危险命令,则执行所述可执行命令并获得执行结果。
35、在上述实现过程中,若包含结束符,说明拼接命令列表不可拼接,可直接对可执行命令进行执行。
36、进一步地,所述可执行命令更新模块包括:
37、参数判断模块,用于若不包含结束符,则根据拼接命令列表判断所述可执行命令是否需要传入参数字段;
38、有效参数获取模块,用于若需要,则从拼接命令列表中获得有效参数并添加至所述可执行命令中。
39、在上述实现过程中,若不包含结束符说明拼接命令列表可拼接,可从拼接命令列表中获得有效参数并添加至所述可执行命令中。
40、本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行上述中任一项所述的网络设备配置采集方法。
41、本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的网络设备配置采集方法。
1.一种网络设备配置采集方法,其特征在于,所述方法包括:
2.根据权利要求1所述的网络设备配置采集方法,其特征在于,所述获得拼接命令列表不可拼接后的所述可执行命令的执行结果,包括:
3.根据权利要求1所述的网络设备配置采集方法,其特征在于,所述若所述拼接命令列表可拼接,则基于所述拼接命令列表获得所述可执行命令的有效参数并添加至所述可执行命令中,包括:
4.根据权利要求3所述的网络设备配置采集方法,其特征在于,所述从拼接命令列表中获得有效参数并添加至所述可执行命令中,包括:
5.根据权利要求3所述的网络设备配置采集方法,其特征在于,所述方法还包括:
6.一种网络设备配置采集装置,其特征在于,所述装置包括:
7.根据权利要求6所述的网络设备配置采集装置,其特征在于,所述执行结果获取模块,包括:
8.根据权利要求6所述的网络设备配置采集装置,其特征在于,所述可执行命令更新模块包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行根据权利要求1至5中任一项所述的网络设备配置采集方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至5中任一项所述的网络设备配置采集方法。