一种自动拆分IPS事件的方法、系统及服务器转让专利

申请号 : CN202111515095.7

文献号 : CN114328190B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尹志勇

申请人 : 北京安博通科技股份有限公司

摘要 :

本申请提供一种自动拆分IPS事件的方法、系统及服务器。该方法包括:获取csv文件和pcap文件;提取第一会话信息,所述第一会话信息为csv文件中的会话信息;根据第一会话信息创建会话信息字典和IPS事件拆分文件;提取第二会话信息以及对应的事件数据包,所述第二会话信息为pcap文件中的会话信息;判断第二会话信息是否在会话信息字典中;如果在会话信息字典中,则将第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与第二会话信息对应的IPS事件拆分文件。本申请提供的方法,根据会话信息可以实现对IPS事件的自动拆分,无需人工选择操作,提高了IPS事件拆分效率。

权利要求 :

1.一种自动拆分IPS事件的方法,其特征在于,包括:

获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;

提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;

根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;

解析所述pcap文件,判断所述pcap文件是否包括数据链路层,去除不存在所述数据链路层的pcap文件;

在存在所述数据链路层的pcap文件中,提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;

获取所述第一会话信息的集合;

遍历所述第一会话信息的集合,判断是否存在与所述第二会话信息相同的所述第一会话信息;

如果存在与所述第二会话信息相同的所述第一会话信息,则确定所述第二会话信息在所述会话信息字典中;

将所述会话信息字典中的所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。

2.根据权利要求1所述的方法,其特征在于,还包括:

根据所述csv文件提取事件名称,所述事件名称与所述第一会话信息一一对应。

3.根据权利要求2所述的方法,其特征在于,所述IPS事件拆分文件的名称设置为所述第一会话信息和/或与所述第一会话信息对应的所述事件名称。

4.根据权利要求2所述的方法,其特征在于,还包括:

获取所述事件名称;

判断所述事件名称中是否包括cve关键词;

如果所述事件名称中包括所述cve关键词,则所述IPS事件拆分文件的名称设置为所述第一会话信息和/或所述cve关键词。

5.根据权利要求1所述的方法,其特征在于,所述判断所述第二会话信息是否在所述会话信息字典中的步骤之前还包括:获取所述pcap文件的传输层;

判断所述传输层是否为TCP协议或者UDP协议;

如果所述传输层是所述TCP协议或者所述UDP协议,则判断所述第二会话信息是否在所述会话信息字典中。

6.根据权利要求5所述的方法,其特征在于,所述第二会话信息包括:源端口和目的端口;所述判断所述传输层是否为TCP协议或者UDP协议的步骤之后还包括:如果所述传输层不是所述TCP协议或者所述UDP协议,则将所述第二会话信息中的源端口和目的端口设置为0。

7.一种自动拆分IPS事件的系统,其特征在于,包括:

获取模块,用于获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;

第一提取模块,用于提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;

创建模块,用于根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;

第二提取模块,用于解析所述pcap文件,判断所述pcap文件是否包括数据链路层,去除不存在所述数据链路层的pcap文件,在存在所述数据链路层的pcap文件中,提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;

判断模块,用于获取所述第一会话信息的集合,遍历所述第一会话信息的集合,判断是否存在与所述第二会话信息相同的所述第一会话信息,如果存在与所述第二会话信息相同的所述第一会话信息,则确定所述第二会话信息在所述会话信息字典中;

写入模块,用于将所述会话信息字典中的所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。

8.一种自动拆分IPS事件的服务器,其特征在于,包括存储器和处理器,所述存储器用于存储程序指令,所述处理器用于通过运行所述程序指令,以执行下述步骤:获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;

提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;

根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;

解析所述pcap文件,判断所述pcap文件是否包括数据链路层,去除不存在所述数据链路层的pcap文件,在存在所述数据链路层的pcap文件中,提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;

获取所述第一会话信息的集合;

遍历所述第一会话信息的集合,判断是否存在与所述第二会话信息相同的所述第一会话信息;

如果存在与所述第二会话信息相同的所述第一会话信息,则确定所述第二会话信息在所述会话信息字典中;

将所述会话信息字典中的所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。

说明书 :

一种自动拆分IPS事件的方法、系统及服务器

技术领域

[0001] 本申请涉及设备性能测试技术领域,尤其涉及一种自动拆分IPS事件的方法、系统及服务器。

背景技术

[0002] 在对应用软件进行性能测试时,测试人员通过测试装置可以获取测试报文文件,根据测试报文文件可以进行性能分析和验证。例如,在对应用软件进行安全性能测试时,获取的测试报文文件中包括多个入侵预防系统(Intrusion Prevension System,IPS)事件,测试人员根据需求需要对测试报文文件中的多个IPS事件进行拆分,从中选取指定的IPS事件进行分析。
[0003] 目前,通常采用测试人员根据会话信息手动选择的方式对IPS事件进行拆分。但是,如果获取的测试报文文件较大,通过测试人员手动拆分IPS事件,会消耗大量的人力和时间,导致IPS事件拆分的效率降低。

发明内容

[0004] 本申请提供了一种自动拆分IPS事件的方法、系统及服务器。以解决现有的手动拆分IPS事件的方法,会消耗大量的人力和时间,导致IPS事件拆分效率低的问题。
[0005] 第一方面,本申请提供一种自动拆分IPS事件的方法,包括:
[0006] 获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;
[0007] 提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;
[0008] 根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;
[0009] 提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;
[0010] 判断所述第二会话信息是否在所述会话信息字典中;
[0011] 如果所述第二会话信息在所述会话信息字典中,则将所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。
[0012] 结合第一方面,在一种可能的实现方式中,在所述提取第二会话信息以及与所述第二会话信息对应的事件数据包的步骤之前还包括:
[0013] 判断所述pcap文件是否包括数据链路层;
[0014] 如果所述pcap文件包括所述数据链路层,则提取所述第二会话信息和所述事件数据包。
[0015] 结合第一方面,在一种可能的实现方式中,所述判断所述第二会话信息是否在所述会话信息字典中的方法包括:
[0016] 获取所述第二会话信息和所述第一会话信息的集合;
[0017] 遍历所述第一会话信息的集合,判断是否存在与所述第二会话信息相同的所述第一会话信息;
[0018] 如果存在与所述第二会话信息相同的所述第一会话信息,则所述第二会话信息在所述会话信息字典中。
[0019] 结合第一方面,在一种可能的实现方式中,所述方法还包括:
[0020] 根据所述csv文件提取事件名称,所述事件名称与所述第一会话信息一一对应。
[0021] 结合第一方面,在一种可能的实现方式中,所述IPS事件拆分文件的名称设置为所述第一会话信息和/或与所述第一会话信息对应的所述事件名称。
[0022] 结合第一方面,在一种可能的实现方式中,所述方法还包括:
[0023] 获取所述事件名称;
[0024] 判断所述事件名称中是否包括cve关键词;
[0025] 如果所述事件名称中包括所述cve关键词,则所述IPS事件拆分文件的名称设置为所述第一会话信息和/或所述cve关键词。
[0026] 结合第一方面,在一种可能的实现方式中,所述判断所述第二会话信息是否在所述会话信息字典中的步骤之前还包括:
[0027] 获取所述pcap文件的传输层;
[0028] 判断所述传输层是否为TCP协议或者UDP协议;
[0029] 如果所述传输层是所述TCP协议或者所述UDP协议,则判断所述第二会话信息是否在所述会话信息字典中。
[0030] 结合第一方面,在一种可能的实现方式中,所述第二会话信息包括:源端口和目的端口;所述判断所述传输层是否为TCP协议或者UDP协议的步骤之后还包括:
[0031] 如果所述传输层不是所述TCP协议或者所述UDP协议,则将所述第二会话信息中的源端口和目的端口设置为0。
[0032] 第二方面,本申请还提供一种自动拆分IPS事件的系统,包括:
[0033] 获取模块,用于获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;
[0034] 第一提取模块,用于提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;
[0035] 创建模块,用于根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;
[0036] 第二提取模块,用于提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;
[0037] 判断模块,用于判断所述第二会话信息是否在所述会话信息字典中;
[0038] 写入模块,用于如果所述第二会话信息在所述会话信息字典中,则将所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。
[0039] 第三方面,本申请还提供一种自动拆分IPS事件的服务器,包括存储器和处理器,所述存储器用于存储程序指令,所述处理器用于通过运行所述程序指令,以执行下述步骤:
[0040] 获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;
[0041] 提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;
[0042] 根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;
[0043] 提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;
[0044] 判断所述第二会话信息是否在所述会话信息字典中;
[0045] 如果所述第二会话信息在所述会话信息字典中,则将所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。
[0046] 由以上技术方案可知,本申请提供一种自动拆分IPS事件的方法、系统及服务器。该方法包括:获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;判断所述第二会话信息是否在所述会话信息字典中;如果所述第二会话信息在所述会话信息字典中,则将所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。本申请提供的方法,首先,根据csv文件的第一会话信息建立会话信息字典和IPS事件拆分文件。然后,判断pcap文件中的第二会话信息是否在会话信息字典中,如果在会话信息字典中,则将该第二会话信息对应的应的事件数据包添加到IPS事件拆分文件中。这样,根据会话信息可以实现对IPS事件的自动拆分,无需人工选择操作,提高了IPS事件拆分效率。

附图说明

[0047] 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048] 图1为本申请实施例提供的一种自动拆分IPS事件的方法流程图;
[0049] 图2为本申请实施例提供的一种IPS事件拆分文件命名的方法流程图;
[0050] 图3为本申请实施例提供的一种判断pcap文件传输层的方法流程图;
[0051] 图4为本申请实施例提供的一种自动拆分IPS事件系统的结构示意图;
[0052] 图5为本申请实施例提供的一种自动拆分IPS事件服务器的结构示意图。

具体实施方式

[0053] 下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
[0054] 在对应用软件进行性能测试时,测试人员通过测试装置可以获取测试报文文件,根据测试报文文件可以进行性能分析和验证。例如,在对应用软件进行安全性能测试时,获取的测试报文文件中包括多个入侵预防系统(Intrusion Prevension System,IPS)事件,测试人员根据需求需要对测试报文文件中的多个IPS事件进行拆分,从中选取指定的IPS事件进行分析。
[0055] 目前,通常采用测试人员根据会话信息手动选择的方式对IPS事件进行拆分。但是,如果获取的测试报文文件较大,通过测试人员手动拆分IPS事件,会消耗大量的人力和时间,导致IPS事件拆分的效率降低。
[0056] 基于上述问题,本申请提供了一种自动拆分IPS事件的方法、系统及服务器。以解决现有的手动拆分IPS事件的方法,会消耗大量的人力和时间,导致IPS事件拆分效率低的问题。
[0057] 第一方面,本申请提供一种自动拆分IPS事件的方法,请参阅图1,图1为本申请实施例提供的一种自动拆分IPS事件的方法流程图,如图1所示,该方法包括以下步骤S101‑S106:
[0058] S101:获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包。
[0059] 在本实施例中,首先获取待拆分的原始报文文件,该原始报文文件中包括csv文件和pcap文件。其中,csv(comma‑separated values,字符分隔值)文件是纯文本形式存储表格数据(数字和文本)。csv文件是一个字符序列,不含必须像二进制数字那样被解读的数据。csv文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。pcap(packet capture,捕获数据包)文件是一种常用的数据报存储文件,pcap文件中的数据是按照特定格式存储的,如果要解析里面的数据,也必须按照一定的格式。pcap文件的总体结构通常为:文件头‑数据包头1‑数据包1‑数据包头2‑数据包2等形式。
[0060] 本申请实施例中,csv文件用于记录IPS事件的会话信息和事件名称,pcap文件用于记录IPS事件的会话信息和事件数据包。因此,csv文件和pcap文件之间可以通过会话信息建立连接。其中,会话是指一个终端用户与交互系统进行通讯的过程。会话信息记录了一个会话通讯双方的信息以及传输协议,具体包括:源IP地址,源端口,目的IP地址,目的端口和传输层协议。
[0061] 示例的,本实施例中可以通过parser函数从原始报文文件中提取指定的csv文件和pcap文件,具体实现的相关代码如下:
[0062]
[0063] S102:提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息。
[0064] 在本实施例中,首先提取所述csv文件中的会话信息,即为第一会话信息。所述第一会话信息用于创建会话信息字典。示例的,本实施例中可以通过open函数来实现打开csv文件并将csv文件的内容存入到列表中,以此提取第一会话信息,具体实现的相关代码如下:
[0065]
[0066]
[0067] S103:根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应。
[0068] 在本实施例中,根据第一会话信息创建会话信息字典,会话信息字典为所述第一会话信息的集合,即包括了csv文件中的所有第一会话信息。所述会话信息字典用于判断pcap文件中是否包括相同的会话信息,以提取pcap文件中与会话信息对应的时间数据包。以所述第一会话信息的内容为名称建立IPS事件拆分文件,所述IPS事件拆分文件的名称与所述第一会话信息一一对应,即每一个第一会话信息对应一个IPS事件拆分文件。以第一会话信息的内容命名IPS事件拆分文件的方式,便于直观的对IPS事件拆分文件进行区分。
[0069] 在一种可能的实现方式中,所述方法还包括:根据所述csv文件提取事件名称,所述事件名称与所述第一会话信息一一对应。
[0070] 在本实施例中,还可以从csv文件中与所述第一会话信息一一对应的事件名称,所述事件名称为IPS事件的名称,所述事件名称可以用于命名IPS事件拆分文件。
[0071] 在一种可能的实现方式中,所述IPS事件拆分文件的名称设置为所述第一会话信息和/或与所述第一会话信息对应的所述事件名称。
[0072] 在本实施例中,当从csv文件中提取到第一会话信息和对应的事件名称后,IPS事件拆分文件的名称可以设置为第一会话信息,或者,事件名称,或者,第一会话信息和事件名称。通过上述的命名方式均可以有效的识别和区分IPS事件拆分文件,用户可以根据实际的需求设置IPS事件拆分文件的名称。
[0073] 在一种可能的实现方式中,请参阅图2,图2为本申请实施例提供的一种IPS事件拆分文件命名的方法流程图,如图2所示,所述方法还包括:
[0074] S201:获取所述事件名称。
[0075] S202:判断所述事件名称中是否包括cve关键词。
[0076] S203:如果所述事件名称中包括所述cve关键词,则所述IPS事件拆分文件的名称设置为所述第一会话信息和/或所述cve关键词。
[0077] 在本实施例中,所述事件名称中通常会包括cve(common vulnerabilities exposures,通用漏洞披露)关键词。因此,还可以判断事件名称中是否包括cve关键词,如果包括cve关键词,则可以以cve关键词命名所述IPS事件拆分文件。
[0078] 示例的,上述步骤S301‑S303具体实现的相关代码如下:
[0079]
[0080]
[0081]
[0082] S104:提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息。
[0083] 在本实施例中,从pcap文件中提取第二会话信息以及与对应的事件数据包,通过判断所述第二会话信息是否在会话信息字典中,可以使pcap文件与csv文件建立相应联系,以准确的找到csv文件中第一会话信息对应的事件数据包,实现对IPS事件的拆分。
[0084] 示例的,本实施例中可以通过scapy函数来捕获并解析指定的pcap文件,具体实现的相关代码如下:
[0085]
[0086] S105:判断所述第二会话信息是否在所述会话信息字典中。
[0087] 在本实施例中,所述会话信息字典包括第一会话信息的集合,判断第二会话信息是否在所述会话信息字典中,即判断是否有与第二会话信息相同的第一会话信息。如果有相同的第一会话信息,则说明第二会话信息在所述会话信息字典中。通过这样的方式,可以建立第一会话信息与第二会话信息对应的事件数据包的映射关系,以便于准确地对IPS事件进行拆分。
[0088] 在一种可能的实现方式中,上述步骤S105具体可以通过以下步骤S301‑S303实现:
[0089] S301:获取所述第二会话信息和所述第一会话信息的集合。
[0090] S302:遍历所述第一会话信息的集合,判断是否存在与所述第二会话信息相同的所述第一会话信息。
[0091] S303:如果存在与所述第二会话信息相同的所述第一会话信息,则所述第二会话信息在所述会话信息字典中。
[0092] 在本实施例中,首先,获取从pcap文件中提取的第二会话信息,以及会话信息字典中第一会话信息的集合。然后,遍历第一会话信息的集合,查找是否存在与第二会话信息相同的第一会话信息。例如,会话信息中的源IP地址,源端口,目的IP地址,目的端口和传输层协议均相同。如果在所述会话信息字典里存在与第二会话信息相同的第一会话信息,则说明所述第二会话信息在所述会话信息字典中。
[0093] S106:如果所述第二会话信息在所述会话信息字典中,则将所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。
[0094] 在本实施例中,如果所述第二会话信息在所述会话信息字典中,则根据所述第二会话信息找到其对应的事件数据包,将该事件数据包添加到目标IPS事件拆分文件。由于第二会话信息在所述会话信息字典中,因此,可以找到与第二会话信息对应的第一会话信息,根据第二会话信息找到对应的IPS事件拆分文件,该IPS事件拆分文件即为目标IPS事件拆分文件,即第二会话信息对应的IPS事件拆分文件。通过上述方法可以将不同IPS事件数据包添加到对应的IPS事件拆分文件中,生成多个IPS事件拆分文件,从而实现对IPS事件的拆分。
[0095] 在一种可能的实现方式中,在步骤S104,提取第二会话信息以及与所述第二会话信息对应的事件数据包之前还包括:
[0096] S401:判断所述pcap文件是否包括数据链路层。
[0097] S402:如果所述pcap文件包括所述数据链路层,则提取所述第二会话信息和所述事件数据包。
[0098] 在本实施例中,数据链路层定义了在单个链路上如何传输数据,数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。因此,如果pcap文件中包括数据链路层,则说明存在数据传输,pcap文件中存在事件数据包,可以进行进一步的处理。如果pcap文件中不包括数据链路层,则说明不存在数据传输,即不具有事件数据包,无需对该pcap文件处理,这样可以降低IPS事件拆分的工作量,提高IPS事件拆分的效率。
[0099] 示例的,本实施例中可以通过handle函数,进行pcap文件解析过滤,去除不存在数据链路层的pcap文件,具体实现的相关代码如下:
[0100]
[0101]
[0102] 在一种可能的实现方式中,请参阅图3,图3为本申请实施例提供的一种判断pcap文件传输层的方法流程图,如图3所示,在步骤S105,判断所述第二会话信息是否在所述会话信息字典中之前还包括:
[0103] S501:获取所述pcap文件的传输层。
[0104] 在本实施例中,所述pcap文件的传输层是建立、管理和维护端到端的连接,可以向用户提供可靠的端到端服务,透明地传送报文。传输层可以使用多种传输协议,例如,TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据包协议)等。
[0105] S502:判断所述传输层是否为TCP协议或者UDP协议。
[0106] TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。TCP协议旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP协议提供可靠的通信服务。原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。UDP协议为应用程序提供了一种无需建立连接就可以发送封装的IP数据包的方法。Internet的传输层有两个主要协议,互为补充。面向连接的是TCP协议,无连接的是UDP协议,UDP协议用于实现给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议。本实施例中,通过判断传输层是否为TCP协议或者UDP协议,以确定是否能使用第二会话信息判断其是否在会话信息字典中。
[0107] S503:如果所述传输层是所述TCP协议或者所述UDP协议,则判断所述第二会话信息是否在所述会话信息字典中。
[0108] 在本实施例中,由csv文件中提取的第一会话信息中包括:源IP地址,源端口,目的IP地址,目的端口和传输层协议。而由pcap文件提取的第二会话信息,如果其传输层协议为TCP协议或者UDP协议,则第二会话信会包括源IP地址,源端口,目的IP地址,目的端口的信息,可以与会话信息字典中的第一会话信息进行对比,判断所述第二会话信息是否在所述会话信息字典中。
[0109] S504:如果所述传输层不是所述TCP协议或者所述UDP协议,则将所述第二会话信息中的源端口和目的端口设置为0。
[0110] 在本实施例中,由pcap文件提取的第二会话信息,如果其传输层协议不是TCP协议或者UDP协议,则第二会话信会中将不包括源端口和目的端口的信息,这样就无法与会话信息字典中的第一会话信息进行对比。因此,可以将第二会话信息中的源端口和目的端口设置为0,以便于判断所述第二会话信息是否在所述会话信息字典中。
[0111] 示例的,以数据链路层为ipv4为例,上述步骤S501‑S504具体实现的相关代码如下:
[0112]
[0113]
[0114] 第二方面,本申请还提供一种自动拆分IPS事件的系统,请参阅图4,图4为本申请实施例提供的一种自动拆分IPS事件系统的结构示意图,如图4所示,包括:
[0115] 获取模块,用于获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;
[0116] 第一提取模块,用于提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;
[0117] 创建模块,用于根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;
[0118] 第二提取模块,用于提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;
[0119] 判断模块,用于判断所述第二会话信息是否在所述会话信息字典中;
[0120] 写入模块,用于如果所述第二会话信息在所述会话信息字典中,则将所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。
[0121] 第三方面,请参阅图5,图5为本申请实施例提供的一种自动拆分IPS事件服务器的结构示意图,如图5所示,本申请还提供一种自动拆分IPS事件的服务器,包括存储器和处理器,所述存储器用于存储程序指令,所述处理器用于通过运行所述程序指令,以执行下述步骤:
[0122] 获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;
[0123] 提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;
[0124] 根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;
[0125] 提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;
[0126] 判断所述第二会话信息是否在所述会话信息字典中;
[0127] 如果所述第二会话信息在所述会话信息字典中,则将所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。
[0128] 由以上技术方案可知,本申请提供一种自动拆分IPS事件的方法、系统及服务器。该方法包括:获取csv文件和pcap文件,所述csv文件用于记录IPS事件的会话信息和事件名称,所述pcap文件用于记录IPS事件的会话信息和事件数据包;提取第一会话信息,所述第一会话信息为所述csv文件中的会话信息;根据所述第一会话信息创建会话信息字典和IPS事件拆分文件,所述会话信息字典为所述第一会话信息的集合,所述IPS事件拆分文件的名称与所述第一会话信息一一对应;提取第二会话信息以及与所述第二会话信息对应的事件数据包,所述第二会话信息为所述pcap文件中的会话信息;判断所述第二会话信息是否在所述会话信息字典中;如果所述第二会话信息在所述会话信息字典中,则将所述第二会话信息对应的事件数据包添加到目标IPS事件拆分文件中,所述目标IPS事件拆分文件为与所述第二会话信息对应的所述IPS事件拆分文件。本申请提供的方法,首先,根据csv文件的第一会话信息建立会话信息字典和IPS事件拆分文件。然后,判断pcap文件中的第二会话信息是否在会话信息字典中,如果在会话信息字典中,则将该第二会话信息对应的应的事件数据包添加到IPS事件拆分文件中。这样,根据会话信息可以实现对IPS事件的自动拆分,无需人工选择操作,提高了IPS事件拆分效率。
[0129] 本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。