CN106126383B - 一种日志处理方法和装置 - Google Patents
一种日志处理方法和装置 Download PDFInfo
- Publication number
- CN106126383B CN106126383B CN201610383797.7A CN201610383797A CN106126383B CN 106126383 B CN106126383 B CN 106126383B CN 201610383797 A CN201610383797 A CN 201610383797A CN 106126383 B CN106126383 B CN 106126383B
- Authority
- CN
- China
- Prior art keywords
- field
- field sequence
- identified
- node
- sequence
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种日志处理方法和装置。其中的方法包括:提取日志报文的待识别字段序列;对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;针对与所述预置字段序列不匹配的待识别字段序列,对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列。本申请实施例能够提高日志报文的识别效率。
Description
技术领域
本申请涉及网络技术领域,特别是涉及一种日志处理方法和装置。
背景技术
作为信息***的综合性管理平台,综合日志审计平台通过对网络设备、安全设备、主机和应用***产生的日志进行全面的标准化处理,可以及时发现各种安全威胁、异常行为事件。然而,随着网络技术的发展,部署在网络中的设备和应用***越来越多,很多安全产品厂商的日志格式并不相同,而且日志格式还可能随着***的更新或升级而改变,上述因素导致网络中产生的日志呈现“海量”、“异构”的特点,从而为日志的分析带来困难。
目前,综合日志审计平台通常采用代码或脚本的方式来识别异构的日志报文,而对于综合日志审计平台不能识别的日志格式,通常需要人工方式进行处理。具体地,上述人工方式的实施过程具体可以包括:首先通过抓包工具抓取综合日志审计平台未识别的日志报文;然后通过人工分析日志报文的格式,以提取日志报文的特征信息;最后根据提取的特征信息,修改代码或者脚本,使得综合日志审计平台可以识别新的日志报文格式。
可以看出,通过现有的人工方式对网络中海量未知格式的日志报文进行识别,不仅需要耗费大量的人力资源,而且人工分析以及修改代码或者脚本的操作过程较为繁琐,导致日志报文的识别效率较低。
发明内容
本申请所要解决的技术问题是提供一种日志处理方法和装置,以提高日志报文的识别效率。
为了解决上述问题,本申请公开了一种日志处理方法,包括:
提取日志报文的待识别字段序列;
对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;
针对与所述预置字段序列不匹配的待识别字段序列,对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列。
另一方面,本申请公开了一种日志处理装置,包括:
提取模块,用于提取日志报文的待识别字段序列;
匹配模块,用于对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;
新增模块,用于针对与所述预置字段序列不匹配的待识别字段序列,对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列。
与现有技术相比,本申请具有以下优点:
本申请实施例针对接收到的日志报文提取待识别字段序列,并且对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;进而在所述待识别字段序列与所述预置字段序列不匹配时,在所述字段序列树中新增识别后的字段序列。这样,在下次接收到与所述日志报文具有相同字段序列的其它日志报文时,该其它日志报文的待识别字段序列可以与字段序列树中的预置字段序列匹配成功,则可以确定匹配成功的待识别字段序列对应的日志报文为可识别的日志报文,进而可以实现新增的字段序列所对应日志报文的识别。由于本申请实施例在字段序列树中新增可识别的字段序列,故可以实现新增格式的日志报文的自动识别。从而,相对于现有技术中通过修改代码或者脚本识别新增格式的日志报文,本申请实施例能够简化日志识别的操作过程,并且可以提高日志识别的效率。
附图说明
图1是本申请其中一个实施例的一种日志处理方法的步骤流程图;
图2是本申请其中一个实施例的一种在字段序列树中加入待识别字段序列的步骤流程图;
图3是本申请的一种字段序列树的结构示意图;
图4是本申请的另一种字段序列树的结构示意图;
图5是本申请其中一个实施例的一种日志处理装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的发明构思之一在于,采用字段序列树对日志报文的待识别字段序列进行匹配,并且对于不能匹配的待识别字段序列,对其进行识别,以及在识别完成后在所述字段序列树中新增对应的预置字段序列。这样,在下次接收到与所述日志报文具有相同待识别字段序列的其它日志报文时,该待识别字段序列可以与字段序列树中的预置字段序列匹配成功,也即,可以对新增字段序列的日志报文进行识别。由此,本申请实施例只需在字段序列树中新增可识别的字段序列,就可以实现自动识别新增格式的日志报文。相对于现有技术中需要修改代码或者脚本才能识别新增格式的日志报文,本申请实施例简化了日志识别的操作过程,并且可以提高日志识别的效率。
参照图1,示出了本申请其中一个实施例的一种日志处理方法的步骤流程图。在本申请实施例中,所述日志处理方法包括:
步骤101、提取日志报文的待识别字段序列;
本申请实施例可用于对网络中部署的不同设备厂商的网络设备、安全设备、主机或者应用***产生的日志报文进行分析处理,自动识别未知日志报文的格式,相对于现有技术中需要人工识别未知日志报文的格式,本申请实施例可以节省大量的人力资源以及提高日志处理的效率。
本申请实施例对于日志报文的类型不加以限制,例如按照类型其可以包括:攻击日志、数据请求日志、查询日志等,为便于说明,本申请实施例中主要以攻击日志为例进行描述,其它类型的日志处理过程相互参照即可。
在具体应用中,在接收到日志报文时,可以提取日志报文对应的待识别字段序列,所述待识别字段序列可用于表示日志报文的字段组成的序列,通常一个日志报文可以对应一个字段序列。通过对待识别字段序列进行识别,以判定所述日志报文是否为未知日志报文。其中,所述待识别字段序列中可以包括日志报文中各字段的字段名称。
在此以syslog(***日志)标准日志协议的日志报文为例,说明待识别字段序列的提取过程。具体地,所述提取日志报文的待识别字段序列的步骤,可以包括如下子步骤:
子步骤S11、根据所述日志报文中的分段符对所述日志报文进行切分,得到所述日志报文的字段;
子步骤S12、根据所述日志报文中的分隔符对所述字段进行切分,得到字段名称;
子步骤S13、根据所述字段名称得到待识别字段序列。
在具体应用中,对于syslog标准日志协议的日志报文,日志报文中携带的日志内容通常以“字段名称+字段内容”的方式成对出现,例如,日志报文中携带的日志内容的格式可以如下:
<Tag1|分隔符|Content1|分段符|Tag2|分隔符|Content2|分段符……>
其中,Tag1、Tag2表示字段名称,Content1、Content2表示字段内容,分段符用于分隔两个字段,分隔符用于分隔一个字段中的字段名称和字段内容。在具体应用中,可以通过扫描日志报文,根据分段符对日志报文进行切分,以得到每一个字段,再根据分隔符对每一个字段进行切分,以得到字段名称和字段内容,提取每个字段的字段名称,并且将提取得到的字段名称组成字段序列。在具体应用中,大多数的日志报文通常包括分段符和分隔符,本申请实施例通过扫描分段符和分隔符来提取待识别字段序列,提取效率较高。可以理解,上述通过扫描日志报文中的分段符和分隔符来获取待识别字段序列,仅作为本申请的一种应用示例,在具体应用中,本申请实施例对于提取待识别字段序列的具体方式不加以限制。例如,对于没有分隔符和分段符的特殊日志报文,也可以通过匹配具体的字段名称来直接提取待识别字段序列。
在实际应用中,由于不同设备厂商可以采用不同格式的日志报文,也即不同厂商的日志报文可以具有不同的字段名称和字段内容,因此,提取得到的字段序列也可能不同。以攻击日志为例,参照表1,示出了本申请的一种根据标准格式的攻击日志报文提取得到的字段序列。以及参照表2,示出了本申请的一种根据厂商A的攻击日志报文提取得到的字段序列,以及参照表3,示出了本申请的一种根据厂商B的攻击日志报文提取得到的字段序列。其中,表1、表2和表3的第二行为提取的字段名称,第一行为字段名称对应的中文含义。
表1
源IP | 目的IP | 源端口 | 目的端口 | 协议类型 | 攻击名称 | 攻击级别 | 攻击时间 |
SrcIP | DstIP | SrcPort | DstPort | ProType | AtackType | Level | Time |
表2
表3
步骤102、对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;
其中,所述预置字段序列可用于表示可识别的字段序列,也即,本申请实施例可以利用树形结构保存可识别的字段序列,从而可以根据字段序列树实现对待识别字段序列的自动匹配。在具体应用中,如果所述待识别字段序列与字段序列树中的预置字段序列相匹配,则可以确定所述待识别字段序列为可识别的字段序列;否则,确定所述待识别字段序列为未识别的字段序列,则该待识别字段序列对应的日志报文为未知日志报文。
步骤103、针对与所述预置字段序列不匹配的待识别字段序列,对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列。
在所述待识别字段序列与所述预置字段序列不匹配时,可以判定所述日志报文为未知日志报文,则可以对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列。由此,下次再接收到相同格式的日志报文时,即可对该日志报文进行识别,从而可以简化识别新增格式的日志报文的操作过程,提高日志识别的效率。
在本申请的一种可选实施例中,所述针对与所述预置字段序列不匹配的待识别字段序列,对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列的步骤,具体可以包括如下子步骤:
子步骤S21、将所述与所述预置字段序列不匹配的待识别字段序列标记为未识别字段序列,并将所述未识别字段序列加入所述字段序列树中;
子步骤S22、上报所述与所述预置字段序列不匹配的待识别字段序列及其对应的日志报文,以对所述所述日志报文对应的日志类型进行识别;
子步骤S23、在识别完成后,将所述字段序列树中对应的未识别字段序列标记为预置字段序列。
具体地,在确定所述待识别字段序列与所述预置字段序列不匹配时,可以先将所述待识别字段序列加入已有的字段序列树中,并且可以对新加入的该待识别字段序列设置标志位,以标识该待识别字段序列为未识别的字段序列;然后,将该待识别字段序列以及对应的日志报文上报管理员,以使管理员可以对该日志报文对应的日志类型进行识别;例如,将该待识别字段序列以及对应的日志报文以较为显著的方式(如工单)自动通告管理员,管理员可以根据上报的日志报文识别出对应的日志类型(如攻击日志),并且将识别出的日志类型作为识别结果进行返回;依据接收到的识别结果,可以将所述字段序列树中对应的未识别字段序列的标志位修改为预置字段序列,以标识该待识别字段序列为可识别的字段序列。
可以理解,本申请实施例可以先将所述待识别字段序列标记为未识别字段序列加入字段序列树中,再对该待识别字段序列进行识别处理。或者,还可以先对未识别的待识别字段序列进行识别处理,在识别处理之后,再将该待识别字段序列标记为预置字段序列加入字段序列树中。本申请实施例对于与所述预置字段序列不匹配的待识别字段序列执行加入或者识别的先后顺序不加以限制。
在本申请实施例中,在所述待识别字段序列与所述预置字段序列相匹配时,还可以对所述待识别字段序列进行标准化处理,从而可以实现对不同格式的日志报文的统一化管理。在本申请的一种可选实施例中,所述方法还可以包括如下步骤:针对与所述预置字段序列相匹配的待识别字段序列,在所述字段序列树中查询得到所述预置字段序列对应的索引值;依据所述索引值查询标准字段序列与预置字段序列之间的映射关系;将所述待识别字段序列中与所述标准字段序列中的标准字段对应的字段替换为该标准字段。
其中,所述标准字段序列具体可以为根据标准格式的日志报文提取的字段序列。在实际应用中,由于不同设备厂商可以对应不同格式的日志报文,导致不同格式的日志报文经常无法识别,但是不同设备厂商都可以识别标准格式的日志报文,因此,本申请实施例可以建立标准字段序列与预置字段序列之间的映射关系,以在待识别字段序列为可识别的字段序列时,可以对待识别字段序列进行标准化处理,从而可以实现对不同格式的日志报文的统一化管理。
在本申请的一种应用示例中,可以存储有标准格式的攻击日志报文的字段序列与其它预置字段序列(如已识别的厂商A的攻击日志报文的字段序列)的映射关系。参照表4,示出了本申请的一种标准格式的攻击日志报文的字段序列与厂商A的攻击日志报文的预置字段序列之间的映射关系。表4中同一列表示含义相同的字段,例如第五列中厂商A的ProtocalType字段与标准字段ProType的含义相同,这样,可以根据映射关系把厂商A的攻击日志报文转换为标准字段格式进行记录,便于后续统一进行分析查找。
表4
索引1 | 标准 | SrcIP | DstIP | SrcPort | DstPort | ProType | AtackType | Level | Time |
索引2 | 厂商A | SrcIP | DstIP | SrcPort | DstType | ProtocalType | AttackName | AttL | AttTime |
在本申请实施例中,可以在所述字段序列树中每个预置字段序列的最后一个节点中保存该字段序列对应的索引值。在对待识别字段序列进行匹配时,如果在字段序列树中查找到与待识别字段序列匹配的预置字段序列时,可以通过该预置字段序列的最后一个节点获取得到该预置序列对应的索引值,通过该索引值即可在上述表4所示的映射关系中查找得到该预置字段序列,以及该预置字段序列中各字段对应的标准字段,从而可以对该待识别字段序列进行标准化处理。具体地,可以将厂商A的攻击日志报文中的每一个字段替换为对应的标准字段,使用标准字段序列的方式记录厂商A的攻击日志报文中各字段的字段内容。
在本申请实施例中,假设对厂商B的日志报文对应的待识别字段序列进行匹配后,确定厂商B的日志报文为未知日志报文,则将厂商B的日志报文对应的待识别字段序列标记为未识别字段序列加入字段序列树中,此时,可以向***管理员上报所述待识别字段序列以及厂商B的日志报文,***管理员根据厂商B的日志报文识别出对应的日志类型(如攻击日志)后,将字段序列树中对应的该未识别字段序列标记为预置字段序列,还可以建立识别后的厂商B的日志报文对应的字段序列与标准字段序列的映射关系,以及在上述表4中新增该映射关系,则可以得到表5。
表5
索引1 | 标准 | SrcIP | DstIP | SrcPort | DstPort | ProType | AtackType | Level | Time |
索引2 | 厂商A | SrcIP | DstIP | SrcPort | DstType | ProtocalType | AttackName | AttL | AttTime |
索引3 | 厂商B | SIP | DIP | Sport | Dport | PType | AttType | AttLevel | Time |
由于***管理员已经对该未识别字段序列完成了识别过程,则可以将字段序列树中对应的未识别字段序列标记为预置字段序列。在后续的应用中,若接收到厂商B的攻击日志报文时,就能够自动匹配字段序列树中对应的预置字段序列,并且自动对该日志报文进行标准化处理,转换为标准格式,从而可以实现日志报文的统一化管理,从而可以提供日志报文的管理的便利性。
在本发明的一种应用示例中,假设按照表5所示的映射关系,已将厂商A和厂商B的攻击日志报文转换为标准字段格式。在进行日志分析的过程中,假设需要统计厂商A和厂商B的攻击日志报文中的源IP地址,则只需查找字段名称SrcIP对应的字段内容,即可获取厂商A和厂商B的攻击日志报文中的源IP地址。而不用分别查询字段名称SrcIP对应的字段内容以及字段名称SIP对应的字段内容,从而可以简化查询操作。通过本发明实施例,使得原本具有不同字段格式的不同厂商的日志报文可以转换为相同的标准字段格式,在以后的日志分析、日志查找等处理过程中,可以提高日志处理效率。
综上,在本申请实施例中,首先,对接收到的日志报文提取待识别字段序列,并且对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;然后,在所述待识别字段序列与所述预置字段序列不匹配时,在所述字段序列树中新增识别后的字段序列。这样,在下次接收到与所述日志报文具有相同待识别字段序列的其它日志报文时,该字段序列可以与字段序列树中的预置字段序列匹配成功,也即,可以对新增字段序列的日志报文进行识别。由此,本申请实施例只需在字段序列树中新增可识别的字段序列,就可以实现自动识别新增格式的日志报文。相对于现有技术中需要修改代码或者脚本才能识别新增格式的日志报文,本申请实施例简化了日志识别的操作过程,并且可以提高日志识别的效率。
此外,本申请实施例还可以建立标准字段序列与预置字段序列之间的映射关系,以在日志报文为可识别的日志报文时,可以按照标准字段序列处理该日志报文,从而可以对不同设备厂商的不同格式的日志报文进行标准化处理,进而可以实现日志报文的统一化管理,以提高日志处理效率。
在本申请又一实施例中,为使本领域技术人员更清楚地理解本申请的日志处理方法,本实施例对在所述字段序列树中新增字段序列的过程进行详细说明。参照图2,示出了本申请其中一个实施例的一种在字段序列树中加入待识别字段序列的步骤流程图。在本申请实施例中,所述将所述与所述预置字段序列不匹配的待识别字段序列标记为未识别字段序列,并将所述未识别字段序列加入所述字段序列树中的步骤,具体可以包括:
步骤201、依次查找所述字段序列树的根节点的下一层节点中是否存在所述与所述预置字段序列不匹配的待识别字段序列中第一个字段对应的节点,若不存在,则执行步骤202,若存在,则执行步骤203;
步骤202、在所述根节点下新建所述第一个字段对应的节点,以及依次在新建的节点下新建下一个字段对应的节点,直到最后一个字段对应的节点建立完成;
步骤203、依次查找所述第一个字段对应的节点的下一层节点中是否存在下一个字段对应的节点;
步骤204、循环执行上述步骤,直到查找到所述与所述预置字段序列不匹配的待识别字段序列中最后一个字段对应的节点。
在本申请的一种应用示例中,假设预先在字段序列树中加入了表1所示的标准格式的字段序列,参照图3,示出了本申请的一种字段序列树的结构示意图,该字段序列树中存储有标准格式的字段序列。现接收到厂商A的攻击日志报文,通过提取得到如表2所示的待识别字段序列,且该待识别字段序列为未识别的字段序列,则将该待识别字段序列加入字段序列树具体过程可以如下:
依次查找字段序列树的根节点Root下挂的节点中是否存在字段名称SrcIP对应的节点,若不存在,则构造SrcIP节点挂在Root节点下,并在SrcIP节点下依次构造并挂接DstIP节点、SrcPort节点,直到最后一个AttTime节点。由于Root节点下已经存在SrcPort节点,则可以依次查找SrcPort节点下挂的节点中是否存在DstIP节点,由于SrcPort节点下已存在DstIP节点,则可以依次查找DstIP节点下挂的节点中是否存在ProxyIP节点,由于DstIP节点下挂的节点中不存在ProxyIP节点,则可以构造ProxyIP节点挂在DstIP节点,按照同样的步骤,可以依次构造并挂建ProtocalType节点、SrcPort节点、DstType节点、AttackName节点、AttL节点以及AttTime节点,如此可以完成将表2所示的待识别字段序列加入字段序列树的过程。参照图4,示出了本申请的另一种字段序列树的结构示意图,该字段序列树在图3的基础上,加入了表2所示的待识别字段序列。
在本申请的一种可选实施例中,所述对所述待识别字段序列与字段序列树中的预置字段序列进行匹配的步骤,具体可以包括:
依次查找字段序列树的根节点的下一层节点中是否存在所述待识别字段序列中第一个字段对应的节点,若不存在,则匹配失败;若存在,则以当前节点为根节点,遍历其下一层节点中是否存在待识别字段序列中第二个字段对应的节点,循环递归直到查找到待识别字段序列中最后一个字段对应的节点,如果最后一个字段对应的节点为叶子结点,则匹配成功;如果最后一个字段对应的节点不是叶子节点,则匹配失败。
在对所述待识别字段序列与字段序列树中的预置字段序列进行匹配时,可以采取树形结构的广度优先查找算法,从Root根节点开始,遍历Root下挂的所有节点,查找是否存在待识别字段序列中第一个字段对应的节点,如果不存在则匹配失败,如果存在则以当前节点为根节点,遍历其下挂的所有节点,查找是否存在待识别字段序列中第二个字段对应的节点,循环递归直到查找到待识别字段序列中最后一个字段对应的节点。如果此节点为叶子结点,则匹配成功,该待识别字段序列对应的日志报文为可识别的日志报文;如果此节点不是叶子结点,则匹配失败,该待识别字段序列对应的日志报文为不可识别的日志报文。
本申请实施例在对所述待识别字段序列与字段序列树中的预置字段序列进行匹配的过程中,即可完成将该待识别字段序列加入字段序列树的过程,也即,对待识别字段序列的识别和加入过程可以同步进行,从而可以进一步提高日志处理的效率。
在本申请的一种应用示例中,假设已建立的字段序列树如图4所示,此时,接收到厂商B的攻击日志报文,首先,提取得到对应的待识别字段序列如表3所示;然后,将该待识别字段序列与图4中的字段序列树中的预置字段序列进行匹配,若不匹配,则将该待识别字段序列标记为未识别字段序列加入所述字段序列树中。具体地,将厂商B的待识别字段序列标记为未识别字段序列加入所述字段序列树的步骤可以如下:
步骤S31、在根节点Root下挂的节点中查找是否存在与该待识别字段序列的第一个字段(Time)对应的节点,若不存在,执行步骤S32;否则,执行步骤S33;
步骤S32、构造Time节点挂在Root节点下,同样地,在该Time节点下依次构造并挂接该待识别字段序列中后续各字段对应的节点,执行步骤S34;
步骤S33、如果找到第一个字段(Time)对应的节点,则以该节点为根节点继续在其下挂的节点中查找是否存在与该待识别字段序列的第二个字段(SIP)对应的节点,依次循环,直到找不到该待识别字段序列中字段对应的节点,此时在当前根节点下构造并挂接该字段对应的节点,以及该字段后的所有后续字段对应的节点,执行步骤S34;
步骤S34:将加入的所述待识别字段序列标记为未识别字段序列。
具体地,可以在新增的待识别字段序列中最后一个字段对应的节点中设置未识别标记,以标识该字段序列为未识别字段序列。
综上,本申请实施例针对与所述预置字段序列不匹配的待识别字段序列,对其进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列,只需在字段序列树中新增可识别的字段序列,就可以实现自动识别新增格式的日志报文。本申请实施例采用树形结构完成对待识别字段序列的匹配以及加入过程,由于树形结构具有***和查找速度快的特点,因此,本发明实施例可以提高对未知报文的识别速度,以及提高新增可识别的字段序列的速度,从而可以进一步提高日志报文的识别效率。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。
参照图5,示出了本申请其中一个实施例的一种日志处理装置的结构框图。在本申请实施例中,所述日志处理装置包括:
提取模块501,用于提取日志报文的待识别字段序列;
匹配模块502,用于对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;
新增模块503,用于针对与所述预置字段序列不匹配的待识别字段序列,对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列。
在本申请的一种可选实施例中,所述新增模块503,具体可以包括:
加入子模块,用于将所述与所述预置字段序列不匹配的待识别字段序列标记为未识别字段序列,并将所述未识别字段序列加入所述字段序列树中;
上报子模块,用于上报所述与所述预置字段序列不匹配的待识别字段序列及其对应的日志报文,以对所述日志报文对应的日志类型进行识别;
设置子模块,用于在识别完成后,将所述字段序列树中对应的未识别字段序列标记为预置字段序列。
在本发明的另一种可选实施例中,所述加入子模块,具体可以包括:
第一查找单元,用于依次查找所述字段序列树的根节点的下一层节点中是否存在所述与所述预置字段序列不匹配的待识别字段序列中第一个字段对应的节点,若不存在,则在所述根节点下新建所述第一个字段对应的节点,以及依次在新建的节点下新建下一个字段对应的节点,直到最后一个字段对应的节点建立完成;
第二查找单元,用于若所述根节点的下一层节点中存在所述第一个字段对应的节点,则依次查找所述第一个字段对应的节点的下一层节点中是否存在下一个字段对应的节点;
第三查找单元,用于循环执行上述步骤,直到查找到所述与所述预置字段序列不匹配的待识别字段序列中最后一个字段对应的节点。
在本发明的又一种可选实施例中,所述匹配模块602,具体可以包括:
匹配子模块,用于依次查找字段序列树的根节点的下一层节点中是否存在所述待识别字段序列中第一个字段对应的节点,若不存在,则匹配失败;若存在,则以当前节点为根节点,遍历其下一层节点中是否存在待识别字段序列中第二个字段对应的节点,循环递归直到查找到待识别字段序列中最后一个字段对应的节点,如果最后一个字段对应的节点为叶子结点,则匹配成功;如果最后一个字段对应的节点不是叶子节点,则匹配失败。
在本发明的再一种可选实施例中,所述提取模块601,具体可以包括:
第一切分子模块,用于根据所述日志报文中的分段符对所述日志报文进行切分,得到所述日志报文的字段;
第二切分子模块,用于根据所述日志报文中的分隔符对所述字段进行切分,得到字段名称;
获取子模块,用于根据所述字段名称得到待识别字段序列。
在本发明的再一种可选实施例中,所述装置还可以包括:
索引查询模块,用于针对与所述预置字段序列相匹配的待识别字段序列,在所述字段序列树中查询得到所述预置字段序列对应的索引值;
标准字段查找模块,用于依据所述索引值查询标准字段序列与预置字段序列之间的映射关系;
标准字段替换模块,用于将所述待识别字段序列中与所述标准字段序列中的标准字段对应的字段替换为该标准字段。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上对本申请所提供的一种日志处理方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种日志处理方法,其特征在于,包括:
提取日志报文的待识别字段序列;
对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;
针对与所述预置字段序列不匹配的待识别字段序列,对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列;包括:将所述与所述预置字段序列不匹配的待识别字段序列标记为未识别字段序列,并将所述未识别字段序列加入所述字段序列树中;上报所述与所述预置字段序列不匹配的待识别字段序列及其对应的日志报文,以对所述日志报文对应的日志类型进行识别;在识别完成后,将所述字段序列树中对应的未识别字段序列标记为预置字段序列。
2.根据权利要求1所述的方法,其特征在于,所述将所述与所述预置字段序列不匹配的待识别字段序列标记为未识别字段序列,并将所述未识别字段序列加入所述字段序列树中的步骤,包括:
依次查找所述字段序列树的根节点的下一层节点中是否存在所述与所述预置字段序列不匹配的待识别字段序列中第一个字段对应的节点,若不存在,则在所述根节点下新建所述第一个字段对应的节点,以及依次在新建的节点下新建下一个字段对应的节点,直到最后一个字段对应的节点建立完成;
若所述根节点的下一层节点中存在所述第一个字段对应的节点,则依次查找所述第一个字段对应的节点的下一层节点中是否存在下一个字段对应的节点;
循环执行上述步骤,直到查找到所述与所述预置字段序列不匹配的待识别字段序列中最后一个字段对应的节点。
3.根据权利要求1所述的方法,其特征在于,所述对所述待识别字段序列与字段序列树中的预置字段序列进行匹配的步骤,包括:
依次查找字段序列树的根节点的下一层节点中是否存在所述待识别字段序列中第一个字段对应的节点,若不存在,则匹配失败;若存在,则以当前节点为根节点,遍历其下一层节点中是否存在待识别字段序列中第二个字段对应的节点,循环递归直到查找到待识别字段序列中最后一个字段对应的节点,如果最后一个字段对应的节点为叶子结点,则匹配成功;如果最后一个字段对应的节点不是叶子节点,则匹配失败。
4.根据权利要求1所述的方法,其特征在于,所述提取日志报文的待识别字段序列的步骤,包括:
根据所述日志报文中的分段符对所述日志报文进行切分,得到所述日志报文的字段;
根据所述日志报文中的分隔符对所述字段进行切分,得到字段名称;
根据所述字段名称得到待识别字段序列。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述方法还包括:
针对与所述预置字段序列相匹配的待识别字段序列,在所述字段序列树中查询得到所述预置字段序列对应的索引值;
依据所述索引值查询标准字段序列与预置字段序列之间的映射关系;
将所述待识别字段序列中与所述标准字段序列中的标准字段对应的字段替换为该标准字段。
6.一种日志处理装置,其特征在于,包括:
提取模块,用于提取日志报文的待识别字段序列;
匹配模块,用于对所述待识别字段序列与字段序列树中的预置字段序列进行匹配;
新增模块,用于针对与所述预置字段序列不匹配的待识别字段序列,对所述日志报文对应的日志类型进行识别,并在识别完成后在所述字段序列树中新增对应的预置字段序列;
其中,所述新增模块,包括:加入子模块,用于将所述与所述预置字段序列不匹配的待识别字段序列标记为未识别字段序列,并将所述未识别字段序列加入所述字段序列树中;上报子模块,用于上报所述与所述预置字段序列不匹配的待识别字段序列及其对应的日志报文,以对所述日志报文对应的日志类型进行识别;设置子模块,用于在识别完成后,将所述字段序列树中对应的未识别字段序列标记为预置字段序列。
7.根据权利要求6所述的装置,其特征在于,所述加入子模块,包括:
第一查找单元,用于依次查找所述字段序列树的根节点的下一层节点中是否存在所述与所述预置字段序列不匹配的待识别字段序列中第一个字段对应的节点,若不存在,则在所述根节点下新建所述第一个字段对应的节点,以及依次在新建的节点下新建下一个字段对应的节点,直到最后一个字段对应的节点建立完成;
第二查找单元,用于若所述根节点的下一层节点中存在所述第一个字段对应的节点,则依次查找所述第一个字段对应的节点的下一层节点中是否存在下一个字段对应的节点;
第三查找单元,用于循环执行上述第一查找单元和第二查找单元,直到查找到所述与所述预置字段序列不匹配的待识别字段序列中最后一个字段对应的节点。
8.根据权利要求6所述的装置,其特征在于,所述匹配模块,包括:
匹配子模块,用于依次查找字段序列树的根节点的下一层节点中是否存在所述待识别字段序列中第一个字段对应的节点,若不存在,则匹配失败;若存在,则以当前节点为根节点,遍历其下一层节点中是否存在待识别字段序列中第二个字段对应的节点,循环递归直到查找到待识别字段序列中最后一个字段对应的节点,如果最后一个字段对应的节点为叶子结点,则匹配成功;如果最后一个字段对应的节点不是叶子节点,则匹配失败。
9.根据权利要求6所述的装置,其特征在于,所述提取模块,包括:
第一切分子模块,用于根据所述日志报文中的分段符对所述日志报文进行切分,得到所述日志报文的字段;
第二切分子模块,用于根据所述日志报文中的分隔符对所述字段进行切分,得到字段名称;
获取子模块,用于根据所述字段名称得到待识别字段序列。
10.根据权利要求6至9中任一所述的装置,其特征在于,所述装置还包括:
索引查询模块,用于针对与所述预置字段序列相匹配的待识别字段序列,在所述字段序列树中查询得到所述预置字段序列对应的索引值;
标准字段查找模块,用于依据所述索引值查询标准字段序列与预置字段序列之间的映射关系;
标准字段替换模块,用于将所述待识别字段序列中与所述标准字段序列中的标准字段对应的字段替换为该标准字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610383797.7A CN106126383B (zh) | 2016-06-01 | 2016-06-01 | 一种日志处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610383797.7A CN106126383B (zh) | 2016-06-01 | 2016-06-01 | 一种日志处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106126383A CN106126383A (zh) | 2016-11-16 |
CN106126383B true CN106126383B (zh) | 2019-03-19 |
Family
ID=57270616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610383797.7A Active CN106126383B (zh) | 2016-06-01 | 2016-06-01 | 一种日志处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126383B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901978A (zh) * | 2017-12-08 | 2019-06-18 | 航天信息股份有限公司 | 一种Hadoop日志无损压缩方法和*** |
CN108173716B (zh) * | 2018-01-09 | 2020-03-17 | 北京知道创宇信息技术股份有限公司 | 一种识别网络设备厂商的方法和计算设备 |
CN111045902A (zh) * | 2018-10-10 | 2020-04-21 | ***通信集团浙江有限公司 | 服务器的压力测试方法及装置 |
CN109510821B (zh) * | 2018-11-07 | 2021-02-26 | 杭州迪普科技股份有限公司 | 一种报文处理方法及装置 |
CN112702445B (zh) * | 2019-10-23 | 2023-04-07 | 中盈优创资讯科技有限公司 | 基于dns响应数据报文的递归日志提取方法及装置 |
CN111581220A (zh) * | 2020-05-28 | 2020-08-25 | 泰康保险集团股份有限公司 | 用于时间序列数据的存储及检索方法、装置、设备及存储介质 |
CN111782621B (zh) * | 2020-06-30 | 2023-12-22 | 中国民航信息网络股份有限公司 | 一种业务应用日志处理方法及装置 |
CN114153980A (zh) * | 2020-09-07 | 2022-03-08 | 中兴通讯股份有限公司 | 知识图谱构建方法和装置、检查方法、存储介质 |
CN113472791B (zh) * | 2021-06-30 | 2023-07-14 | 深信服科技股份有限公司 | 一种攻击检测方法、装置、电子设备及可读存储介质 |
CN115484112B (zh) * | 2022-09-29 | 2023-05-09 | 重庆葵林信息科技有限公司 | 支付大数据安全防护方法、***及云平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931562A (zh) * | 2010-09-29 | 2010-12-29 | 杭州华三通信技术有限公司 | 网络日志的处理方法及设备 |
CN104573024A (zh) * | 2015-01-12 | 2015-04-29 | 国家电网公司 | 一种复杂网络体系下异构安全日志信息的自适应提取方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472135B2 (en) * | 2002-10-18 | 2008-12-30 | Nokia Corporation | Method and system for recalling details regarding past events |
-
2016
- 2016-06-01 CN CN201610383797.7A patent/CN106126383B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931562A (zh) * | 2010-09-29 | 2010-12-29 | 杭州华三通信技术有限公司 | 网络日志的处理方法及设备 |
CN104573024A (zh) * | 2015-01-12 | 2015-04-29 | 国家电网公司 | 一种复杂网络体系下异构安全日志信息的自适应提取方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN106126383A (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106126383B (zh) | 一种日志处理方法和装置 | |
US9686162B2 (en) | Identifying configuration inconsistency in edge-based software defined networks (SDN) | |
US10452703B2 (en) | Using ontologies to comprehend regular expressions | |
US9860180B2 (en) | Multi-level flow table search method and apparatus | |
US8914320B2 (en) | Graph generation method for graph-based search | |
TW201814565A (zh) | Sql審核方法和裝置 | |
EP2924943A1 (en) | Virus detection method and device | |
RU2015156608A (ru) | Сетевое устройство и способ управления процессом службы | |
CN105591914B (zh) | 一种openflow流表的查表方法和装置 | |
JP6174520B2 (ja) | 悪性通信パターン検知装置、悪性通信パターン検知方法、および、悪性通信パターン検知プログラム | |
US9009782B2 (en) | Steering traffic among multiple network services using a centralized dispatcher | |
CN110245273B (zh) | 一种获取app业务特征库的方法及相应的装置 | |
WO2020134311A1 (zh) | 一种恶意软件检测方法和装置 | |
US20180020014A1 (en) | Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method, and malicious communication pattern extraction program | |
CN113825129A (zh) | 一种5g网络环境下工业互联网资产测绘方法 | |
CN111177481B (zh) | 用户标识映射方法及装置 | |
CN103440454B (zh) | 一种基于搜索引擎关键词的主动式蜜罐检测方法 | |
CN110830416A (zh) | 网络入侵检测方法和装置 | |
KR20200061699A (ko) | 멀티레이어로 구성된 os 핑거프린트 룰에 기반한 운영체제 식별 방법 및 그 장치 | |
CN110995489B (zh) | 大数据平台服务器管理方法、装置、服务器及存储介质 | |
RU2569573C1 (ru) | Способ и устройство для формирования сервиса сквозной передачи данных | |
CN114285624B (zh) | 攻击报文识别方法、装置、网络设备和存储介质 | |
CN111200666A (zh) | 用于识别访问域名的方法和*** | |
US10936241B2 (en) | Method, apparatus, and computer program product for managing datasets | |
JP6429755B2 (ja) | 相互関連イベント抽出プログラム、装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou science and Technology Development Zone, Zhejiang high tech park, No. six and road, No. 310 Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |