CN111897698A - 一种端口服务识别方法、装置、设备及可读存储介质 - Google Patents
一种端口服务识别方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111897698A CN111897698A CN202010826160.7A CN202010826160A CN111897698A CN 111897698 A CN111897698 A CN 111897698A CN 202010826160 A CN202010826160 A CN 202010826160A CN 111897698 A CN111897698 A CN 111897698A
- Authority
- CN
- China
- Prior art keywords
- port
- target
- service
- service identification
- detection
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种端口服务识别方法、装置、设备及计算机可读存储介质,该方法包括:对目标设备进行端口探测,确定目标端口;对目标端口进行端口服务识别,并判断目标端口是否部署有TCP包装器服务;若是,则根据目标端口的服务识别情况更新目标数量;若否,则将目标数量清零;当目标数量大于预设阈值时,停止端口服务识别;该方法通过更新目标数量并将其与预设阈值进行比对,可以避免因探测时长达到固定时长后必须停止探测的情况,改善了端口服务探测的探测效果。
Description
技术领域
本申请涉及网络资产识别技术领域,特别涉及一种端口服务识别方法、端口服务识别装置、端口服务识别设备及计算机可读存储介质。
背景技术
TCP包装器服务(TCP wrapper服务)是一种基于TCP的服务,由软件TCP wrapper提供,用于限制未授权的连接。该服务的特点是在TCP三次握手建立TCP连接后,部署有该服务的端口对任意的TCP流量都不进行回应,直到超时后对该TCP连接断开。
在对网络资产(例如服务器)进行探测时,需要对其进行端口服务探测。由于TCP包装器服务的探测所需时间较长(例如为4秒),为了避免探测的耗时较长,相关技术会限制整体探测时长,即对每个网络资产进行最大探测时长为整体探测时长的端口服务探测。若探测时长达到整体探测时长,则无论是否探测完毕,均停止探测。然而,实际存在部分端口部署TCP包装器服务、另外一部分开放端口未部署TCP包装器服务的网络资产,在对这一类网络资产进行端口探测时,相关技术可能没有探测完所有的端口就因达到整体探测时长而停止对其进行探测,导致全部或部分开放端口没有被探测到的情况,因此相关技术的探测效果较差。
因此,如何解决相关技术探测效果较差的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种端口服务识别方法、端口服务识别装置、端口服务识别设备及计算机可读存储介质,解决了相关技术探测效果较差的问题。
为解决上述技术问题,本申请提供了一种端口服务识别方法,包括:
对目标设备进行端口探测,确定目标端口;
对所述目标端口进行端口服务识别,并判断所述目标端口是否部署有TCP包装器服务;
若是,则对目标数量进行累加更新;
若否,则将所述目标数量清零;
当所述目标数量大于预设阈值时,停止所述端口服务识别。
可选地,所述对所述目标端口进行端口服务识别,并判断所述目标端口是否部署有TCP包装器服务,包括:
向所述目标端口发送服务探测数据;
判断是否接收到所述目标端口发送的应答数据;
若未接收到所述应答数据,则判断与所述目标端口之间的连接在建立时长达到预设时长后是否断开;
若断开,则确定所述目标端口部署有所述TCP包装器服务。
可选地,若接收到所述应答数据,则确定所述目标端口未部署所述TCP包装器服务;
利用所述应答数据确定所述目标端口提供的端口服务。
可选地,所述利用所述应答数据确定所述目标端口提供的端口服务,包括:
利用所述应答数据与预设正则式进行匹配;
判断是否存在与所述应答数据匹配成功的目标正则式;
若存在所述目标正则式,则根据所述目标正则式确定所述目标端口对应的所述端口服务。
可选地,若不存在所述目标正则式,包括:
按照预设顺序分别发送目标探测数据,并获取所述目标探测数据对应的目标应答数据;
判断所述目标应答数据与所述目标探测数据对应的目标预设正则式是否匹配成功;
若匹配成功,则根据所述目标预设正则式确定所述端口服务;
若匹配未成功,则判断是否存在未发送的所述目标探测数据;
若不存在,则将所述端口服务确定为未知服务。
可选地,所述对目标设备进行端口探测,确定目标端口,包括:
对所述目标设备进行端口探测,确定所述目标设备的多个开放端口;
在多个所述开放端口中选择最大并发数量个第一开放端口作为所述目标端口。
可选地,还包括:
若任意一个所述目标端口的端口服务服务识别完毕,则从所述开放端口中选择第二开放端口对端口服务识别完毕的所述目标端口进行替换。
本申请还提供了一种端口服务识别装置,包括:
探测模块,用于对目标设备进行端口探测,确定目标端口;
判断模块,用于对所述目标端口进行端口服务识别,并判断所述目标端口是否部署有TCP包装器服务;
第一更新模块,用于若所述目标端口部署有TCP包装器服务,则对目标数量进行累加更新;
第二更新模块,用于若所述目标端口未部署有TCP包装器服务,则将所述目标数量清零;
停止模块,用于当所述目标数量大于预设阈值时,停止所述端口服务识别。
本申请还提供了一种端口服务识别设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的端口服务识别方法。
本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的端口服务识别方法。
本申请提供的端口服务识别方法,对目标设备进行端口探测,确定目标端口;对目标端口进行端口服务识别,并判断目标端口是否部署有TCP包装器服务;若是,则根据目标端口的服务识别情况更新目标数量;若否,则将目标数量清零;当目标数量大于预设阈值时,停止端口服务识别。
可见,该方法设置有目标数量这一概念,目标数量用于表示连续探测到部署有TCP包装器服务的目标端口的数量。在对目标设备进行端口探测后,确定接受端口服务探测的目标端口并对其进行端口服务探测。在确定目标端口部署有TCP包装器服务后,根据识别情况更新目标数量,即更新连续探测到部署有TCP包装器服务的目标端口的数量,当目标数量大于预设阈值时,认为目标设备上未探测的端口中不存在未部署TCP包装器服务的端口,因此停止端口服务识别。若检测到存在目标端口未部署TCP包装器服务,说明在未探测的端口中可能存在未部署TCP包装器服务的端口,因此将目标数量清零,以便继续进行端口服务探测。通过更新目标数量并将其与预设阈值进行比对,可以避免因探测时长达到固定时长后必须停止探测的情况,改善了端口服务探测的探测效果,解决了相关技术探测效果较差的问题。
此外,本申请还提供了一种端口服务识别装置、端口服务识别设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种端口服务识别方法流程图;
图2为本申请实施例提供的一种具体的端口服务识别方法流程图;
图3为本申请实施例提供的一种端口服务识别装置的结构示意图;
图4为本申请实施例提供的一种端口服务识别设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例提供的一种端口服务识别方法流程图。该方法包括:
S101:对目标设备进行端口探测,确定目标端口。
目标设备具体为接受探测的网络资产,例如可以为任意型号的服务器、计算机等。在对目标设备上各个端口进行端口服务识别前,需要确定目标设备具有多少可用的端口,即开放端口。本实施例并不限定确定目标设备具有多少开放端口的具体确定方式,可以参考相关技术,在此不再赘述。在对目标设备进行端口探测后,可以确定目标端口,目标端口即为接受端口服务识别(或被称为端口服务探测、服务探测)的端口,其数量可以为一个或多个。在一种实施方式中,目标端口的数量可以为一个,即每次仅对单个端口的端口服务进行识别。在另一种实施方式中,为了提高探测效率,减少端口服务识别所需的时间,目标端口的数量可以为多个,即在一次端口服务识别的过程中同时对多个目标端口进行端口服务识别。更进一步的,由于对各个目标端口进行端口服务识别所需的时长不一定相同,因此为了进一步提高效率,各个目标端口的端口服务识别可以采用并发方式,即端口服务识别的过程相互独立,互不影响。在任意一个目标端口的端口服务识别结束后,不需要等待其他目标端口的端口服务识别结束。在这种实施方式中,若不需要停止进行端口服务识别,且存在未被识别的开放端口,则可以从未被识别的开放端口中指定一个作为为目标端口并对其进行端口服务识别。
具体的,S101步骤可以包括:
步骤11:对目标设备进行端口探测,确定目标设备的多个开放端口。
步骤12:在多个开放端口中选择最大并发数量个第一开放端口作为目标端口。
端口探测的具体方式可以参考相关技术,在此不做赘述。在对目标设备进行端口探测后,即可确定目标设备开放端口的数量。根据实际需要,端口探测还可以得到开放端口的其他信息,例如端口号等。在本实施例中,为了提高目标设备的端口服务识别效率,在对目标设备进行端口探测得到多个开放端口后,从中选择多个第一开放端口作为目标端口。需要说明的是,第一开放端口为第一次在目标设备中确定目标端口时,被指定为目标端口的开放端口。第一开放端口具体可以为任意的开放端口。同时,为了避免端口服务识别造成较大的计算资源消耗,还可以设置最大并发数量,最大并发数量即为同时进行端口服务识别的目标端口的最大数量。即,在任意时刻,仅能同时对目标设备中的最大并发数量个开放端口进行端口服务识别。因此在第一次选择目标端口时,可以从中选择最大并发数量个开放端口作为目标端口。
进一步,在采用并发的方式进行端口服务识别时,还可以包括:
步骤21:若任意一个目标端口的端口服务服务识别完毕,则从开放端口中选择第二开放端口对端口服务识别完毕的目标端口进行替换。
需要说明的是,在步骤21之前,需要确定不需要停止端口服务识别。若任意一个目标端口的端口服务识别过程完毕,即可以确定对该目标端口的服务探测完毕。在任意一个目标端口服务探测完毕后,可以从开放端口中选择第二开放端口对服务探测完毕的目标端口进行替换,第二开放端口为目标设备中任意一个没有进行过端口服务识别的开放端口。由于采用并发的方式进行端口服务识别,因此任意一个目标端口被服务探测完毕,利用第二开放端口对其进行替换的过程不会影响其他目标端口的端口服务识别过程。同时,通过对服务探测完毕的目标端口进行替换,对新的目标端口(即第二开放端口)进行探测,可以进一步提高对目标设备的端口服务识别效率。
S102:对目标端口进行端口服务识别,并判断目标端口是否部署有TCP包装器服务。
TCP包装器服务可以被称为TCP wrapper服务或TCP wrapped服务。在对目标端口进行端口服务识别时,可以判断目标端口是否部署有TCP包装器服务。本实施例并不限定TCP包装器服务的具体识别方式,例如可以利用TCP包装器服务的特性对其进行识别。具体的,部署有TCP包装器服务的目标端口在与未授权的端口建立连接后,不会对未授权的端口发送的任何数据流量进行回应,且在达到预设时长后断开与未授权端口之间的连接。所以可以采用判断与目标端口之间的连接是否在预设时长后断开的方式对TCP包装器服务进行识别。在确定目标端口部署有TCP包装器服务后,可以进入S103步骤,在确定目标端口未部署有TCP包装器服务后,可以进入S104步骤。
具体的,在一中实施方式中,S102步骤可以包括:
步骤31:向目标端口发送服务探测数据。
服务探测数据用于对目标端口的端口服务进行识别,其具体可以为TCP流量。服务探测数据的具体内容不做限定,其内容可以为请求流量,即用于请求端口服务的流量。服务探测数据可以包括一种端口服务对应的请求流量,或者可以包括多种端口服务分别对应的请求流量,即将多种端口服务的请求流量进行组合,得到服务探测数据,以便在一次发数据和收数据的过程中进行多种端口服务的探测。
步骤32:判断是否接收到目标端口发送的应答数据。
目标端口在接收到服务探测数据后,若可以进行应答,则会发送应答数据。在一种实施方式中,服务探测数据中刚好有与目标端口的端口服务对应的请求流量,此时,目标端口可以发送对应的应答数据。在另一种可能的实施方式中,服务探测数据中没有与目标端口的端口服务对应的请求流量,此时,目标端口虽然没有接收到请求本端口服务的请求流量,但是检测到自身正在被探测,此时同样可以发送目标端口上部署的端口服务对应的应答数据,以便探测设备根据应答数据确定目标端口被部署了什么端口服务。在另一种可能的实施方式中,服务探测数据中没有与目标端口的端口服务对应的请求流量,目标端口检测到自身正在被探测,此时可以发送固定的应答数据,该应答数据并不是目标端口上部署的端口服务对应的应答数据,仅用于对探测进行简单的回应。
步骤33:若未接收到应答数据,则判断与目标端口之间的连接在建立时长达到预设时长后是否断开。
建立时长是与目标端口之间的连接建立后存在的时长。若未接收到应答数据,可能为目标端口所处的目标设备的计算能力较差,对于服务探测数据的处理和响应需要较长时间;或者目标设备与端口服务识别设备之间的网络带宽较小,需要较长时间发送或接收数据;或者目标端口被部署了TCP包装器服务,不会对服务探测数据进行应答。此时,为了进一步判断目标端口是否被部署了TCP包装器服务,可以判断与目标端口之间的连接在建立时长达到预设时长后,与目标端口之间的连接是否断开,即根据TCP包装器服务本身的特性对其进行识别。本实施例并不限定预设时长的具体大小,其可以根据TCP包装器服务本身决定,例如可以为4秒。
步骤34:若断开,则确定目标端口部署有TCP包装器服务。
若与目标端口之间的连接在达到预设时长后断开,即可以确定目标端口部署有TCP包装器服务。需要说明的是,本实施例并不限定步骤32和步骤33的执行顺序。例如可以先执行步骤32,再执行步骤33,即先判断是否接收到应答数据,在未接收到应答数据时判断是否断开连接;或者可以同时执行步骤32和步骤33,即同时判断是否接收到应答数据,或断开连接,在接收到应答数据后停止判断是否断开连接。需要说明的是,为了提高端口服务识别效率,一般不会先执行步骤33,因为步骤33的判断时长为预设时长,在未达到预设时长时,目标端口可能已经发送了应答数据,因此会导致效率降低。
进一步,若接收到了目标端口发送的应答数据,则可以确定目标端口未部署TCP包装器服务。此时,可以利用应答数据确定目标端口提供的端口服务,以便对目标端口进行更深层级的探测。在一种可能的实施方式中,利用应答数据确定目标端口提供的端口服务的步骤,可以包括:
步骤41:利用应答数据与预设正则式进行匹配。
预设正则式即为正则表达式(Regular Expression),又可以称为规则表达式,其数量为多个,不同的预设正则式与不同的请求数据一一对应,而不用的请求数据与不同的端口服务之间具有一一对应关系。预设正则式用于与应答数据进行匹配,进而对目标端口上部署的端口服务进行识别。在得到应答数据后,将其与各个预设正则式一一进行匹配,匹配的具体方式本实施例不做限定,可以参考相关技术。
步骤42:判断是否存在与应答数据匹配成功的目标正则式。
步骤43:若存在目标正则式,则根据目标正则式确定目标端口对应的端口服务。
若存在与应答数据匹配成功的目标正则式,则说明应答数据用于对目标正则式对应的请求数据相对应,该目标端口上部署的端口服务即为目标正则式对应的端口服务,因此可以根据目标正则式确定目标端口对应的端口服务。
进一步,若不存在目标正则式,即没有任何一个预设正则式与应答数据相匹配,说明无法确定目标端口的端口服务。此时,还可以对端口服务进行进一步确定。若不存在目标正则式,还可以包括:
步骤51:按照预设顺序分别发送目标探测数据,并获取目标探测数据对应的目标应答数据。
步骤52:判断目标应答数据与目标探测数据对应的目标预设正则式是否匹配成功。
步骤53:若匹配成功,则根据目标预设正则式确定端口服务。
步骤54:若匹配未成功,则判断是否存在未发送的目标探测数据。
步骤55:若不存在,则将端口服务确定为未知服务。
目标探测数据即为各种端口服务对应的请求数据,为了对目标端口的端口服务进行确定,可以按照预设顺序依次将各个目标探测数据发送给目标端口,并接收目标端口发送的,与目标探测数据相对应的目标应答数据。需要说明的是,预设顺序的具体内容不做限定,例如可以为适用率从高到低的顺序。适用率与端口服务相对应,具体为目标端口部署有对应类别的端口服务的概率。在接收到目标应答数据后,可以判断其与目标探测数据对应的目标预设正则式是否匹配成功。若匹配成功,则说明目标预设正则式对应的端口服务即为目标端口部署的端口服务,因此根据目标预设正则式确定目标端口的端口服务。若匹配未成功,则判断是否存在未发送的目标探测数据,若存在,则按照预设顺序继续发送目标探测数据;若不存在,则将目标端口的端口服务确定为未知服务,完成对目标端口的端口服务识别过程。
S103:对目标数量进行累加更新。
目标数量为连续探测到部署有TCP包装器服务的目标端口的数量。在确定目标端口上部署有TCP包装器服务后,可以对目标数量进行累加更新。具体的,若目标端口为多个时,在识别到任意一个目标端口部署有TCP包装器服务时,都需要对目标数量进行累加更新,以便记录连续探测到部署有TCP包装器服务的目标端口的数量。累加更新可以为线性累加,即在检测到目标端口上部署有TCP包装器服务时,对目标数量增加固定的值,例如每次加一。在另一种可能的实施方式中,累加更新可以为非线性累加,本实施例对此不做限定。
S104:将目标数量清零。
在确定目标端口上未部署有TCP包装器服务后,说明目标设备上可能还存在未部署有TCP包装器服务的其他服务的开放端口,因此目标设备仍有探测价值。因此可以将目标数量清零,以便重新累计连续探测到部署有TCP包装器服务的目标端口的数量。
S105:当目标数量大于预设阈值时,停止端口服务识别。
在目标数量大于预设阈值时,说明连续监测到部署有TCP包装器服务的端口数量较多,目标设备可能没有部署有其他服务的开放端口,因此目标设备不再具有探测价值,可以停止端口服务识别。本实施例并不限定预设阈值的具体大小,例如可以为50。需要说明的是,本实施例并不限定检测目标数量是否大于预设阈值的时机,例如可以实时检测,或者可以按照预设周期检测。优选的,可以在每一次目标数量发生变化时执行S105步骤,即在S103步骤执行完毕或S104步骤执行完毕后,将目标数量与预设阈值进行比较;或者可以仅在S103步骤执行完毕后,将目标数量与预设阈值进行比较。在另一种实施方式中,目标数量可以不大于预设阈值,本实施例并不限定在这种情况下执行的操作,例如可以等待其他目标端口的端口服务识别过程结束,或者在采用并发的方式时,可以选择其他未被探测过的开放端口对被探测结束的目标端口进行替换,或者可以执行预设操作,本实施例对此不做限定。
应用本申请实施例提供的端口服务识别方法,设置有目标数量这一概念,目标数量用于表示连续探测到部署有TCP包装器服务的目标端口的数量。在对目标设备进行端口探测后,确定接受端口服务探测的目标端口并对其进行端口服务探测。在确定目标端口部署有TCP包装器服务后,根据识别情况更新目标数量,即更新连续探测到部署有TCP包装器服务的目标端口的数量,当目标数量大于预设阈值时,认为目标设备上未探测的端口中不存在未部署TCP包装器服务的端口,因此停止端口服务识别。若检测到存在目标端口未部署TCP包装器服务,说明在未探测的端口中可能存在未部署TCP包装器服务的端口,因此将目标数量清零,以便继续进行端口服务探测。通过更新目标数量并将其与预设阈值进行比对,可以避免因探测时长达到固定时长后必须停止探测的情况,改善了端口服务探测的探测效果,解决了相关技术探测效果较差的问题。
基于上述实施例,本实施例将对上述实施例中的若干步骤进行具体的阐述。请参考图2,图2为本申请实施例提供的一种具体的端口服务识别方法流程图。
1、在扫描到目标设备具有多个开放的TCP端口(即开放端口)后,根据扫描任务的设定需要,从扫描到的开放端口结果中选取N个目标端口使用服务探测方法进行并发服务探测,每个目标端口的探测流程彼此互不影响。
2、根据服务探测方法,分别与各个目标端口建立一个TCP连接,使用不同的数据包进行组装得到请求包(即服务探测数据)并发送,并尝试收取结果(即响应数据)。即进行正常的服务探测流程。
3、设立一个与目标设备相关(例如与目标设备的IP地址相关)的TCPwrapped计数器R,根据第2步得到的结果进行如下判断:
3.1、如果探测到名称为TCPwrapped的服务,则自增计数器R。即将TCPwrapped计数+1。
3.1.1、如果计数器R数值达到阈值50,则中止服务的识别,否则继续第4步。
3.2、否则将计数器R清0,即将TCPwrapped计数清0,继续执行第4步。
4、判断是否所有端口服务已识别完成,如果是则完成扫描,否则再跳转到第1步执行。
具体的,第2步,可以包括:
2.1、与目标TCP端口建立TCP连接,并在5秒的时间内尝试接收目标服务主动发送的数据,如果5秒内服务器直接断开连接,则判定为TCPwrapped服务。
2.2、维护一套指纹数据库,存储的信息为多组正则式与服务名称。具体的,按照发送信息(即对应的用于被发送的数据包)进行分组。除此之外,还可以包括每组信息所适用的端口号及适用概率;指纹数据库的格式包含但不限于文本和数据库。指纹数据库用于指定发送数据的内容,并将接收到的响应数据与正则式进行匹配,若匹配成功则能判定为对应服务。
2.3、若步骤2.1中目标服务主动发送了数据,则使用步骤2.2所述的指纹数据库进行匹配,若匹配成功则能获取到结果服务,探测完成。
2.4、若步骤2.1中目标服务未主动发送数据,或者接收到的数据未能匹配任何正则式,则按照适用概率以从大到小的顺序进行发送数据包和接收数据包的工作,若收到的数据包能匹配对应的正则式,则能判断最终服务类型;若所述指纹数据库中所有信息都执行了上述步骤后仍未匹配到服务,则表示目标服务未知。
下面对本申请实施例提供的端口服务识别装置进行介绍,下文描述的端口服务识别装置与上文描述的端口服务识别方法可相互对应参照。
请参考图3,图3为本申请实施例提供的一种端口服务识别装置的结构示意图,包括:
探测模块110,用于对目标设备进行端口探测,确定目标端口;
判断模块120,用于对目标端口进行端口服务识别,并判断目标端口是否部署有TCP包装器服务;
第一更新模块130,用于若目标端口部署有TCP包装器服务,则对目标数量进行累加更新;
第二更新模块140,用于若目标端口未部署有TCP包装器服务,则将目标数量清零;
停止模块150,用于当目标数量大于预设阈值时,停止端口服务识别。
可选地,判断模块120,包括:
数据发送单元,用于向目标端口发送服务探测数据;
接收判断单元,用于判断是否接收到目标端口发送的应答数据;
断开判断单元,用于若未接收到应答数据,则判断与目标端口之间的连接在建立时长达到预设时长后是否断开;
第一服务确定单元,用于若断开,则确定目标端口部署有TCP包装器服务。
可选地,判断模块120,包括:
第二服务确定单元,用于若接收到应答数据,则确定目标端口未部署TCP包装器服务;
端口服务确定单元,用于利用应答数据确定目标端口提供的端口服务。
可选地,端口服务确定单元,包括:
匹配子单元,用于利用应答数据与预设正则式进行匹配;
第一判断子单元,用于判断是否存在与应答数据匹配成功的目标正则式;
第一确定子单元,用于若存在目标正则式,则根据目标正则式确定目标端口对应的端口服务。
可选地,端口服务确定单元,包括:
发送子单元,用于按照预设顺序分别发送目标探测数据,并获取目标探测数据对应的目标应答数据;
第二判断子单元,用于判断目标应答数据与目标探测数据对应的目标预设正则式是否匹配成功;
第二确定子单元,用于若匹配成功,则根据目标预设正则式确定端口服务;
第三判读子单元,用于若匹配未成功,则判断是否存在未发送的目标探测数据;
第三确定子单元,用于若不存在,则将端口服务确定为未知服务。
可选地,探测模块110,包括:
开放端口确定单元,用于对目标设备进行端口探测,确定目标设备的多个开放端口;
目标端口选择模块,用于在多个开放端口中选择最大并发数量个第一开放端口作为目标端口。
可选地,还包括:
替换模块,用于若任意一个目标端口的端口服务服务识别完毕,则从开放端口中选择第二开放端口对端口服务识别完毕的目标端口进行替换。
下面对本申请实施例提供的端口服务识别设备进行介绍,下文描述的端口服务识别设备与上文描述的端口服务识别方法可相互对应参照。
请参考图4,图4为本申请实施例提供的一种端口服务识别设备的结构示意图。其中端口服务识别设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。
其中,处理器101用于控制端口服务识别设备100的整体操作,以完成上述的端口服务识别方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在端口服务识别设备100的操作,这些数据例如可以包括用于在该端口服务识别设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static RandomAccess Memory,SRAM)、电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于端口服务识别设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
端口服务识别设备100可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、数字信号处理器(Digital SignalProcessor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的端口服务识别方法。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的端口服务识别方法可相互对应参照。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的端口服务识别方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种端口服务识别方法,其特征在于,包括:
对目标设备进行端口探测,确定目标端口;
对所述目标端口进行端口服务识别,并判断所述目标端口是否部署有TCP包装器服务;
若是,则对目标数量进行累加更新;
若否,则将所述目标数量清零;
当所述目标数量大于预设阈值时,停止所述端口服务识别。
2.根据权利要求1所述的端口服务识别方法,其特征在于,所述对所述目标端口进行端口服务识别,并判断所述目标端口是否部署有TCP包装器服务,包括:
向所述目标端口发送服务探测数据;
判断是否接收到所述目标端口发送的应答数据;
若未接收到所述应答数据,则判断与所述目标端口之间的连接在建立时长达到预设时长后是否断开;
若断开,则确定所述目标端口部署有所述TCP包装器服务。
3.根据权利要求2所述的端口服务识别方法,其特征在于,若接收到所述应答数据,则确定所述目标端口未部署所述TCP包装器服务;
利用所述应答数据确定所述目标端口提供的端口服务。
4.根据权利要求3所述的端口服务识别方法,其特征在于,所述利用所述应答数据确定所述目标端口提供的端口服务,包括:
利用所述应答数据与预设正则式进行匹配;
判断是否存在与所述应答数据匹配成功的目标正则式;
若存在所述目标正则式,则根据所述目标正则式确定所述目标端口对应的所述端口服务。
5.根据权利要求4所述的端口服务识别方法,其特征在于,若不存在所述目标正则式,包括:
按照预设顺序分别发送目标探测数据,并获取所述目标探测数据对应的目标应答数据;
判断所述目标应答数据与所述目标探测数据对应的目标预设正则式是否匹配成功;
若匹配成功,则根据所述目标预设正则式确定所述端口服务;
若匹配未成功,则判断是否存在未发送的所述目标探测数据;
若不存在,则将所述端口服务确定为未知服务。
6.根据权利要求1至5任一项所述的端口服务识别方法,其特征在于,所述对目标设备进行端口探测,确定目标端口,包括:
对所述目标设备进行端口探测,确定所述目标设备的多个开放端口;
在多个所述开放端口中选择最大并发数量个第一开放端口作为所述目标端口。
7.根据权利要求6所述的端口服务识别方法,其特征在于,还包括:
若任意一个所述目标端口的端口服务服务识别完毕,则从所述开放端口中选择第二开放端口对端口服务识别完毕的所述目标端口进行替换。
8.一种端口服务识别装置,其特征在于,包括:
探测模块,用于对目标设备进行端口探测,确定目标端口;
判断模块,用于对所述目标端口进行端口服务识别,并判断所述目标端口是否部署有TCP包装器服务;
第一更新模块,用于若所述目标端口部署有TCP包装器服务,则对目标数量进行累加更新;
第二更新模块,用于若所述目标端口未部署有TCP包装器服务,则将所述目标数量清零;
停止模块,用于当所述目标数量大于预设阈值时,停止所述端口服务识别。
9.一种端口服务识别设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的端口服务识别方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的端口服务识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010826160.7A CN111897698A (zh) | 2020-08-17 | 2020-08-17 | 一种端口服务识别方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010826160.7A CN111897698A (zh) | 2020-08-17 | 2020-08-17 | 一种端口服务识别方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111897698A true CN111897698A (zh) | 2020-11-06 |
Family
ID=73230376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010826160.7A Pending CN111897698A (zh) | 2020-08-17 | 2020-08-17 | 一种端口服务识别方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897698A (zh) |
-
2020
- 2020-08-17 CN CN202010826160.7A patent/CN111897698A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
CN110798380B (zh) | 一种数据获取方法、系统、装置、测试设备及测试服务器 | |
CN102075508B (zh) | 针对网络协议的漏洞挖掘系统和方法 | |
CN111045921A (zh) | 自动化接口测试方法、装置、计算机设备及存储介质 | |
CN112615753A (zh) | 一种链路异常追踪方法、第一节点、第二节点以及链路 | |
CN111338608A (zh) | 分布式应用开发方法、装置、节点设备及可读存储介质 | |
CN107621963B (zh) | 一种软件部署方法、软件部署系统及电子设备 | |
CN112291365A (zh) | 访问均衡处理方法、装置、计算机设备及存储介质 | |
CN110602234B (zh) | 区块链网络节点管理方法、装置、设备以及存储介质 | |
CN114401187A (zh) | 灰度发布方法、装置、计算机设备和存储介质 | |
CN110569987A (zh) | 自动化运维方法、运维设备、存储介质及装置 | |
CN112115103B (zh) | 文件地址显示方法、装置、电子设备及可读存储介质 | |
CN109976828B (zh) | 一种配置文件的方法及装置 | |
CN109951549B (zh) | 网络页面的访问方法、装置及计算机可读存储介质 | |
CN111897698A (zh) | 一种端口服务识别方法、装置、设备及可读存储介质 | |
CN111404897A (zh) | 消息分发方法、装置、存储介质及电子设备 | |
CN103326892B (zh) | Web接口的操作方法及装置 | |
CN111884932B (zh) | 一种链路确定方法、装置、设备和计算机可读存储介质 | |
CN114185804A (zh) | 一种接口测试方法、装置及终端设备 | |
CN111143644B (zh) | 物联网设备的识别方法及装置 | |
CN107807885B (zh) | 任务信息显示方法及装置 | |
CN111866144A (zh) | 一种服务请求响应方法、装置、fpga设备及存储介质 | |
CN110611678A (zh) | 一种识别报文的方法及接入网设备 | |
CN113626295A (zh) | 压测数据的处理方法、系统及计算机可读存储介质 | |
CN114222002B (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 |