CN111722848B - 一种网络组件识别方法 - Google Patents
一种网络组件识别方法 Download PDFInfo
- Publication number
- CN111722848B CN111722848B CN202010585817.5A CN202010585817A CN111722848B CN 111722848 B CN111722848 B CN 111722848B CN 202010585817 A CN202010585817 A CN 202010585817A CN 111722848 B CN111722848 B CN 111722848B
- Authority
- CN
- China
- Prior art keywords
- network component
- information
- identification
- recognized
- identified
- 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
-
- 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/43—Checking; Contextual analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种网络组件的识别方法,该方法主要步骤包括:网络组件识别服务器采集网络组件信息,并建立网络组件信息数据库;客户端发送识别请求至组件识别服务器,其中,该识别请求中包括了待识别对象标识和辅助参数信息;网络组件识别服务器接收识别请求,并根据待识别对象标识,查找网络组件数据库中是否存在相应信息,如果存在则判断待识别对象在网络组件数据库中的信息与辅助参数信息,继续根据待识别标识和辅助参数信息,建立对应的网络连接,将相应的请求发送到该待识别目标,接收待识别目标的响应;分析响应内容,识别出其中特定的指纹元素,并将待识别目标标识、辅助参数信息和识别出的指纹元素存入网络组件信息数据库。
Description
技术领域
本发明涉及大数据及信息安全技术领域,尤其涉及一种基于互联网大数据技术的网络组件识别的方法。
背景技术
组件(Component)是对数据和方法的简单封装,在软件领域,组件是一个组装单元,它具有约定式规范的接口,以及明确的依赖环境。构建可以被独立的部署,由第三方组装。例如,C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。VCL和CLX组件是C++ Builder系统的核心。
组件是网络空间最小单元,Web应用程序、数据库、中间件等都属于组件。指纹是组件上能标识对象类型的一段特征信息,用来在互联网大数据分析环节中快速识别目标服务。互联网随时代的发展逐渐成熟,大批应用组件等产品在厂商的引导下走向互联网,这些应用程序因功能性、易用性被广大用户所采用。大部分应用组件存在足以说明当前服务名称和版本的特征,识别这些特征获取当前服务信息,从而准确分析出互联网中各个节点的角色和所发挥的功能。
发明内容
本发明的主要目的在于提出一种网络组件的识别方法,旨在解决如何如何自动高效地识别和分析互联网节点对应的角色和功能。
为实现上述目的,本发明提供的一种网络组件的识别方法,该方法主要步骤包括:
S1.网络组件识别服务器采集网络组件信息,并建立网络组件信息数据库;
S2.客户端发送识别请求至组件识别服务器,其中,该识别请求中包括了待识别对象标识和辅助参数信息;
S3.网络组件识别服务器接收识别请求,并根据待识别对象标识,查找网络组件数据库中是否存在相应信息,如果存在则执行步骤S4,否则执行步骤S5;
S4.判断待识别对象在网络组件数据库中的信息与辅助参数信息是否匹配,如果匹配则向客户端返回识别结果,否则继续执行步骤S5;
S5.根据待识别标识和辅助参数信息,建立对应的网络连接,将相应的请求发送到该待识别目标,接收待识别目标的响应;
S6.分析响应内容,识别出其中特定的指纹元素,并将待识别目标标识、辅助参数信息和识别出的指纹元素存入网络组件信息数据库。
优选地,步骤S1中网络组件识别服务器采集网络组件信息,并建立网络组件信息数据库具体包括:周期性地将预先经过人工认证的网络组件信息以CSV格式文件存放网络组件识别服务器的固定目录下,服务器以对应的周期采集该CSV文件;网络组件信息数据库中存储有采集到的网络组件信息和经识别出的网络组件信息。
优选地,步骤S2中待识别对象标识为待识别对象的IP和/或MAC地址,辅助参数信息为对应的服务端口或服务类型。
优选地,步骤S3中建立的网络连接优选为TCP或UDP链接,所述请求优选为HTTP请求。
优选地,步骤S6中的指纹元素包括端口特征、操作系统类型及版本、Web服务器类型及版本、数据库类型及版本、HTTP响应头特征、HTML特征、URL特征等。
本发明提出的网络组件识别方法,通过根据待识别标识和辅助参数信息,建立对应的网络连接,将相应的请求发送到该待识别目标,接收待识别目标的响应,分析响应内容,识别出其中特定的指纹元素,并将待识别目标标识、辅助参数信息和识别出的指纹元素存入网络组件信息数据库。
本发明的有益效果包括:(1)通过端口特征、操作系统类型及版本、Web服务器类型及版本、数据库类型及版本、HTTP响应头特征、HTML特征、URL特征可以准确标识出一个特定的互联网节点,提高了网络组件的识别准确度。(2)通过采用CS架构,由统一的服务器节点进行请求与分析,降低了众多的客户端多次请求目标网络节点获取网络组件信息的频率,既节省了系统资源,又避免了给网络节点增加过多网络负担。
附图说明
图1为本发明的方法流程图。
具体实施方式
本发明提供的网络组件的识别方法,该方法主要步骤包括:
S1.网络组件识别服务器采集网络组件信息,并建立网络组件信息数据库;
S2.客户端发送识别请求至组件识别服务器,其中,该识别请求中包括了待识别对象标识和辅助参数信息;
S3.网络组件识别服务器接收识别请求,并根据待识别对象标识,查找网络组件数据库中是否存在相应信息,如果存在则执行步骤S4,否则执行步骤S5;
S4.判断待识别对象在网络组件数据库中的信息与辅助参数信息是否匹配,如果匹配则向客户端返回识别结果,否则继续执行步骤S5;
S5.根据待识别标识和辅助参数信息,建立对应的网络连接,将相应的请求发送到该待识别目标,接收待识别目标的响应;
S6.分析响应内容,识别出其中特定的指纹元素,并将待识别目标标识、辅助参数信息和识别出的指纹元素存入网络组件信息数据库。
步骤S1中网络组件识别服务器采集网络组件信息,并建立网络组件信息数据库具体包括:周期性地将预先经过人工认证的网络组件信息以CSV格式文件存放网络组件识别服务器的固定目录下,服务器以对应的周期采集该CSV文件;网络组件信息数据库中存储有采集到的网络组件信息和经识别出的网络组件信息。
步骤S2中待识别对象标识为待识别对象的IP和/或MAC地址,辅助参数信息为对应的服务端口或服务类型。
步骤S3中建立的网络连接优选为TCP或UDP链接,所述请求优选为HTTP请求。TCP/IP协议簇通信交互,IP用来把逻辑地址分配到网络机器,TCP使用网络公认方式传送IP数据包。
网络上的通信交互均通过TCP/TP协议簇进行,操作系统也必须实现该协议。操作系统根据不同数据包做出不同反应。例如,使用java自带的socket api,socket请求192.168.1.107的mssql数据库服务,获取socket字符输出流。把hex字符转换为10进制字符,同时获取socket字符输入流进行单字节转码,生成一串16进制字符(去除后4位字符)。这串16进制字符用以识别msssql数据库版本。
步骤S6中的指纹元素包括端口特征、操作系统类型及版本、Web服务器类型及版本、数据库类型及版本、HTTP响应头特征、HTML特征、URL特征等。
部分可识别的web服务器组件和特征元素包括:AOLserver:America Online的开源Web服务器;Abyss:aprelium的Web服务器;Apache:Web服务器;Tomcat:Java应用服务器;Jetty:开源的servlet容器;LANCOM DSL Office,提供VPN连接;LiteSpeed Web Server:Web服务器;Microsoft IIS:Microsoft Windows的互联网基本服务;Netscape EnterpriseServer:企业级强大Web和应用程序服务器;OmniHTTPd:Web服务器;Oracle ApplicationServer:Oracle公司的应用服务器,它是建立新型企业应用框架的有力武器,同时也是企业构建Web系统的有力工具;Snap Appliance:用于高性能弹性环境的简单、可扩展的企业存储;Squid:高性能的代理缓存服务器;Sony SNC-RZ30 NetEVI:视频会议组件;TclHttpd:使用tcl开发的webserver,支持cgi;Virtuoso:用于数据访问,虚拟化,集成和多模型关系数据库管理的企业级解决方案;WDaemon:Web守护应用;WN Server:Web服务器;Yaws:web服务器框架;Zope:开放源代码的Web应用服务器;Zeus:高性能Web服务器软件;HTTP响应头特征,通过正则匹配HTTP响应头中的特殊字段得到HTTP响应头特征。
HTML特征,重点关注HTML标签中的 body, title 等标签的内容和属性,其中一般包括特殊的文本,能够标识出一个或一批特定的Web实体。比如在 HTML title 标签中的Powered by EmpireCMS之类,可以表明该Web组件是基于EmpireCMS构建的,从而可以确定其为基于EmpireCMS的Web服务组件。HTML 中还存在特定 class 属性的某些 div 标签,例如meta标签特征,<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词,不同的Web组件的meta元素信息一般不同。script标签特征,主要用于判断是否使用jQuery,Bootstrap等,可以标识Web组件的在开发上所采用的的技术的特征。
URL特征。某些CMS系统具有特殊的URL路径特征,比如 wordpress,有一些常见路径,通过识别特殊URL路径,可以识别出组件。
默认错误网页特征通过爬虫尝试寻找网站中的错误页面,提取错误页面中的Web服务器类型及版本、数据库类型及版本信息通过爬虫尝试寻找网站中的错误页面,例如Apache 默认404,Oracle的默认SQL错误页面等,可以识别出组件的服务器、数据库等特征信息。
Robots.txt。某些CMS会有默认的robots.txt。在robots.txt的文本中直接说明CMS名称和版本。
favicon.ico等特殊文件匹配。下载 favicon.ico 图像进行md5摘要,对比icon库是否存在相同md5的icon,或者做相似图像检索(基于SIFT,或者其他图像特征),确定互联网上或icon库中是否有相同或相似的图标信息。除了 favicon.ico 以外,还有其他logo文件可以考虑,比如Dedecms的/img/buttom_logo.gif。计算网站所使中间件或cms目录下静态文件的md5值,md5码可以唯一地代表原信息的特征。静态文件包括html、js、css、image等,建立在站点静态文件存在的情况下访问。
主机端口特征,端口特征通过提取组件开放的默认端口信息,标识出组件所提供的服务特征,主要通过对于后端DBMS的识别,如果主机对外开放DBMS的话,可以通过端口特征判断,尤其是在开放默认端口比如3306,1443,27017等,可以识别出组件所提供的服务特征。端口交互特征,主要是依靠Socket交互过程中的一些特殊字符串,来标识交互对方的组件信息。Nmap OS指纹,通过 Nmap OS指纹可以初步判断操作系统信息,该Nmap OS能够标识出组件的操作系统信息。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (5)
1.一种网络组件的识别方法,包括:
S1.网络组件识别服务器采集网络组件信息,并建立网络组件信息数据库;
S2.客户端发送识别请求至网络组件识别服务器,其中,该识别请求中包括了待识别对象标识和辅助参数信息;
S3.网络组件识别服务器接收识别请求,并根据待识别对象标识,查找网络组件信息数据库中是否存在相应信息,如果存在则执行步骤S4,否则执行步骤S5;
S4.判断待识别对象在网络组件信息数据库中的信息与辅助参数信息是否匹配,如果匹配则向客户端返回识别结果,否则继续执行步骤S5;
S5.根据待识别对象标识和辅助参数信息,建立对应的网络连接,将相应的请求发送到该待识别对象,接收待识别对象的响应;
S6.分析响应内容,识别出其中的指纹元素,并将待识别对象标识、辅助参数信息和识别出的指纹元素存入网络组件信息数据库。
2.如权利要求1所述的方法,其特征在于:步骤S1中网络组件识别服务器采集网络组件信息,并建立网络组件信息数据库具体包括:周期性地将预先经过人工认证的网络组件信息以CSV格式文件存放到网络组件识别服务器的固定目录下,服务器以对应的周期采集该CSV文件;网络组件信息数据库中存储有采集到的网络组件信息和经识别出的网络组件信息。
3.如权利要求1所述的方法,其特征在于:步骤S2中待识别对象标识为待识别对象的IP和/或MAC地址,辅助参数信息为对应的服务端口或服务类型。
4.如权利要求1所述的方法,其特征在于:步骤S6中的指纹元素包括端口特征、默认错误网页特征、HTTP响应头特征、HTML特征、URL特征。
5.如权利要求4所述的方法,其特征在于:
端口特征通过提取组件开放的默认端口信息,标识出组件所提供的服务特征;
默认错误网页特征通过爬虫尝试寻找网站中的错误页面,提取错误页面中的Web服务器类型及版本、数据库类型及版本信息;
HTTP响应头特征,通过正则匹配HTTP响应头中的特殊字段得到HTTP响应头特征;
HTML特征,从HTML标签中的 body, title,meta 标签的内容和属性中的特殊文本中提取;
URL特征提取CMS系统中具有特殊的URL路径特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010585817.5A CN111722848B (zh) | 2020-06-25 | 2020-06-25 | 一种网络组件识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010585817.5A CN111722848B (zh) | 2020-06-25 | 2020-06-25 | 一种网络组件识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111722848A CN111722848A (zh) | 2020-09-29 |
CN111722848B true CN111722848B (zh) | 2021-10-08 |
Family
ID=72568597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010585817.5A Active CN111722848B (zh) | 2020-06-25 | 2020-06-25 | 一种网络组件识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111722848B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214885B2 (en) * | 2007-05-07 | 2012-07-03 | Mocana Corporation | Managing network components using USB keys |
CN103237003B (zh) * | 2013-01-17 | 2016-04-06 | 北京印天网真科技有限公司 | 对网络中的高访问流量进行响应的方法和装置 |
US10922412B2 (en) * | 2018-01-22 | 2021-02-16 | The Boeing Company | Automatic tampering detection in networked control systems |
-
2020
- 2020-06-25 CN CN202010585817.5A patent/CN111722848B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111722848A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4437918B2 (ja) | 選択的に情報を検索しその後その情報の表示を可能にする装置および方法 | |
US9672296B2 (en) | Web server for multi-version web documents | |
US11226975B2 (en) | Method and system for implementing machine learning classifications | |
US7058644B2 (en) | Parallel tree searches for matching multiple, hierarchical data structures | |
US8751601B2 (en) | User interface that provides relevant alternative links | |
US7650317B2 (en) | Active learning framework for automatic field extraction from network traffic | |
US7827191B2 (en) | Discovering web-based multimedia using search toolbar data | |
Tyagi et al. | An algorithmic approach to data preprocessing in web usage mining | |
US11775767B1 (en) | Systems and methods for automated iterative population of responses using artificial intelligence | |
US20090125492A1 (en) | Method, apparatus and computer program for key word searching | |
US20080016147A1 (en) | Method of retrieving an appropriate search engine | |
CN114153702A (zh) | 用于在日志分析系统中实现日志解析器的方法和系统 | |
US20030120464A1 (en) | Test system for testing dynamic information returned by a web server | |
US8903887B2 (en) | Extracting web services from resources using a web services resources programming model | |
CA2812439C (en) | Building of a web corpus with the help of a reference web crawl | |
WO2006103392A1 (en) | Content adaptation | |
CN109284435B (zh) | 面向互联网的用户交互痕迹捕获、存储和检索系统及方法 | |
US20130232424A1 (en) | User operation detection system and user operation detection method | |
CN110245314A (zh) | 一种网页指纹生成方法 | |
KR19990070968A (ko) | 인터넷 자료 검색 및 데이터베이스화 방법 | |
CN111722848B (zh) | 一种网络组件识别方法 | |
CN109462649B (zh) | 一种远程文件分析方法、装置、系统及其存储介质 | |
US20150248500A1 (en) | Documentation parser | |
US11949547B2 (en) | Enhanced simple network management protocol (SNMP) connector | |
Lokeshkumar et al. | A survey on preprocessing of web log file in web usage mining to improve the quality of data |
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 |