CN113641398A - 一种Ubuntu操作系统版本的识别方法、装置及设备 - Google Patents
一种Ubuntu操作系统版本的识别方法、装置及设备 Download PDFInfo
- Publication number
- CN113641398A CN113641398A CN202110909218.9A CN202110909218A CN113641398A CN 113641398 A CN113641398 A CN 113641398A CN 202110909218 A CN202110909218 A CN 202110909218A CN 113641398 A CN113641398 A CN 113641398A
- Authority
- CN
- China
- Prior art keywords
- operating system
- openssh
- version
- ubuntu
- 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 41
- 230000009193 crawling Effects 0.000 claims description 20
- 238000013515 script Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004883 computer application Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种Ubuntu操作系统版本的识别方法,该方法包括以下步骤:对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机;获取目标Ubuntu主机的目标OpenSSH服务指纹;从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本。应用本发明所提供的Ubuntu操作系统版本的识别方法,较大地降低了网络因素的影响,降低了误报率,提高了操作系统的版本识别的准确性。本发明还公开了一种Ubuntu操作系统版本的识别装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种Ubuntu操作系统版本的识别方法、装置、设备及计算机可读存储介质。
背景技术
Ubuntu操作系统是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和GNOME桌面环境。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。不同版本的Ubuntu操作系统,其功能也存在区别,为了对Ubuntu操作系统进行更好了使用,需要对Ubuntu操作系统版本进行识别。
现有的Ubuntu操作系统版本识别方式为基于各个操作系统发行厂商各自实现的TCP/IP协议栈指纹差异来识别操作系统的型号,此方法容易受网络因素的影响,操作系统的误报率较高,操作系统的版本识别不准确。
综上所述,如何有效地解决现有的Ubuntu操作系统版本识别方式容易受网络因素的影响,操作系统的误报率较高,操作系统的版本识别不准确等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种Ubuntu操作系统版本的识别方法,该方法较大地降低了网络因素的影响,降低了误报率,提高了操作系统的版本识别的准确性;本发明的另一目的是提供一种Ubuntu操作系统版本的识别装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种Ubuntu操作系统版本的识别方法,包括:
对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机;
获取所述目标Ubuntu主机的目标OpenSSH服务指纹;
从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找所述目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本;其中,所述OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
在本发明的一种具体实施方式中,所述OpenSSH服务指纹与Ubuntu操作系统对应关系表的创建过程包括:
采用预编写的python脚本爬取各所述Ubuntu操作系统版本分别对应的各OpenSSH信息;
对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,得到每个Ubuntu操作系统版本对应的OpenSSH服务指纹;
根据各所述Ubuntu操作系统版本与各所述OpenSSH服务指纹之间的对应关系,创建所述OpenSSH服务指纹与Ubuntu操作系统对应关系表。
在本发明的一种具体实施方式中,采用预编写的python脚本爬取各所述Ubuntu操作系统版本分别对应的各OpenSSH信息,包括:
采用预编写的python脚本爬取各所述Ubuntu操作系统版本分别对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本;
对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,包括:
对每个Ubuntu操作系统版本对应的所述SSH协议版本、所述OpenSSH软件版本号、所述OpenSSH可移植版本、所述构建版本以及所述补丁版本进行拼接操作。
在本发明的一种具体实施方式中,获取所述目标Ubuntu主机的目标OpenSSH服务指纹,包括:
利用nmap工具对所述目标Ubuntu主机的开放端口服务进行扫描,得到所述目标OpenSSH服务指纹。
在本发明的一种具体实施方式中,获取所述目标Ubuntu主机的目标OpenSSH服务指纹,包括:
利用telnet工具对所述目标Ubuntu主机的开放端口服务进行扫描,得到所述目标OpenSSH服务指纹。
一种Ubuntu操作系统版本的识别装置,包括:
请求解析模块,用于对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机;
指纹获取模块,用于获取所述目标Ubuntu主机的目标OpenSSH服务指纹;
系统版本查找模块,用于从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找所述目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本;其中,所述OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
在本发明的一种具体实施方式中,包括关系表创建模块,所述关系表创建模块包括:
信息爬取子模块,用于采用预编写的python脚本爬取各所述Ubuntu操作系统版本分别对应的各OpenSSH信息;
指纹创建子模块,用于对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,得到每个Ubuntu操作系统版本对应的OpenSSH服务指纹;
关系表创建子模块,用于根据各所述Ubuntu操作系统版本与各所述OpenSSH服务指纹之间的对应关系,创建所述OpenSSH服务指纹与Ubuntu操作系统对应关系表。
在本发明的一种具体实施方式中,所述指纹获取模块具体为利用nmap工具对所述目标Ubuntu主机的开放端口服务进行扫描,得到所述目标OpenSSH服务指纹的模块。
一种Ubuntu操作系统版本的识别设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述Ubuntu操作系统版本的识别方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述Ubuntu操作系统版本的识别方法的步骤。
本发明所提供的Ubuntu操作系统版本的识别方法,对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机;获取目标Ubuntu主机的目标OpenSSH服务指纹;从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本;其中,OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
由上述技术方案可知,通过预先创建OpenSSH服务指纹与Ubuntu操作系统对应关系表,获取待识别的目标Ubuntu主机的目标OpenSSH服务指纹,根据目标OpenSSH服务指纹,直接从OpenSSH服务指纹与Ubuntu操作系统对应关系表中调取目标Ubuntu主机的目标Ubuntu操作系统版本。较大地降低了网络因素的影响,降低了误报率,提高了操作系统的版本识别的准确性。
相应的,本发明还提供了与上述Ubuntu操作系统版本的识别方法相对应的Ubuntu操作系统版本的识别装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中Ubuntu操作系统版本的识别方法的一种实施流程图;
图2为本发明实施例中Ubuntu操作系统版本的识别方法的另一种实施流程图;
图3为本发明实施例中一种OpenSSH服务指纹的拼接结构示意图;
图4为本发明实施例中一种Ubuntu操作系统版本的识别装置的结构框图;
图5为本发明实施例中一种Ubuntu操作系统版本的识别设备的结构框图;
图6为本实施例提供的一种Ubuntu操作系统版本的识别设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例中Ubuntu操作系统版本的识别方法的一种实施流程图,该方法可以包括以下步骤:
S101:对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机。
当需要对目标Ubuntu主机的操作系统版本进行识别时,请求端生成Ubuntu操作系统版本识别请求,Ubuntu操作系统版本识别请求中包含目标Ubuntu主机。请求端向Ubuntu操作系统版本识别中心发送Ubuntu操作系统版本识别请求,Ubuntu操作系统版本识别中心接收Ubuntu操作系统版本识别请求,并对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机。
S102:获取目标Ubuntu主机的目标OpenSSH服务指纹。
每个Ubuntu主机均具备其独有的OpenSSH服务指纹,在解析得到目标Ubuntu主机之后,获取目标Ubuntu主机的目标OpenSSH服务指纹。
OpenSSH是一种远程登录协议,OpenSSH服务指纹主要由OpenSSH软件版本号确定。
S103:从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本。
其中,OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
预先设置存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系的OpenSSH服务指纹与Ubuntu操作系统对应关系表。在获取到待识别的目标Ubuntu主机的目标OpenSSH服务指纹之后,从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本。本发明通过预先设置OpenSSH服务指纹与Ubuntu操作系统对应关系表,根据获取到的待识别目标Ubuntu主机的目标OpenSSH服务指纹直接调取目标Ubuntu主机的目标Ubuntu操作系统版本,较大地降低了网络因素的影响,降低了误报率,实现了对Ubuntu主机的操作系统版本号的精确识别。
由上述技术方案可知,通过预先创建OpenSSH服务指纹与Ubuntu操作系统对应关系表,获取待识别的目标Ubuntu主机的目标OpenSSH服务指纹,根据目标OpenSSH服务指纹,直接从OpenSSH服务指纹与Ubuntu操作系统对应关系表中调取目标Ubuntu主机的目标Ubuntu操作系统版本。较大地降低了网络因素的影响,降低了误报率,提高了操作系统的版本识别的准确性。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图2,图2为本发明实施例中Ubuntu操作系统版本的识别方法的另一种实施流程图,该方法可以包括以下步骤:
S201:采用预编写的python脚本爬取各Ubuntu操作系统版本分别对应的各OpenSSH信息。
预先编写用于爬取各Ubuntu操作系统版本分别对应的各OpenSSH信息的python脚本,采用预编写的python脚本爬取各Ubuntu操作系统版本分别对应的各OpenSSH信息。
在本发明的一种具体实施方式中,步骤S201可以包括以下步骤:
采用预编写的python脚本爬取各Ubuntu操作系统版本分别对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本。
各Ubuntu操作系统版本分别对应的各OpenSSH信息可以包括SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本等信息。预先编写用于爬取各Ubuntu操作系统版本分别对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本的python脚本,采用预编写的python脚本爬取各Ubuntu操作系统版本分别对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本。
以Ubuntu21.04版本为例,其对应的OpenSSH服务指纹可以包括如下:
1:8.3p1-1;
1:8.4p1-2;
1:8.4p1-3;
1:8.4p1-4;
1:8.4p1-4build1;
1:8.4p1-4build2;
1:8.4p1-4ubuntu1;
1:8.4p1-4ubuntu2;
其中8.x表示OpenSSH软件版本,p1为OpenSSH的可移植版本,-x表示构建版本,其余信息为补丁版本。
S202:对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,得到每个Ubuntu操作系统版本对应的OpenSSH服务指纹。
在爬取到各Ubuntu操作系统版本分别对应的各OpenSSH信息之后,对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,得到每个Ubuntu操作系统版本对应的OpenSSH服务指纹。通过将各OpenSSH信息进行拼接得到各Ubuntu操作系统版本分别对应的OpenSSH服务指纹,使得OpenSSH服务指纹得到了扩展。
在本发明的一种具体实施方式中,对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,可以包括以下步骤:
对每个Ubuntu操作系统版本对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本进行拼接操作。
当爬取得到的各Ubuntu操作系统版本分别对应的各OpenSSH信息包括SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本时,对每个Ubuntu操作系统版本对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本进行拼接操作。
参见图3,图3为本发明实施例中一种OpenSSH服务指纹的拼接结构示意图,该OpenSSH服务指纹各部分介绍如下
Proto Version表示SSH协议版本,Ubuntu操作系统都是采用SSH-2.0;
OpenSSH Version表示OpenSSH的软件版本;
Protable Version表示可移植版本;
Build Version是特定的Debian(即,一种通用操作系统)风格包装的构建版本,在Debian和Ubuntu操作系统中可能出现该版本信息;
Patch Version表示deb软件包的补丁版本,仅使用于Ubuntu操作系统。
承接步骤S201中的举例,根据OpenSSH服务指纹结构及爬取到的各个Ubuntu操作系统版本对应OpenSSH信息,即可拼接得到各个Ubuntu操作系统版本分别对应的OpenSSH服务指纹,例如:SSH-2.0-OpenSSH_8.3p1-1,该OpenSSH服务指纹就表示Ubuntu操作系统为21.04版本。
S203:根据各Ubuntu操作系统版本与各OpenSSH服务指纹之间的对应关系,创建OpenSSH服务指纹与Ubuntu操作系统对应关系表。
在得到每个Ubuntu操作系统版本对应的OpenSSH服务指纹之后,根据各Ubuntu操作系统版本与各OpenSSH服务指纹之间的对应关系,创建OpenSSH服务指纹与Ubuntu操作系统对应关系表。
S204:对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机。
S205:获取目标Ubuntu主机的目标OpenSSH服务指纹。
在本发明的一种具体实施方式中,步骤S205可以包括以下步骤:
利用nmap工具对目标Ubuntu主机的开放端口服务进行扫描,得到目标OpenSSH服务指纹。
预先部署用于对目标Ubuntu主机的开放端口服务进行扫描的nmap工具,利用nmap工具对目标Ubuntu主机的开放端口服务进行扫描,得到目标OpenSSH服务指纹。
nmap工具是一种扫描远程主机端口信息的开源软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。nmap工具灵活且简单易上手,其支持多种先进技术,端口扫描机制(TCP和UDP),版本检测,操作系统检测和ping扫描等多项技术。
在本发明的一种具体实施方式中,步骤S205可以包括以下步骤:
利用telnet工具对目标Ubuntu主机的开放端口服务进行扫描,得到目标OpenSSH服务指纹。
预先部署用于对目标Ubuntu主机的开放端口服务进行扫描的telnet工具,利用telnet工具对目标Ubuntu主机的开放端口服务进行扫描,得到目标OpenSSH服务指纹。
Telnet工具是Internet远程登录服务的主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。使用Telnet工具可以在本地就能控制服务器,其常用于远程控制Web服务器。
S206:从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本。
其中,OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
相应于上面的方法实施例,本发明还提供了一种Ubuntu操作系统版本的识别装置,下文描述的Ubuntu操作系统版本的识别装置与上文描述的Ubuntu操作系统版本的识别方法可相互对应参照。
参见图4,图4为本发明实施例中一种Ubuntu操作系统版本的识别装置的结构框图,该装置可以包括:
请求解析模块41,用于对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机;
指纹获取模块42,用于获取目标Ubuntu主机的目标OpenSSH服务指纹;
系统版本查找模块43,用于从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本;其中,OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
由上述技术方案可知,通过预先创建OpenSSH服务指纹与Ubuntu操作系统对应关系表,获取待识别的目标Ubuntu主机的目标OpenSSH服务指纹,根据目标OpenSSH服务指纹,直接从OpenSSH服务指纹与Ubuntu操作系统对应关系表中调取目标Ubuntu主机的目标Ubuntu操作系统版本。较大地降低了网络因素的影响,降低了误报率,提高了操作系统的版本识别的准确性。
在本发明的一种具体实施方式中,包括关系表创建模块,关系表创建模块包括:
信息爬取子模块,用于采用预编写的python脚本爬取各Ubuntu操作系统版本分别对应的各OpenSSH信息;
指纹创建子模块,用于对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,得到每个Ubuntu操作系统版本对应的OpenSSH服务指纹;
关系表创建子模块,用于根据各Ubuntu操作系统版本与各OpenSSH服务指纹之间的对应关系,创建OpenSSH服务指纹与Ubuntu操作系统对应关系表。
在本发明的一种具体实施方式中,信息爬取子模块具体为采用预编写的python脚本爬取各Ubuntu操作系统版本分别对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本的模块;
指纹创建子模块具体为对每个Ubuntu操作系统版本对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本进行拼接操作的模块。
在本发明的一种具体实施方式中,指纹获取模块42具体为利用nmap工具对目标Ubuntu主机的开放端口服务进行扫描,得到目标OpenSSH服务指纹的模块。
在本发明的一种具体实施方式中,指纹获取模块42具体为利用nmap工具对目标Ubuntu主机的开放端口服务进行扫描,得到目标OpenSSH服务指纹的模块。
相应于上面的方法实施例,参见图5,图5为本发明所提供的Ubuntu操作系统版本的识别设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的Ubuntu操作系统版本的识别方法的步骤。
具体的,请参考图6,图6为本实施例提供的一种Ubuntu操作系统版本的识别设备的具体结构示意图,该Ubuntu操作系统版本的识别设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在Ubuntu操作系统版本的识别设备301上执行存储器332中的一系列指令操作。
Ubuntu操作系统版本的识别设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的Ubuntu操作系统版本的识别方法中的步骤可以由Ubuntu操作系统版本的识别设备的结构实现。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机;获取目标Ubuntu主机的目标OpenSSH服务指纹;从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本;其中,OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种Ubuntu操作系统版本的识别方法,其特征在于,包括:
对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机;
获取所述目标Ubuntu主机的目标OpenSSH服务指纹;
从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找所述目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本;其中,所述OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
2.根据权利要求1所述的Ubuntu操作系统版本的识别方法,其特征在于,所述OpenSSH服务指纹与Ubuntu操作系统对应关系表的创建过程包括:
采用预编写的python脚本爬取各所述Ubuntu操作系统版本分别对应的各OpenSSH信息;
对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,得到每个Ubuntu操作系统版本对应的OpenSSH服务指纹;
根据各所述Ubuntu操作系统版本与各所述OpenSSH服务指纹之间的对应关系,创建所述OpenSSH服务指纹与Ubuntu操作系统对应关系表。
3.根据权利要求2所述的Ubuntu操作系统版本的识别方法,其特征在于,采用预编写的python脚本爬取各所述Ubuntu操作系统版本分别对应的各OpenSSH信息,包括:
采用预编写的python脚本爬取各所述Ubuntu操作系统版本分别对应的SSH协议版本、OpenSSH软件版本号、OpenSSH可移植版本、构建版本以及补丁版本;
对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,包括:
对每个Ubuntu操作系统版本对应的所述SSH协议版本、所述OpenSSH软件版本号、所述OpenSSH可移植版本、所述构建版本以及所述补丁版本进行拼接操作。
4.根据权利要求1至3任一项所述的Ubuntu操作系统版本的识别方法,其特征在于,获取所述目标Ubuntu主机的目标OpenSSH服务指纹,包括:
利用nmap工具对所述目标Ubuntu主机的开放端口服务进行扫描,得到所述目标OpenSSH服务指纹。
5.根据权利要求1至3任一项所述的Ubuntu操作系统版本的识别方法,其特征在于,获取所述目标Ubuntu主机的目标OpenSSH服务指纹,包括:
利用telnet工具对所述目标Ubuntu主机的开放端口服务进行扫描,得到所述目标OpenSSH服务指纹。
6.一种Ubuntu操作系统版本的识别装置,其特征在于,包括:
请求解析模块,用于对接收到的Ubuntu操作系统版本识别请求进行解析,得到待识别的目标Ubuntu主机;
指纹获取模块,用于获取所述目标Ubuntu主机的目标OpenSSH服务指纹;
系统版本查找模块,用于从预创建的OpenSSH服务指纹与Ubuntu操作系统对应关系表中查找所述目标OpenSSH服务指纹对应的目标Ubuntu操作系统版本;其中,所述OpenSSH服务指纹与Ubuntu操作系统对应关系表中存储有各OpenSSH服务指纹与各Ubuntu操作系统版本之间的对应关系。
7.根据权利要求6所述的Ubuntu操作系统版本的识别装置,其特征在于,包括关系表创建模块,所述关系表创建模块包括:
信息爬取子模块,用于采用预编写的python脚本爬取各所述Ubuntu操作系统版本分别对应的各OpenSSH信息;
指纹创建子模块,用于对每个Ubuntu操作系统版本对应的各OpenSSH信息进行拼接操作,得到每个Ubuntu操作系统版本对应的OpenSSH服务指纹;
关系表创建子模块,用于根据各所述Ubuntu操作系统版本与各所述OpenSSH服务指纹之间的对应关系,创建所述OpenSSH服务指纹与Ubuntu操作系统对应关系表。
8.根据权利要求6或7所述的Ubuntu操作系统版本的识别装置,其特征在于,所述指纹获取模块具体为利用nmap工具对所述目标Ubuntu主机的开放端口服务进行扫描,得到所述目标OpenSSH服务指纹的模块。
9.一种Ubuntu操作系统版本的识别设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述Ubuntu操作系统版本的识别方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述Ubuntu操作系统版本的识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909218.9A CN113641398A (zh) | 2021-08-09 | 2021-08-09 | 一种Ubuntu操作系统版本的识别方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909218.9A CN113641398A (zh) | 2021-08-09 | 2021-08-09 | 一种Ubuntu操作系统版本的识别方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113641398A true CN113641398A (zh) | 2021-11-12 |
Family
ID=78420336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110909218.9A Pending CN113641398A (zh) | 2021-08-09 | 2021-08-09 | 一种Ubuntu操作系统版本的识别方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641398A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915476A (zh) * | 2023-07-29 | 2023-10-20 | 上海螣龙科技有限公司 | 一种主机操作系统的指纹识别方法、系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372513A (zh) * | 2016-08-25 | 2017-02-01 | 北京知道未来信息技术有限公司 | 一种基于软件指纹库的软件识别方法和装置 |
CN109117172A (zh) * | 2017-06-23 | 2019-01-01 | 中国移动通信集团广东有限公司 | 一种目标终端的终端版本号识别的方法及装置 |
US20190238537A1 (en) * | 2018-01-31 | 2019-08-01 | Hewlett Packard Enterprise Development Lp | Determining a device property |
CN110532756A (zh) * | 2018-05-23 | 2019-12-03 | 中国移动通信集团浙江有限公司 | 一种系统指纹识别方法、装置、电子设备及存储介质 |
-
2021
- 2021-08-09 CN CN202110909218.9A patent/CN113641398A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372513A (zh) * | 2016-08-25 | 2017-02-01 | 北京知道未来信息技术有限公司 | 一种基于软件指纹库的软件识别方法和装置 |
CN109117172A (zh) * | 2017-06-23 | 2019-01-01 | 中国移动通信集团广东有限公司 | 一种目标终端的终端版本号识别的方法及装置 |
US20190238537A1 (en) * | 2018-01-31 | 2019-08-01 | Hewlett Packard Enterprise Development Lp | Determining a device property |
CN110532756A (zh) * | 2018-05-23 | 2019-12-03 | 中国移动通信集团浙江有限公司 | 一种系统指纹识别方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915476A (zh) * | 2023-07-29 | 2023-10-20 | 上海螣龙科技有限公司 | 一种主机操作系统的指纹识别方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5425699B2 (ja) | 情報処理装置、テストケース生成方法、プログラムおよび記録媒体 | |
US11509505B2 (en) | Method and apparatus for operating smart network interface card | |
CN110674427B (zh) | 响应网页访问请求的方法、装置、设备及存储介质 | |
CN104679651B (zh) | 一种自动化测试方法及执行节点 | |
CN108536597A (zh) | 一种终端测试方法、装置、终端设备及存储介质 | |
CN110472165B (zh) | Url提取方法、装置、设备及计算机可读存储介质 | |
US11550920B2 (en) | Determination apparatus, determination method, and determination program | |
CN113641398A (zh) | 一种Ubuntu操作系统版本的识别方法、装置及设备 | |
JP5834701B2 (ja) | コンピューティング環境における資源の発見のための方法、装置、およびプログラム | |
CN113656183B (zh) | 任务处理方法、装置、设备及存储介质 | |
CN107734019B (zh) | 勘探开发容器在线迁移的系统和方法 | |
CN114035789A (zh) | 日志解析模板的生成方法、日志解析方法、装置及设备 | |
CN109560964B (zh) | 一种设备合规检查方法及装置 | |
CN112800194A (zh) | 一种接口变更识别方法、装置、设备及存储介质 | |
JP2020502703A (ja) | ネットワーク・マッピングのためのフィンガープリントの決定 | |
CN104111862A (zh) | 云计算平台中获取虚拟机ip地址方法与系统 | |
CN109660392B (zh) | 一种Linux系统下硬件统一化自适应管理部署方法及系统 | |
CN116795486A (zh) | 一种容器镜像文件提纯的分析方法、装置、存储介质及终端 | |
CN109561121B (zh) | 监控部署的方法及装置 | |
CN113645191B (zh) | 可疑主机的确定方法、装置、设备和计算机可读存储介质 | |
CN110955498B (zh) | 一种进程处理方法、装置、设备及计算机可读存储介质 | |
CN111290870B (zh) | 一种检测异常的方法和装置 | |
CN114385656A (zh) | 脚本检测方法、装置、计算机设备及存储介质 | |
CN114510409A (zh) | 一种应用程序代码检测方法和计算机可读存储介质 | |
CN109547276B (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 |