CN108173716B - 一种识别网络设备厂商的方法和计算设备 - Google Patents
一种识别网络设备厂商的方法和计算设备 Download PDFInfo
- Publication number
- CN108173716B CN108173716B CN201810019266.9A CN201810019266A CN108173716B CN 108173716 B CN108173716 B CN 108173716B CN 201810019266 A CN201810019266 A CN 201810019266A CN 108173716 B CN108173716 B CN 108173716B
- Authority
- CN
- China
- Prior art keywords
- message
- identification
- manufacturers
- network
- messages
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/065—Generation of reports related to network devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种识别网络设备厂商的方法,包括步骤:将来自未知网络设备、并包括设备标识信息的报文划分为多个集合,每个集合内的报文均相似;对于每个集合,在该集合中选择预定数目条报文;对其中每条报文分别进行第一识别,以分别得到每条报文对应的网络设备的第一厂商,第一识别包括:提取该条报文中设备标识信息所包含的网络地址;获取网络地址指向的网络内容;根据网络内容中的第一特定字段内容得到该条报文对应的网络设备的第一厂商;如果每条报文的第一厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为该第一厂商。本发明还公开了一种对应的计算设备和计算机可读存储介质。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种识别网络设备厂商的方法和计算设备。
背景技术
随着网络通信技术的迅速发展、所承载信息的日益丰富,互联网以及其中的各种网络设备已成为人类社会重要的基础设施。网络设备通常都会具有设备标识信息(banner),在新的网络漏洞或僵尸网络爆发的时候,安全研究人员可以根据网络设备的设备标识信息来识别其厂商,继而评估受到影响的厂商以及对应的网络设备类型。还可以根据识别出的网络设备的数量以及分布范围来评定漏洞影响范围。因此,对网络设备厂商进行识别对维护网络安全有重要意义。
目前通用的方式是使用正则表达式去对网络设备的设备标识信息进行匹配,如果匹配成功,则表明该网络设备属于该正则表达式对应的厂商。然而,由于各厂商在设备标识信息中展示厂商信息的方式、位置和格式各不相同,无法使用计算设备去自动化的编写对应的正则表达式,必须人工编写。这就导致了识别门槛高,识别效率低,同时人力成本高的问题。
因此,迫切需要一种更先进的识别网络设备厂商的方案。
发明内容
为此,本发明提供一种识别网络设备厂商的方案,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种识别网络设备厂商的方法,包括步骤:将来自未知网络设备、并包括设备标识信息的报文划分为多个集合,每个集合内的报文均相似;对于每个集合,在该集合中选择预定数目条报文;对其中每条报文分别进行第一识别,以分别得到每条报文对应的网络设备的第一厂商,第一识别包括:提取该条报文中设备标识信息所包含的网络地址;获取该网络地址指向的网络内容;根据该网络内容中的第一特定字段内容得到该条报文对应的网络设备的第一厂商;如果每条报文的第一厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为该第一厂商。
可选地,在根据本发明的方法中,第一识别还包括:如果网络内容不存在第一特定字段内容,或者根据第一特定字段内容得到的第一厂商有多个,则确定该条报文的第一识别失败。
可选地,在根据本发明的方法中,方法还包括步骤:对其中每条报文分别进行第二识别,以分别得到每条报文对应的网络设备的第二厂商,第二识别包括:基于该条报文中设备标识信息与已知的厂商数据库之间的匹配,得到该报文对应的网络设备的第二厂商;如果每条报文的第二厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为该第二厂商。
可选地,在根据本发明的方法中,第二识别还包括:如果设备标识信息与已知的厂商数据库之间匹配失败,则确定该条报文的第二识别失败。
可选地,在根据本发明的方法中,方法还包括步骤:对其中每条报文分别进行第三识别,以分别得到每条报文对应的网络设备的第三厂商,第三识别包括:判断该条报文是否为特定网络协议;若是,与该报文对应的网络设备通过特定网络协议建立连接,并获取其数字证书;根据该数字证书中的第二特定字段内容得到该条报文对应的网络设备的第三厂商;如果每条报文的第三厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为该第三厂商。
可选地,在根据本发明的方法中,第三识别还包括:如果该条报文不为特定网络协议、或者数字证书不存在第二特定字段内容、或者根据第二字段内容得到的第三厂商为特殊厂商,则确定该条报文的第三识别失败。
可选地,在根据本发明的方法中,方法还包括步骤:对其中每条报文分别进行第四识别,以分别得到每条报文对应的网络设备的第四厂商,第四识别包括:获取该条报文对应的网络设备的缺省图标;通过图片搜索引擎查找与缺省图标相似的图片、以及提供该图片的网络地址;获取提供该图片的网络地址指向的网络内容;基于所获取的网络内容中的第一特定字段内容与厂商数据库之间的匹配,得到该条报文对应的网络设备的第四厂商;如果每条报文的第四厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为第四厂商。
可选地,在根据本发明的方法中,第四识别还包括:如果所获取的网络内容中不存在第一特定字段内容、或者第一特定字段内容与厂商数据库之间匹配失败、或者匹配得到的第四厂商有多个,则确定该条报文的第四识别失败。
可选地,在根据本发明的方法中,方法还包括步骤:如果任一条报文的第一识别失败、或者不是每条报文的第一厂商均相同,则对每条报文分别进行第二识别;如果任一条报文的第二识别失败、或者不是每条报文的第二厂商均相同,则对每条报文分别进行第三识别;以及如果任一条报文的第三识别失败、或者不是每条报文的第三厂商均相同,则对每条报文分别进行第四识别。
可选地,在根据本发明的方法中,方法还包括步骤:对于每个集合,如果预定数目条报文中任一条报文的第四识别失败、或者不是每条报文的第四厂商均相同,则将该集合内所有报文作为未识别报文;对未识别报文重复划分集合和识别厂商的步骤,直至确定报文对应的网络设备的厂商、或者识别次数达到预定次数。
可选地,在根据本发明的方法中,将来自未知网络设备、并包括设备标识信息的报文划分为多个集合的步骤包括:按照报文内容对报文进行排序;为排序后的首条报文创建一个集合;自首条报文开始,对于每两条相邻的报文,计算二者之间的相似度;若相似度大于预定相似阈值,则将后一条报文划分至前一条报文所在的集合;否则为后一条报文创建一个集合。
可选地,在根据本发明的方法中,方法还包括步骤:在将报文划分为多个集合之前,先根据端口和状态码对报文进行初步划分。
可选地,在根据本发明的方法中,在该集合中选择预定数目条报文的步骤还包括:若该集合内的报文数目小于预定数目,则选择该集合内的所有报文。
可选地,在根据本发明的方法中,第一特定字段包括copyright字段。
可选地,在根据本发明的方法中,特定网络协议包括HTTPS协议,第二特定字段包括organizationName字段。
根据本发明的另一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的识别网络设备厂商的方法中的任一方法的指令。
根据本发明的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的识别网络设备厂商的方法中的任一方法。
根据本发明的识别网络设备厂商的方案,将未知网络设备的报文划分为多个相似报文的集合,针对每个集合进行网络设备厂商的识别。其中,选择预定数目条报文,并利用第一识别或者第二识别或者第三识别或者第四识别中的一个对其中每条报文进行识别,最后得到集合中所有报文对应的网络设备的厂商,有效地实现了网络设备厂商的自动化识别,降低了人工成本,同时极大地减少了计算量,提高了识别效率。
进一步地,可以结合第一识别、第二识别、第三识别和第四识别对报文进行分层次识别,这样在保证识别准确度的同时也提高了识别的成功率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个示例性实施方式的计算设备100的结构框图;以及
图2示出了根据本发明的一个示例性实施方式的识别网络设备厂商的方法200的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个示例性实施方式的计算设备100的结构框图。该计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和网络服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。此外,计算设备100还可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。
在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个程序122以及程序数据124。在一些实施方式中,程序122可以被配置为在操作系统上由一个或者多个处理器104利用程序数据124执行指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
其中,计算设备100的一个或多个程序122包括用于执行根据本发明的识别网络设备厂商的方法中任一方法的指令。
图2示出了根据本发明一个示例性实施方式的识别网络设备厂商的方法200的流程图。如图2所示,识别网络设备厂商的方法200始于步骤S210。
在步骤S210中,将来自未知网络设备、并包括设备标识信息(banner)的报文划分为多个集合,每个集合内的报文均相似。具体地,可以按照报文内容对报文进行排序。为排序后的首条报文创建一个集合,而后自首条报文开始,对于每两条相邻的报文,均计算二者之间的相似度。若相似度大于预定相似阈值,则将后一条报文划分至前一条报文所在的集合,否则为后一条报文单独创建一个集合。其中,预定相似阈值可以为0.8,计算两条报文之间的相似度可以采用Levenshtein算法、或者余弦相似度算法、或者Simhash算法,本发明对此不做限制。
考虑到来自未知网络设备的报文数据量相当大,根据本发明的一个实施方式,在步骤S210之前,还可以先根据端口和状态码对报文进行初步划分。
对于所划分的每个集合,在步骤S220中,在该集合中选择预定数目条报文,预定数目通常可以为3~10。若该集合内的报文数目小于预定数目,则可以选择该集合内的所有报文。
而后,在步骤S230中,对所选择的预定数目条报文中的每条报文分别进行第一识别,以分别得到每条报文对应的网络设备的第一厂商。具体地,第一识别可以包括以下步骤:提取该条报文中设备标识信息所包含的网络地址,获取该网络地址指向的网络内容,根据该网络内容中的第一特定字段内容得到该条报文对应的网络设备的第一厂商。其中,网络内容通常为html文件,第一特定字段为copyright字段。以下是一个网络内容的示例:
“<td> ;</td>
</tr>
</table>
<br>
<div align=“center”>Copyright©;2004-2007 D-link System,Inc.</div>
<br><br>
<form>”
其中,可根据copyright字段内容“2004-2007 D-link System,Inc.”得到该条报文对应网络设备的第一厂商为D-link System,Inc.。
如果设备标识信息没有包含网络地址、或者网络地址指向的网络内容不存在第一特定字段内容、或者根据第一特定字段内容得到的第一厂商有多个,则可以确定该条报文的第一识别失败。
对预定数目条报文中的每条报文分别进行第一识别后,在步骤S240中,如果每条报文的第一厂商均相同,则可以确定该集合内所有报文对应的网络设备的厂商均为该第一厂商。如果不是每条报文的第一厂商均相同,则可以确定该集合的第一识别失败。
根据本发明的一个实施方式,方法200还可以包括步骤:对所选择的预定数目条报文中的每条报文分别进行第二识别,以分别得到每条报文对应的网络设备的第二厂商。对预定数目条报文中的每条报文分别进行第二识别后,如果每条报文的第二厂商均相同,则可以确定该集合内所有报文对应的网络设备的厂商均为该第二厂商。如果不是每条报文的第二厂商均相同,则可以确定该集合的第二识别失败。
具体地,第二识别可以包括以下步骤:基于该条报文中设备标识信息与已知的厂商数据库(厂商数据库中存储有大量的网络设备知名厂商的数据)之间的匹配,得到该报文对应的网络设备的第二厂商。
以下是一个设备标识信息的示例:
“HTTP/1.0 200 OK
Date:wed,21 Oct 2015 06:57:41 GMT
Server:Hikvision-webs/
ETag:"641-53d-50979a06"
Content-Length:1341
Content-Type:text/html
Connection:close
Last-Modified:Mon,Nov 2012 10:50 GMT
X-Appweb-Seq:195”
该条报文中设备标识信息匹配到厂商数据库中的Hikvision(海康威视),则可以得到该报文对应的网络设备的第二厂商为海康威视。
如果设备标识信息与已知的厂商数据库之间匹配失败,则可以确定该条报文的第二识别失败。
根据本发明的一个实施方式,方法200还可以包括步骤:对所选择的预定数目条报文中的每条报文分别进行第三识别,以分别得到每条报文对应的网络设备的第三厂商。对预定数目条报文中的每条报文分别进行第三识别后,如果每条报文的第三厂商均相同,则可以确定该集合内所有报文对应的网络设备的厂商均为第三厂商。如果不是每条报文的第三厂商均相同,则可以确定该集合的第三识别失败。
具体地,第三识别可以包括以下步骤:判断该条报文是否为特定网络协议。若是,与该报文对应的网络设备通过特定网络协议建立连接,并获取其数字证书。而后,根据该数字证书中的第二特定字段内容得到该条报文对应的网络设备的第三厂商。特定网络协议通常为HTTPS协议,第二特定字段通常为organizationName字段。
其中,获取数字证书并获取organizationName字段内容可通过以下脚本来实现:
“import ssl,socket,sys
try:
ip=sys.argv[1]
except:
print("python get_ssl_info.py ip port")
exit
try:
port=sys.argv[2]
except:
port=443
ctx=ssl.create_default_context()
s=ctx.wrap_socket(socket.socket(),server_hostname=ip)
s.connect((ip,port))
cert=s.getpeercert()
subject=dict(x[0]for x in cert['subject'])
print(subject['organizationName'])”
例如获取到的organizationName字段内容为“organizationName=SynologyInc.”,那么可以得到该条报文对应网络设备的第三厂商为Synology Inc.。
如果该条报文不为特定网络协议、或者数字证书不存在第二特定字段内容、或者根据第二字段内容得到的第三厂商为特殊厂商(例如localhost),则可以确定该条报文的第三识别失败。
根据本发明的一个实施方式,方法200还可以包括步骤:对所选择的预定数目条报文中的每条报文分别进行第四识别,以分别得到每条报文对应的网络设备的第四厂商。对预定数目条报文中的每条报文分别进行第四识别后,如果每条报文的第四厂商均相同,则可以确定该集合内所有报文对应的网络设备的厂商均为第四厂商。如果不是每条报文的第四厂商均相同,则可以确定该集合的第四识别失败。
具体地,第四识别可以包括以下步骤:获取该条报文对应的网络设备的缺省图标(favicon.ico),而后通过图片搜索引擎(例如谷歌识图、百度识图等图片搜索引擎)查找与该缺省图标相似的图片(通常为搜索到的排在第一位的图片)、以及提供该图片的网络地址。获取提供该图片的网络地址指向的网络内容,最后基于所获取的网络内容中的第一特定字段内容与厂商数据库之间的匹配,得到该条报文对应的网络设备的第四厂商。同样地,这里的网络内容通常为html文件,第一特定字段通常为copyright字段。
其中,如果所获取的网络内容中不存在第一特定字段内容、或者第一特定字段内容与厂商数据库之间匹配失败、或者匹配得到的第四厂商有多个,则确定该条报文的第四识别失败。
应当注意的是,本发明可以选择第一识别、第二识别、第三识别和第四识别中的任意一个来对网络设备厂商进行识别,均可以有效地实现网络设备厂商的自动化识别,降低人工成本,同时极大地减少计算量,提高识别效率。
此外,本发明还可以结合第一识别、第二识别、第三识别和第四识别来对网络设备厂商进行识别。根据本发明的一个实施方式,方法200还可以包括步骤:
首先,对预定数目条报文中的每条报文分别进行第一识别,如果每条报文的第一厂商均相同,则确定该集合内所有报文对应的网络设备的厂商均为第一厂商,但如果任一条报文的第一识别失败、或者不是每条报文的第一厂商均相同,则接着对每条报文分别进行第二识别。
如果每条报文的第二厂商均相同,则确定该集合内所有报文对应的网络设备的厂商均为该第二厂商。但如果任一条报文的第二识别失败、或者不是每条报文的第二厂商均相同,则对每条报文分别进行第三识别。
如果每条报文的第三厂商均相同,则确定该集合内所有报文对应的网络设备的厂商均为该第三厂商。但如果任一条报文的第三识别失败、或者不是每条报文的第三厂商均相同,则对每条报文分别进行第四识别。显然,这样循序渐进的分层次识别可以在保证识别准确度的同时更提高识别的成功率。
此外,对于每个集合,如果在该集合中所选择的预定数目条报文中任一条报文的第四识别失败、或者不是每条报文的第四厂商均相同,则将该集合内所有报文作为未识别报文。后续再对未识别报文重复上述划分集合和识别厂商的步骤,直至确定报文对应的网络设备的厂商、或者识别次数达到预定次数(预定次数通常为10次)。如果某个集合的识别次数达到预定次数后仍无法确定该集合中报文对应网络设备的厂商,则可以将该集合中的报文从待识别报文中剔除。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (17)
1.一种识别网络设备厂商的方法,包括步骤:
将来自未知网络设备、并包括设备标识信息的报文划分为多个集合,每个集合内的报文均相似;
对于每个集合,
在该集合中选择预定数目条报文;
对其中每条报文分别进行第一识别,以分别得到每条报文对应的网络设备的第一厂商,所述第一识别包括:
提取该条报文中设备标识信息所包含的网络地址;
获取所述网络地址指向的网络内容;
根据所述网络内容中的第一特定字段内容得到该条报文对应的网络设备的第一厂商;
如果每条报文的第一厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为所述第一厂商。
2.如权利要求1所述的方法,其中,所述第一识别还包括:
如果所述网络内容不存在所述第一特定字段内容,或者根据所述第一特定字段内容得到的第一厂商有多个,则确定该条报文的第一识别失败。
3.如权利要求1所述的方法,其中,所述方法还包括步骤:
对其中每条报文分别进行第二识别,以分别得到每条报文对应的网络设备的第二厂商,所述第二识别包括:基于该条报文中设备标识信息与已知的厂商数据库之间的匹配,得到该报文对应的网络设备的第二厂商;
如果每条报文的第二厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为所述第二厂商。
4.如权利要求3所述的方法,其中,所述第二识别还包括:
如果所述设备标识信息与已知的厂商数据库之间匹配失败,则确定该条报文的第二识别失败。
5.如权利要求1所述的方法,其中,所述方法还包括步骤:
对其中每条报文分别进行第三识别,以分别得到每条报文对应的网络设备的第三厂商,所述第三识别包括:
判断该条报文是否为特定网络协议;
若是,与该报文对应的网络设备通过所述特定网络协议建立连接,并获取其数字证书;
根据所述数字证书中的第二特定字段内容得到该条报文对应的网络设备的第三厂商;如果每条报文的第三厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为所述第三厂商。
6.如权利要求5所述的方法,其中,所述第三识别还包括:
如果该条报文不为特定网络协议、或者所述数字证书不存在第二特定字段内容、或者根据所述第二特定字段内容得到的第三厂商为特殊厂商,则确定该条报文的第三识别失败。
7.如权利要求1所述的方法,其中,所述方法还包括步骤:
对其中每条报文分别进行第四识别,以分别得到每条报文对应的网络设备的第四厂商,所述第四识别包括:
获取该条报文对应的网络设备的缺省图标;
通过图片搜索引擎查找与所述缺省图标相似的图片、以及提供该图片的网络地址;
获取提供该图片的网络地址指向的网络内容;
基于所获取的网络内容中的第一特定字段内容与厂商数据库之间的匹配,得到该条报文对应的网络设备的第四厂商;如果每条报文的第四厂商均相同,确定该集合内所有报文对应的网络设备的厂商均为所述第四厂商。
8.如权利要求7所述的方法,其中,所述第四识别还包括:
如果所获取的网络内容中不存在第一特定字段内容、或者第一特定字段内容与所述厂商数据库之间匹配失败、或者匹配得到的第四厂商有多个,则确定该条报文的第四识别失败。
9.如权利要求1-8中任一个所述的方法,其中,所述方法还包括步骤:
如果任一条报文的第一识别失败、或者不是每条报文的第一厂商均相同,则对每条报文分别进行第二识别;
如果任一条报文的第二识别失败、或者不是每条报文的第二厂商均相同,则对每条报文分别进行第三识别;以及
如果任一条报文的第三识别失败、或者不是每条报文的第三厂商均相同,则对每条报文分别进行第四识别。
10.如权利要求9所述的方法,其中,所述方法还包括步骤:
对于每个集合,如果所述预定数目条报文中任一条报文的第四识别失败、或者不是每条报文的第四厂商均相同,则将该集合内所有报文作为未识别报文;
对未识别报文重复划分集合和识别厂商的步骤,直至确定报文对应的网络设备的厂商、或者识别次数达到预定次数。
11.如权利要求1所述的方法,其中,所述将来自未知网络设备、并包括设备标识信息的报文划分为多个集合的步骤包括:
按照报文内容对报文进行排序;
为排序后的首条报文创建一个集合;
自首条报文开始,对于每两条相邻的报文,
计算二者之间的相似度;
若相似度大于预定相似阈值,则将后一条报文划分至前一条报文所在的集合;否则为后一条报文创建一个集合。
12.如权利要求11所述的方法,其中,所述方法还包括步骤:
在将报文划分为多个集合之前,先根据端口和状态码对报文进行初步划分。
13.如权利要求1所述的方法,其中,所述在该集合中选择预定数目条报文的步骤还包括:
若该集合内的报文数目小于所述预定数目,则选择该集合内的所有报文。
14.如权利要求1所述的方法,其中,所述第一特定字段包括copyright字段。
15.如权利要求5所述的方法,其中,所述特定网络协议包括HTTPS协议,所述第二特定字段包括organizationName字段。
16.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-15所述的识别网络设备厂商的方法中的任一方法的指令。
17.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-15所述的识别网络设备厂商的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810019266.9A CN108173716B (zh) | 2018-01-09 | 2018-01-09 | 一种识别网络设备厂商的方法和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810019266.9A CN108173716B (zh) | 2018-01-09 | 2018-01-09 | 一种识别网络设备厂商的方法和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108173716A CN108173716A (zh) | 2018-06-15 |
CN108173716B true CN108173716B (zh) | 2020-03-17 |
Family
ID=62517681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810019266.9A Active CN108173716B (zh) | 2018-01-09 | 2018-01-09 | 一种识别网络设备厂商的方法和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108173716B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379763B (zh) * | 2018-10-09 | 2022-08-05 | 北京联合大学 | 网络设备信息的智能标记方法 |
CN113572761B (zh) * | 2021-07-22 | 2023-06-30 | 四川英得赛克科技有限公司 | 一种设备识别方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651053B1 (en) * | 1999-02-01 | 2003-11-18 | Barpoint.Com, Inc. | Interactive system for investigating products on a network |
CN101593286A (zh) * | 2008-05-27 | 2009-12-02 | 晨星软件研发(深圳)有限公司 | 一种射频识别标签及识别方法 |
CN104079680A (zh) * | 2014-06-30 | 2014-10-01 | 珠海市君天电子科技有限公司 | 设备的识别方法和装置 |
CN106126383A (zh) * | 2016-06-01 | 2016-11-16 | 杭州华三通信技术有限公司 | 一种日志处理方法和装置 |
CN106533945A (zh) * | 2016-09-23 | 2017-03-22 | 深圳创维数字技术有限公司 | 一种基于智能路由器的终端类型自动识别的方法及系统 |
CN107241237A (zh) * | 2017-05-22 | 2017-10-10 | 北京知道创宇信息技术有限公司 | 一种识别报文所属组件的方法和计算设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220903A1 (en) * | 2003-04-30 | 2004-11-04 | Emarkmonitor Inc. | Method and system to correlate trademark data to internet domain name data |
-
2018
- 2018-01-09 CN CN201810019266.9A patent/CN108173716B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651053B1 (en) * | 1999-02-01 | 2003-11-18 | Barpoint.Com, Inc. | Interactive system for investigating products on a network |
CN101593286A (zh) * | 2008-05-27 | 2009-12-02 | 晨星软件研发(深圳)有限公司 | 一种射频识别标签及识别方法 |
CN104079680A (zh) * | 2014-06-30 | 2014-10-01 | 珠海市君天电子科技有限公司 | 设备的识别方法和装置 |
CN106126383A (zh) * | 2016-06-01 | 2016-11-16 | 杭州华三通信技术有限公司 | 一种日志处理方法和装置 |
CN106533945A (zh) * | 2016-09-23 | 2017-03-22 | 深圳创维数字技术有限公司 | 一种基于智能路由器的终端类型自动识别的方法及系统 |
CN107241237A (zh) * | 2017-05-22 | 2017-10-10 | 北京知道创宇信息技术有限公司 | 一种识别报文所属组件的方法和计算设备 |
Non-Patent Citations (2)
Title |
---|
Engin Öztürk;afak Bilgi Akdemir.A network based test interface allowing access of.《2017 IEEE AUTOTESTCON》.2017,全文. * |
面向融合网络的设备安全管理研究;许金莲;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130615;l139-137 * |
Also Published As
Publication number | Publication date |
---|---|
CN108173716A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107688538B (zh) | 一种脚本执行方法、装置及计算设备 | |
CN107229951B (zh) | 预测用户是否存在恶意行为的方法和计算设备 | |
CN110659287A (zh) | 一种表格的字段名处理方法及计算设备 | |
CN108173716B (zh) | 一种识别网络设备厂商的方法和计算设备 | |
CN112800305A (zh) | 一种基于网络爬虫的知识图谱数据抽取方法及装置 | |
CN110795343A (zh) | 测试系统、测试方法和计算设备 | |
CN111367870A (zh) | 一种绘本共享方法、装置和系统 | |
CN112732468B (zh) | 数据处理方法、数据交互系统及计算设备 | |
CN114139161A (zh) | 一种批量检测漏洞的方法、装置、电子设备及介质 | |
CN106951242B (zh) | 一种漏洞验证程序的生成方法、设备及计算设备 | |
CN111741010B (zh) | 一种基于代理的Docker操作请求处理方法、装置及计算设备 | |
CN113688617A (zh) | 一种生成表格页面的方法及计算设备 | |
CN111046393B (zh) | 漏洞信息上传方法、装置、终端设备及存储介质 | |
CN107508705B (zh) | 一种http元素的资源树构建方法及计算设备 | |
CN111177147B (zh) | 一种元数据批量入库的方法、可读存储介质及计算设备 | |
CN112532414B (zh) | 确定isp归属的方法、装置、设备及计算机存储介质 | |
CN110516169B (zh) | 数据显示方法、装置、系统及计算设备 | |
CN109274758B (zh) | 一种请求消息的处理方法及计算设备 | |
CN107566349B (zh) | 一种检测网络服务器中敏感文件泄露的方法及计算设备 | |
CN112104571A (zh) | 一种业务分流方法、装置、计算机设备和计算机存储介质 | |
CN107317892B (zh) | 一种网络地址的处理方法、计算设备及可读存储介质 | |
CN109691023B (zh) | 解析器 | |
CN111625268B (zh) | 一种软件补丁快速扫描的方法、装置及计算设备 | |
CN115640211A (zh) | 一种页面对比测试中页面地址确定方法、装置及计算设备 | |
CN114448842B (zh) | 一种资源访问方法、装置及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 311501, Unit 1, Building 5, Courtyard 1, Futong East Street, Chaoyang District, Beijing 100102 Applicant after: Beijing Zhichuangyu Information Technology Co., Ltd. Address before: 100097 Jinwei Building 803, 55 Lanindichang South Road, Haidian District, Beijing Applicant before: Beijing Knows Chuangyu Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |