CN108418727B - 一种探测网络设备的方法及*** - Google Patents

一种探测网络设备的方法及*** Download PDF

Info

Publication number
CN108418727B
CN108418727B CN201810077929.2A CN201810077929A CN108418727B CN 108418727 B CN108418727 B CN 108418727B CN 201810077929 A CN201810077929 A CN 201810077929A CN 108418727 B CN108418727 B CN 108418727B
Authority
CN
China
Prior art keywords
port
network
ports
identification
decision tree
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.)
Active
Application number
CN201810077929.2A
Other languages
English (en)
Other versions
CN108418727A (zh
Inventor
朱红松
刘松
李志�
于楠
孙利民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201810077929.2A priority Critical patent/CN108418727B/zh
Publication of CN108418727A publication Critical patent/CN108418727A/zh
Application granted granted Critical
Publication of CN108418727B publication Critical patent/CN108418727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种探测网络设备的方法及***,其中,所述方法包括:根据网络端口的决策树节点的顺序,获得探测网络设备时端口的探测顺序;根据所述端口的探测顺序,依次对所述网络设备进行探测,直至探测识别到所述网络设备;其中,所述网络端口的决策树从根节点到每个子节点,分别对应探测网络设备时,使用率由高到低的端口。本发明提供的方法,在进行网络设备探测时,对给定的网络端口进行优先级排序,使得每次进行设备更新时,针对一个互联网设备,无需对所有的端口进行探测,仅需要根据决策树给出的端口顺序进行探测,可以以更快的速度和更少的资源更新设备信息。

Description

一种探测网络设备的方法及***
技术领域
本发明涉及通信技术领域,更具体地,涉及一种探测网络设备的方法及***。
背景技术
随着网络设备的普及,越来越多的终端设备接入网络为人们提供服务。例如,在物联网***中,各种智能手机、电脑以及接入到网络空间的各种物联网设备。这些设备在带来方便的同时,也带来了相应的安全隐患。为了能够更好地掌握网络空间资产分布状态及威胁风险态势,对网络空间设备进行快速探测和识别成为了一种必要手段。
由于网络空间地址的动态特性,需要定期更新每个网络设备的信息。而目前普遍使用的更新方法是重新探测设备给定端口集合中的每个端口。
现有技术中,每次进行设备信息更新的时候,需要对每一个端口都进行探测,而大部分网络终端设备同时可以支持对多个不同类型的端进行连接和传输,现有技术中,每次进行设备更新时,由于每个设备都要对所有的端口进行探测,导致对资源和带宽的消耗都是非常巨大的。
发明内容
为解决现有技术中,对网络设备进行更新时,每个设备都要对所有的端口进行探测,导致对资源和带宽的消耗都非常巨大的问题,提供一种探测网络设备的方法及***。
根据本发明的一个方面,提供一种探测网络设备的方法,包括:
S1,根据网络端口的决策树节点的顺序,获得探测网络设备时端口的探测顺序;
S2,根据所述端口的探测顺序,依次对所述网络设备进行探测,直至探测识别到所述网络设备;
其中,所述网络端口的决策树从根节点到每个子节点,分别对应探测网络设备时,使用率由高到低的端口。
其中,所述步骤S1之前还包括:
根据多个网络设备在所有给定的端口中,每一个端口进行识别的历史数据,构建网络端口的决策树。
其中,所述构建网络端口的决策树具体包括:
接收所述网络设备在每一个端口的端口标语,并对每一个端口的所述端口标语进行识别,获得每个端口的识别结果;根据所述每个端口的所述识别结果,构建所述网络设备的端口识别状态向量;根据多个不同的网络设备进行端口识别的端口识别状态向量,构建网络端口的决策树选择模型;其中,所述识别结果包括可识别、不可识别和未知;其中,所述识别结果中可识别包含:识别到设备类型、设备品牌、设备型号、设备固件版本号、设备端口开放服务版本号中的一种或多种。
其中,所述对每一个端口的所述端口标语进行识别,获得每个端口的识别结果具体包括:
对所述网络设备的多个给定端口进行探测,分别获得每一个端口的端口标语;对所述端口标语进行识别分类,获得所述网络设备端口探测中的识别结果。
其中,所述构建所述网络设备的端口识别状态向量具体包括:
根据每一个端口的识别结果,判断所述设备的识别结果;将所述端口的识别结果和设备的识别结果,构成端口识别状态向量,其中,所述端口识别状态向量中每一列代表一个端口的识别结果。
其中,所述识别结果中可识别具体为,当所述网络设备在任意一个端口中获取的端口标语为可识别时,则判定所述设备识别状态为可识别;所述识别结果中不可识别具体为,当所述网络设备在所有端口都无法获得可识别的所述端口标语时,则判定所述设备识别状态为不可识别;所述识别结果中未知具体为,当所述网络设备对所述端口集合中的所有端口未开放,则判定所述设备识别状态为未知。
其中,所述根据多个不同的网络设备进行端口识别的端口识别状态向量,构建网络端口的决策树分类模型具体包括:
对多个不同的网络设备进行端口识别,获得多个网络设备的端口识别状态向量,构建识别状态矩阵;根据所述端口识别状态向量,计算每个端口的信息增益,选取信息增益最大的端口作为决策树的根节点;对所述根节点以外的端口,重新计算每个剩余端口的信息增益,选取其中信息增益最大的端口作为子节点,直至满足决策树生成的结束条件,获得最终的端口选择的决策树。
其中,所述决策树生成结束条件具体为:当构建的决策树的节点可以对所有网络设备进行识别时,或所述信息增益小于预设阈值时,则停止决策树构建。
其中,所述对所述端口标语进行识别分类具体包括:使用设备指纹对所述端口标语进行分类;或通过机器学习的方式,使用训练好的分类器对所述端口标语进行分类。
根据本发明的另一方面,提供一种探测网络设备的***,包括:
端口顺序选择模块,用于根据网络端口的决策树节点的顺序,获得探测网络设备时端口的探测顺序;
设备识别模块,用于根据所述端口的探测顺序,依次对所述网络设备进行探测,直至探测识别到所述网络设备;
其中,所述网络端口的决策树从根节点到每个子节点,分别对应探测网络设备时,使用率由高到低的端口。
本发明提供的方法,在进行网络设备探测时,对给定的网络端口进行优先级排序,使得每次进行设备更新时,针对一个互联网设备,无需对所有的端口进行探测,仅需要根据决策树给出的端口顺序进行探测,可以以更快的速度和更少的资源更新设备信息。
附图说明
图1为本发明一实施例提供的一种探测网络设备的方法的流程图;
图2为本发明另一实施例提供的一种探测网络设备的方法中决策树构建方法的流程图;
图3为本发明另一实施例提供的一种探测网络设备的方法中决策树构建流程图;
图4为本发明又一实施例提供的一种探测网络设备的***的结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
参考图1,图1为本发明一实施例提供的一种探测网络设备的方法的流程图,所述方法包括:
S1,根据网络端口的决策树节点的顺序,获得探测网络设备时端口的探测顺序。其中,所述网络端口的决策树从根节点到每个子节点,分别对应探测网络设备时,使用率由高到低的端口。
具体的,通过使用预先构建好的网络端口的决策树,在需要进行网络设备探测时,通过所述决策树的节点顺序,来获得端口的探测顺序,其中,所述网络端口的决策树从根节点到每个子节点,分别对应使用率由高到低的网络端口。即决策树的根节点,对应所有端口集合中使用率最高的端口,子节点的排列顺序代表在其他剩余端口中,使用率由高到低的端口。例如在一个端口的决策树中,根节点对应的网络端口为http协议常见开放的端口80,子节点对应的端口顺序为ftp协议常见开放的端口21和telnet协议常见开放的端口23,则进行网络设备探测时,端口的使用顺序为80,21,23。
其中,端口的使用率具体为在一个网络环境中,能够对最多的网络设备进行探测并识别到最多网络设备的端口,则为使用率最高的端口,或者某个端口属性对于网络设备的最终识别状态具有更好的分类能力,其信息增益最大的时候,则这个端口为使用率最高的端口。S2、根据所述端口的探测顺序,依次对所述网络设备进行探测,直至探测识别到所述网络设备。
具体的,在进行网络探测时,通过S1确定的端口探测顺序,依次通过顺序排列的端口对网络设备进行探测,直至探测识别到所述网络设备。例如在对某一个网络设备进行探测的时候,首先通过80端口对设备进行探测,若探测时成功获得设备信息,则可停止对这一设备的探测,若没有探测识别到该设备的信息,则继续从21端口对该设备进行探测,若成功,则探测停止,若失败则继续通过下一顺序的端口进行探测,直至探测主机成功获得该网络设备的信息。
通过此方法,在进行网络设备探测时,对给定的网络端口进行优先级排序,使得每次进行设备更新时,针对一个互联网设备,无需对所有的端口进行探测,仅需要根据决策树给出的端口顺序进行探测,可以以更快的速度和更少的资源更新设备信息。
在上述实施例的基础上,所述步骤S1之前还包括:
根据多个网络设备在所有给定的端口中,每一个端口进行识别的历史数据,构建网络端口的决策树。
其中,所述构建网络端口的决策树具体包括:
接收所述网络设备在每一个端口的端口标语,并对每一个端口的所述端口标语进行识别,获得每个端口的识别结果;根据所述每个端口的所述识别结果,构建所述网络设备的端口识别状态向量;根据多个不同的网络设备进行端口识别的端口识别状态向量,构建网络端口的决策树选择模型;
其中,所述识别结果包括可识别、不可识别和未知;所述识别结果中可识别包含:识别到设备类型、设备品牌、设备型号、设备固件版本号、设备端口开放服务版本号中的一种或多种。
所述识别结果中可识别具体为,当所述网络设备在任意一个端口中获取的端口标语为可识别时,则判定所述设备识别状态为可识别;
所述识别结果中不可识别具体为,当所述网络设备在所有端口都无法获得可识别的所述端口标语时,则判定所述设备识别状态为不可识别;
所述识别结果中未知具体为,当所述网络设备对所述端口集合中的所有端口未开放,则判定所述设备识别状态为未知。
具体的,对网络空间中设备的多个端口进行扫描,获得每个端口的标语信息,其中,所述端口至少包含http协议常见开放的端口80、ftp协议常见开放的端口21、telnet协议常见开放的端口23、ssh协议常见开放的端口22,rtsp协议常见开放的端口554、onvif协议常见开放的端口3702以及常用于代理服务的8080端口等多个端口构建的端口集合。
对网络设备采集标语方法包括但不限于使用Masscan、Zmap、Nmap、Zgrab扫描探测工具。在对所述设备进行端口扫描后,可以获得该设备在每个端口的端口标语,例如第一设备在给定的端口80、21、22、23、554中进行扫描,从而可以获得所第一设备在每个端口的端口标语,由于端口集合中包含5个端口,因此总共获得的端口标语有5个。
在获得的网络设备在每个端口的识别结果后,可以根据识别结果判定设备在网络空间中的识别状态,进一步来构建端口识别状态向量。
例如第一设备,在80端口可以获得关于第一设备的信息的端口标语,在21、22、23端口获得的端口标语为无法识别,在554端口,获得端口标语为未开放。根据其端口的识别结果状态可以得到一个1*6维的向量,比如[T,F,F,T,N,T],这个向量中的前5列,每一列代表一个端口的识别状态,最后一列代表所述第一设备在网络空间中的识别状态。
探测工具的识别结果包括但不限于设备如下属性:设备类型、设备品牌、设备厂商、设备型号、设备固件号和端口开放的服务版本号等。其中对于能够识别出类型、品牌、型号和固件版本号属性中的任意一个信息,则标记此端口识别状态为可识别,若识别结果没有被包含在这些属性中,则标记此端口识别状态为不可识别;若没有采集到设备的端口标语,则标记此端口识别状态为未知。
根据设备在每个端口的识别结果,若设备在端口集合中任意一个端口的识别状态为可识别,则此设备的识别状态为可识别;若设备没有一个端口是可识别的状态,并且至少有一个端口状态为不可识别状态,则此设备的识别状态为不可识别;若设备的所有端口状态为未知,则此设备为未知。
在对多个不同的设备进行端口识别后,可以获得网络空间中多个设备的端口识别向量和设备识别向量,选择对设备识别作用最大的端口作为决策树的根结点进行***,随后在子节点继续迭代进行计算,对所述端口集合中根节点端口以外的端口进行选择,构建子节点,不断迭代此过程,直至构成完整的决策树分类模型。决策树的结点的顺序即为优化的网络设备端口探测顺序。
通过此方法,通过决策优化的方式构建了端口选择的决策树,当网络中的设备信息进行更新时不需要对给定端口集合的每个端口进行探测,仅需要根据决策树的端口顺序进行探测,可以以更快的速度和更少的资源更新设备信息。
在上述实施例的基础上,所述对每一个端口的所述端口标语进行识别,获得每个端口的识别结果具体包括:
对所述网络设备的多个给定端口进行探测,分别获得每一个端口的端口标语;对所述端口标语进行识别分类,获得所述网络设备端口探测中的识别结果。
具体的,使用设备识别工具识别各个端口的标语,得到设备在各个端口的识别结果,对各个端口的识别结果进行分类,分成可识别、不可识别和未知三种识别状态。同样,根据每个端口的识别状态,可以确定设备在网络空间中的识别状态,同样分为识别、不可识别和未知三种识别状态。
例如对第一设备在端口识别过程中,如果在80端口的端口标语信息中包含第一设备的设备固件号信息,在其他端口的端口标语信息均为无法识别的信息,则判定第一设备的识别结果为可识别;第二设备在80和21端口获得的端口标语信息无法被识别,同时在22、23和554端口没有采集到端口标语信息,则第二设备的识别状态为不可识别;第三设备在所有的端口都没有采集到端口标语信息,则第三设备的识别状态为未知。
通过此方法,对网络空间中每个设备在每个端口的识别信息进分类,获得了设备在网络空间中端口开放信息和端口识别结果信息。
在上述实施例的基础上,所述构建所述网络设备的端口识别状态向量具体包括:
根据每一个端口的识别结果,判断所述设备的识别结果;
将所述端口的识别结果和设备的识别结果,构成端口识别状态向量,其中,所述端口识别状态向量中每一列代表一个端口的识别结果。
具体的,根据设备在每个端口的识别结果,若设备在端口集合中任意一个端口的识别状态为可识别,则此设备的识别状态为可识别;若设备没有一个端口是可识别的状态,并且至少有一个端口状态为不可识别状态,则此设备的识别状态为为不可识别;若设备的所有端口状态为未知,则此设备为未知。
例如对第一设备在端口识别过程中,如果在80端口的端口标语信息中包含第一设备的设备固件号信息,在其他端口的端口标语信息均为无法识别的信息,则判定第一设备的识别结果为可识别;第二设备在80和21端口获得的端口标语信息无法被识别,同时在22、23和554端口没有采集到端口标语信息,则第二设备的识别状态为不可识别;第三设备在所有的端口都没有采集到端口标语信息,则第三设备的识别状态为未知。
在获得了设备的端口识别信息后,根据设备在每个端口的识别结果和在网络空间中的识别结果,构建设备识别状态向量。例如在设备端口集合为80,21,22,23,554的网络空间中,对第一设备进行识别结果可以生成一个1*6维的向量[T,F,F,T,N,T],这个向量的前五列代表的是80,21,22,23,554端口集合中的每个端口对应的识别状态,最后一列代表的是此设备的识别状态。在向量中T为可识别状态,F为不可识别状态,N为未知状态。
通过此方法,将设备在网络空间中的识别状态通过向量的形式进行表示,为决策树构建提供依据。
在上述实施例的基础上,所述根据多个不同的网络设备进行端口识别的端口识别状态向量,构建网络端口的决策树分类模型具体包括:
对多个不同的网络设备进行端口识别,获得多个网络设备的端口识别状态向量,构建识别状态矩阵。根据所述端口识别状态向量,计算每个端口的信息增益,选取信息增益最大的端口作为决策树的根节点;对所述根节点以外的端口,重新计算每个剩余端口的信息增益,选取其中信息增益最大的端口作为子节点,直至满足决策树生成的结束条件,获得最终的端口选择的决策树。
其中,所述决策树生成结束条件具体为:当构建的决策树的节点可以对所有网络设备进行识别时,或所述信息增益小于预设阈值时,则停止决策树构建。
具体的,在对多个设备进行识别后,可以获得每一个设备的端口识别状态向量,进而构建识别状态矩阵,在设备端口集合为80,21,22,23,554时,当有M个设备进行识别后,可以构建一个m*6的识别状态矩阵。
对于特征选择,若某个端口属性对于网络设备的最终识别状态具有更好的分类能力,则首先选择此特征来进行分类,本实施例中使用最大的特征进行分类,信息增益公式为:g(D,A)=H(D)-H(D|A),式中,A为端口状态属性,D为设备最终状态属性,H(D)为设备最终识别状态的信息熵,H(D|A)为给定端口A下,最终识别状态的经验条件熵。
从根结点开始,对结点计算所有可能的端口的信息增益,选择信息增益最大的端口作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归调用以上方法,构建决策树;直到没有端口特征可以选择为止,决策树生成结束。
通过此方法,进行决策优化后的网络设备扫描探测,减少了端口探测的次数并且也减少了探测的设备端口。从而可以以更少的资源和更快的速度更新设备信息。
具体的,当没有端口的特征可以进行选择是,则构建的决策树的节点可以对所有设备进行识别,即可以停止决策树的构建,现有的决策树提供的端口已经足够对所有的设备进行信息更新。另一方法,当绝大多数设备可以通过决策树提供的端口顺序进行识别后,剩下的很少的设备需要用到特殊的端口时,继续进行端口的信息增益会很小,因此当计算剩下的端口的信息增益小于预设阈值的时候,则也可以停止决策树的构建。
在上述各实施例的基础上,所述对所述端口标语进行识别分类具体包括:使用设备指纹对所述端口标语进行分类;或通过机器学习的方式,使用训练好的分类器对所述端口标语进行分类。
具体的,对端口的标语进行分类时,可以使用的方法包括但不限于使用设备指纹识别方法和机器学习识别方法,通过设备指纹对端口标语进行分类从而获得每个端口的识别状态,或者通过训练好的分类器,来对接收到的端口标语信息进行分类。
在本发明的另一实施例中,对设备端口集合为{80,21,22,23,554}得到的识别结果状态为例详细说明本实例的决策树生成过程。其具体实现过程如图2和图3所示。
每个设备根据其端口的识别结果状态可以得到一个1*6维的向量,比如[T,F,F,T,N,T],这个向量的前5列代表的是{80,21,22,23,554}集合中的每个端口对应的识别状态,最后1列代表的是此设备的识别状态。其中T为可识别状态,F为不可识别状态,N为未知状态。在本实施例中,共有8个设备,则可以构成一个8*6的识别状态矩阵。
对于特征选择,若某个端口属性对于设备的最终识别状态具有更好的分类能力,则首先选择此特征来进行分类。在这里使用最大的特征进行分类。信息增益公式为:g(D,A)=H(D)-H(D|A),其中:A为端口状态属性,D为设备最终状态属性,H(D)为设备最终识别状态的信息熵,H(D|A)为给定端口A下,最终识别状态的经验条件熵。
从根结点开始,对结点计算所有可能的端口的信息增益,选择信息增益最大的端口作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归调用以上方法,构建决策树;直到没有端口特征可以选择为止,决策树生成结束。对生成决策树的端口排序,则可以得到一个设备端口探测顺序。在本实例中端口探测顺序为80,21。
通过此方法,构建一个设备端口探测的决策树,在进行设备更新时,通过该决策树,减少了端口探测的次数并且也减少了探测的设备端口。从而可以以更少的资源和更快的速度更新设备信息。
参考图4,图4为本发明又一实施例提供的一种探测网络设备的***的结构图,所述***包括:端口顺序选择模块41和设备识别模块42。
其中,端口顺序选择模块41用于根据网络端口的决策树节点的顺序,获得探测网络设备时端口的探测顺序。
其中所述网络端口的决策树从根节点到每个子节点,分别对应探测网络设备时,使用率由高到低的端口。
具体的,通过使用预先构建好的网络端口的决策树,在需要进行网络设备探测时,通过所述决策树的节点顺序,来获得端口的探测顺序,其中,所述网络端口的决策树从根节点到每个子节点,分别对应使用率由高到低的网络端口。即决策树的根节点,对应所有端口集合中使用率最高的端口,子节点的排列顺序代表在其他剩余端口中,使用率由高到低的端口。例如在一个端口的决策树中,根节点对应的网络端口为http协议常见开放的端口80,子节点对应的端口顺序为ftp协议常见开放的端口21和telnet协议常见开放的端口23,则进行网络设备探测时,端口的使用顺序为80,21,23。
其中,设备识别模块42用于根据所述端口的探测顺序,依次对所述网络设备进行探测,直至探测识别到所述网络设备。
具体的,在进行网络探测时,通过S1确定的端口探测顺序,依次通过顺序排列的端口对网络设备进行探测,直至探测识别到所述网络设备。例如在对某一个网络设备进行探测的时候,首先通过80端口对设备进行探测,若探测时成功获得设备信息,则可停止对这一设备的探测,若没有探测到该设备的信息,则继续从21端口对该设备进行探测,若成功,则探测停止,若失败则继续通过下一顺序的端口进行探测,直至探测主机成功获得该网络设备的信息。
通过此***,在进行网络探测时,对给定的网络端口进行优先级排序,使得每次进行设备更新时,针对一个互联网设备,无需对所有的端口进行探测,仅需要根据决策树给出的端口顺序进行探测,可以以更快的速度和更少的资源更新设备信息。
在上述实施例的基础上,所述***还包括决策树构建模块,用于根据多个网络设备在所有给定的端口中,每一个端口进行识别的历史数据,构建网络端口的决策树。
具体的,对网络空间中设备的多个端口进行扫描,获得每个端口的标语信息,其中,所述端口至少包含http协议常见开放的端口80、ftp协议常见开放的端口21、telnet协议常见开放的端口23、ssh协议常见开放的端口22,rtsp协议常见开放的端口554、onvif协议常见开放的端口3702以及常用于代理服务的8080端口等多个端口构建的端口集合。
对网络设备采集标语方法包括但不限于使用Masscan、Zmap、Nmap、Zgrab扫描探测工具。在对所述设备进行端口扫描后,可以获得该设备在每个端口的端口标语,例如第一设备在给定的端口80、21、22、23、554中进行扫描,从而可以获得所第一设备在每个端口的端口标语,由于端口集合中包含5个端口,因此总共获得的端口标语有5个。
在获得的设备在每个端口的识别结果后,可以根据识别结果判定设备在网络空间中的识别状态,进一步来构建端口识别状态向量。
探测工具的识别结果包括但不限于设备如下属性:设备类型、设备品牌、设备厂商、设备型号、设备固件号和端口开放的服务版本号等。其中对于能够识别出类型、品牌、型号和固件版本号属性中的任意一个信息,则标记此端口识别状态为可识别,若识别结果没有被包含在这些属性中,则标记此端口识别状态为不可识别;若没有采集到设备的端口标语,则标记此端口识别状态为未知。
根据设备在每个端口的识别结果,若设备在端口集合中任意一个端口的识别状态为可识别,则此设备的识别状态为可识别;若设备没有一个端口是可识别的状态,并且至少有一个端口状态为不可识别状态,则此设备的识别状态为不可识别;若设备的所有端口状态为未知,则此设备为未知。
在对多个不同的设备进行端口识别后,可以获得网络空间中多个设备的端口识别向量和设备识别向量,选择对设备识别作用最大的端口作为决策树的根结点进行***,随后在子节点继续迭代进行计算,对所述端口集合中根节点端口以外的端口进行选择,构建子节点,不断迭代此过程,直至构成完整的决策树分类模型。决策树的结点的顺序即为优化的网络设备端口探测顺序。
通过此***,通过决策优化的方式构建了端口选择的决策树,当网络中的设备信息进行更新时不需要对给定端口集合的每个端口进行探测,仅需要根据决策树的端口顺序进行探测,可以以更快的速度和更少的资源更新设备信息。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种探测网络设备的方法,其特征在于,包括:
S1,根据网络端口的决策树节点的顺序,获得探测网络设备时端口的探测顺序;
S2,根据所述端口的探测顺序,依次对所述网络设备进行探测,直至探测识别到所述网络设备;
其中,所述网络端口的决策树从根节点到每个子节点,分别对应探测网络设备时,使用率由高到低的端口;
其中,在一个网络环境中,能够对最多的网络设备进行探测并识别到最多网络设备的端口,则为使用率最高的端口;或者,
端口属性对于网络设备的最终识别状态具有最高分类能力且其信息增益最大,则该端口为使用率最高的端口。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:
根据多个网络设备在所有给定的端口中,每一个端口进行识别的历史数据,构建网络端口的决策树。
3.根据权利要求2所述的方法,其特征在于,所述构建网络端口的决策树具体包括:
接收所述网络设备在每一个端口的端口标语,并对每一个端口的所述端口标语进行识别,获得每个端口的识别结果;
根据所述每个端口的所述识别结果,构建所述网络设备的端口识别状态向量;
根据多个不同的网络设备进行端口识别的端口识别状态向量,构建网络端口的决策树选择模型;
其中,所述识别结果包括可识别、不可识别和未知;
其中,所述识别结果中可识别包含:识别到设备类型、设备品牌、设备型号、设备固件版本号、设备端口开放服务版本号中的一种或多种。
4.根据权利要求3所述的方法,其特征在于,所述对每一个端口的所述端口标语进行识别,获得每个端口的识别结果具体包括:
对所述网络设备的多个给定端口进行探测,分别获得每一个端口的端口标语;
对所述端口标语进行识别分类,获得所述网络设备端口探测中的识别结果。
5.根据权利要求4所述的方法,其特征在于,所述构建所述网络设备的端口识别状态向量具体包括:
根据每一个端口的识别结果,判断所述设备的识别结果;
将所述端口的识别结果和设备的识别结果,构成端口识别状态向量,其中,所述端口识别状态向量中每一列代表一个端口的识别结果。
6.根据权利要求3所述的方法,其特征在于,所述识别结果中可识别具体为,当所述网络设备在任意一个端口中获取的端口标语为可识别时,则判定所述设备识别状态为可识别;
所述识别结果中不可识别具体为,当所述网络设备在所有端口都无法获得可识别的所述端口标语时,则判定所述设备识别状态为不可识别;
所述识别结果中未知具体为,当所述网络设备对所述端口集合中的所有端口未开放,则判定所述设备识别状态为未知。
7.根据权利要求3所述的方法,其特征在于,所述根据多个不同的网络设备进行端口识别的端口识别状态向量,构建网络端口的决策树分类模型具体包括:
对多个不同的网络设备进行端口识别,获得多个网络设备的端口识别状态向量,构建识别状态矩阵;
根据所述端口识别状态向量,计算每个端口的信息增益,选取信息增益最大的端口作为决策树的根节点;
对所述根节点以外的端口,重新计算每个剩余端口的信息增益,选取其中信息增益最大的端口作为子节点,直至满足决策树生成的结束条件,获得最终的端口选择的决策树。
8.根据权利要求7所述的方法,其特征在于,所述决策树生成结束条件具体为:当构建的决策树的节点可以对所有网络设备进行识别时,或所述信息增益小于预设阈值时,则停止决策树构建。
9.根据权利要求4所述的方法,其特征在于,所述对所述端口标语进行识别分类具体包括:使用设备指纹对所述端口标语进行分类;或通过机器学习的方式,使用训练好的分类器对所述端口标语进行分类。
10.一种探测网络设备的***,其特征在于,包括:
端口顺序选择模块,用于根据网络端口的决策树节点的顺序,获得探测网络设备时端口的探测顺序;
设备识别模块,用于根据所述端口的探测顺序,依次对所述网络设备进行探测,直至探测识别到所述网络设备;
其中,所述网络端口的决策树从根节点到每个子节点,分别对应探测网络设备时,使用率由高到低的端口;
其中,在一个网络环境中,能够对最多的网络设备进行探测并识别到最多网络设备的端口,则为使用率最高的端口;或者,
端口属性对于网络设备的最终识别状态具有最高分类能力且其信息增益最大,则该端口为使用率最高的端口。
CN201810077929.2A 2018-01-26 2018-01-26 一种探测网络设备的方法及*** Active CN108418727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810077929.2A CN108418727B (zh) 2018-01-26 2018-01-26 一种探测网络设备的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810077929.2A CN108418727B (zh) 2018-01-26 2018-01-26 一种探测网络设备的方法及***

Publications (2)

Publication Number Publication Date
CN108418727A CN108418727A (zh) 2018-08-17
CN108418727B true CN108418727B (zh) 2020-04-24

Family

ID=63126246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810077929.2A Active CN108418727B (zh) 2018-01-26 2018-01-26 一种探测网络设备的方法及***

Country Status (1)

Country Link
CN (1) CN108418727B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110380925B (zh) * 2019-06-28 2021-02-02 中国科学院信息工程研究所 一种网络设备探测中端口选择方法及***
CN112016635B (zh) * 2020-10-16 2021-02-19 腾讯科技(深圳)有限公司 设备类型的识别方法、装置、计算机设备和存储介质
CN112769635B (zh) * 2020-12-10 2022-04-15 青岛海洋科学与技术国家实验室发展中心 多粒度特征解析的服务识别方法及装置
CN113037705B (zh) * 2020-12-30 2022-07-15 智网安云(武汉)信息技术有限公司 一种网络终端端口扫描方法及网络终端端口扫描***
CN115442259A (zh) * 2022-08-30 2022-12-06 奇安信网神信息技术(北京)股份有限公司 ***识别方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775584B2 (en) * 2003-04-29 2014-07-08 Microsoft Corporation Method and apparatus for discovering network devices
CN101714926B (zh) * 2009-11-02 2013-01-30 福建星网锐捷网络有限公司 网络设备管理方法、装置及***
US10033583B2 (en) * 2014-04-22 2018-07-24 International Business Machines Corporation Accelerating device, connection and service discovery
CN106998299B (zh) * 2016-01-22 2019-10-18 华为技术有限公司 数据中心网络中网络设备的识别方法、装置及***

Also Published As

Publication number Publication date
CN108418727A (zh) 2018-08-17

Similar Documents

Publication Publication Date Title
CN108418727B (zh) 一种探测网络设备的方法及***
CN110730140B (zh) 基于时空特性相结合的深度学习流量分类方法
CN109639481B (zh) 一种基于深度学习的网络流量分类方法、***及电子设备
EP2485432B1 (en) A method and apparatus for communications analysis
CN109842588B (zh) 网络数据检测方法及相关设备
CN110380925B (zh) 一种网络设备探测中端口选择方法及***
CN111191767A (zh) 一种基于向量化的恶意流量攻击类型的判断方法
CN110061931B (zh) 工控协议的聚类方法、装置、***及计算机存储介质
CN110493262B (zh) 一种改进分类的网络攻击检测方法及***
CN114553591B (zh) 随机森林模型的训练方法、异常流量检测方法及装置
CN111835763A (zh) 一种dns隧道流量检测方法、装置及电子设备
CN113205134A (zh) 一种网络安全态势预测方法及***
CN115277113A (zh) 一种基于集成学习的电网网络入侵事件检测识别方法
CN109347785A (zh) 一种终端类型识别方法及装置
CN111553241A (zh) 掌纹的误匹配点剔除方法、装置、设备及存储介质
CN112383488B (zh) 一种适用于加密与非加密数据流的内容识别方法
CN113079186A (zh) 基于工控终端特征识别的工业网络边界防护方法和***
CN112671614A (zh) 关联***连通性测试方法、***、装置及存储介质
CN116192527A (zh) 攻击流量检测规则生成方法、装置、设备及存储介质
CN112688897A (zh) 一种流量识别的方法、装置、存储介质及电子设备
CN116055092A (zh) 一种隐蔽隧道攻击行为检测方法和装置
CN110620682B (zh) 资源信息的获取方法及装置、存储介质、终端
CN114900835A (zh) 恶意流量智能检测方法、装置及存储介质
CN111901282A (zh) 一种生成恶意代码流量行为检测结构的方法
CN110674010B (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
GR01 Patent grant
GR01 Patent grant