CN114785742B - 访问地址信息加载方法、流量处理方法和电子设备 - Google Patents

访问地址信息加载方法、流量处理方法和电子设备 Download PDF

Info

Publication number
CN114785742B
CN114785742B CN202210700959.0A CN202210700959A CN114785742B CN 114785742 B CN114785742 B CN 114785742B CN 202210700959 A CN202210700959 A CN 202210700959A CN 114785742 B CN114785742 B CN 114785742B
Authority
CN
China
Prior art keywords
static
array
dynamic
address
value
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
CN202210700959.0A
Other languages
English (en)
Other versions
CN114785742A (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.)
Flash It Co ltd
Original Assignee
Flash It Co ltd
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 Flash It Co ltd filed Critical Flash It Co ltd
Priority to CN202210700959.0A priority Critical patent/CN114785742B/zh
Publication of CN114785742A publication Critical patent/CN114785742A/zh
Application granted granted Critical
Publication of CN114785742B publication Critical patent/CN114785742B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种访问地址信息加载方法、流量处理方法和电子设备,其中,访问地址信息加载方法包括:获取待加载的第一访问地址信息;确定第一段地址在静态数组中的第一静态元素、第二段地址在静态数组中的第二静态元素、第一端口在静态数组中的第三静态元素;确定第一段地址和第二段地址在第一动态数组中的第一动态元素,将第一动态元素的第一索引值作为第一静态元素的值和第二静态元素的值;确定第一IP地址和第一端口在第二动态数组中的第二动态元素,将第二动态元素的第二索引值作为第三静态元素的值和第一动态元素的值;在第二动态元素中加载关联值。本申请可以降低地址信息的存储空间占用,并能够提高背景流量过滤的效率。

Description

访问地址信息加载方法、流量处理方法和电子设备
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种访问地址信息加载方法、一种流量处理方法、可读介质和电子设备。
背景技术
针对基于网络流量的产品,在网络数据分析中,网络流量分为背景流量和资产流量,背景流量对于分析对象而言,是额外的、多余的、不相关的,通常需要进行过滤;资产流量正是需要分析的对象,是需要被关注的网络流量。但网络流量中,背景流量所占比例是相当大的,因此在进行网络数据分析时,需要过滤网络流量中的背景流量,以达到消除噪声数据,提高后续数据分析效能的目的。
针对网络流量的过滤方法,主要包括字符串比较法、二分法、红黑树、哈希算法等,然而这些方法在背景流量很大时,其性能就会成为网络产品的瓶颈。在计算机中通过直接内存访问是一种高效的方法,然而这种方法会带来大量的内存开销,同样也会制约网络流量的过滤。
基于此,有必要解决网络流量产品中,背景流量占比较大的情况下导致网络数据分析效率较低的问题,提出一种解决方案。
发明内容
有鉴于此,有必要提供一种访问地址信息加载方法、一种流量处理方法、可读介质和电子设备,以解决解决网络流量产品中,背景流量占比较大的情况下导致网络数据分析效率较低的问题,提高背景流量过滤的效率。
本申请第一方面,提供了一种访问地址信息加载方法,所述方法包括:
获取待加载的第一访问地址信息,所述第一访问地址信息包括第一IP地址和第一端口;
将所述第一IP地址划分为第一段地址和第二段地址;
确定所述第一段地址在静态数组中的第一静态元素 、所述第二段地址在所述静态数组中的第二静态元素、所述第一端口在所述静态数组中的第三静态元素;
确定所述第一段地址和所述第二段地址在第一动态数组中的第一动态元素,将所述第一动态元素的第一索引值 作为所述第一静态元素的值和所述第二静态元素的值;
确定所述第一IP地址和所述第一端口在第二动态数组中的第二动态元素,将所述第二动态元素的第二索引值作为所述第三静态元素的值和所述第一动态元素的值;
在所述第二动态元素中加载关联值,所述第一动态元素用于体现所述第一段地址和所述第二段地址之间的关联关系,所述关联值用于体现所述第一IP地址和所述第一端口的关联关系,以实现对所述第一IP地址和所述第一端口的加载。
在其中一个实施例中,所述第一索引值包括第一行索引号和第一列索引号,所述第二索引值包括第二行索引号和第二列索引号;
所述将所述第一动态元素的第一索引值作为所述第一静态元素和所述第二静态元素的值,包括:将所述第一列索引号作为所述第一静态元素的值,将所述第一行索引号作为所述第二静态元素的值,或
将所述第一列索引号作为所述第二静态元素的值,将所述第一行索引号作为所述第一静态元素的值;
所述将所述第二动态元素的第二索引值作为所述第三静态元素和所述第一动态元素的值,包括:将所述第二行索引号作为所述第三静态元素的值,将所述第二列索引号作为所述第一动态元素的值,或
将所述第二列索引号作为所述第三静态元素的值,将所述第二行索引号作为所述第一动态元素的值。
在其中一个实施例中,所述静态数组包括第一静态数组、第二静态数组和第三静态数组;
确定所述第一段地址在静态数组中的第一静态元素、所述第二段地址在所述静态数组中的第二静态元素、所述第一端口在所述静态数组中的第三静态元素,包括:
根据所述第一段地址与所述第一静态数组中的元素的对应关系 确定所述第一段地址在第一静态数组中的第一静态元素;
根据所述第二段地址与所述第二静态数组中的元素的对应关系确定所述第二段地址在第二静态数组中的第二静态元素;
根据所述第一端口与所述第三静态数组中的元素的对应关系确定所述第一端口在第三静态数组中的第三静态元素。
在其中一个实施例中,所述确定所述第一段地址和所述第二段地址在第一动态数组中的第一动态元素,将所述第一动态元素的第一索引值作为所述第一静态元素和所述第二静态元素的值,包括:
检测所述第一段地址和/或所述第二段地址是否在所述第一动态数组中存在;
当不存在所述第一段地址时,在所述第一动态数组中新增行或列,并将所述新增行或列的索引值作为所述第一静态元素的值; 和/或
当不存在所述第二段地址时,在所述第一动态数组中新增列或行,并将所述新增列或行的索引值作为加载所述第二静态元素的值。
在其中一个实施例中,所述确定所述第一IP地址和所述第一端口在第二动态数组中的第二动态元素,将所述第二动态元素的第二索引值作为所述第三静态元素和所述第一动态元素的值,包括:
检测所述第一IP地址和/或所述第一端口是否在所述第二动态数组中存在;
当不存在所述第一端口时,在所述第二动态数组中新增行或列,并将所述新增行或列的索引值作为所述第三静态元素的值;和/或
当不存在所述第一IP地址时,在所述第二动态数组中新增列或行,并将所述新增列或行的索引值作为所述第一动态元素的值。
在其中一个实施例中,在所述将所述第一IP地址划分为第一段地址和第二段地址之前,还包括:
针对所有待加载的第一访问地址信息,以第一端口为维度,按照第一端口包含的第一IP地址的数量对所有待加载的第一访问地址信息进行排序;
所述获取待加载的第一访问地址信息,包括:按照所述排序来获取待加载的第一访问地址信息。
本申请第二方面,提供了一种流量处理方法,所述方法包括:
获取待识别流量的第二访问地址信息,所述第二访问地址信息中包含第二IP地址和第二端口;
将所述第二IP地址拆分成第一段地址和第二段地址;
确定所述第一段地址在静态数组中对应的第一静态元素,和/或确定所述第二段地址在所述静态数组中对应的第二静态元素,和/或确定所述第二端口在所述静态数组中对应的第三静态元素,和/或确定所述第二IP地址在第一动态数组中对应的第一动态元素;
针对所述第二访问地址信息进行以下一项或多项检测:检测所述第一静态元素是否存在第一动态数组的第一索引值,检测所述第二静态元素是否存在第一动态数组的第二索引值,检测所述第三静态数组中是否存在所述第二动态数组的第三索引值,检测所述第一动态元素中是否存在第四索引值;
当所述一项或多项检测的每一项检测结果均为是时,根据所述第三索引值和所述第四索引值在所述第二动态数组中索引出对应的第二动态元素;
当所述第二动态元素中存在关联值时,判定所述待识别流量为关注的流量;
当所述一项或多项检测中存在至少一项检测结果为否,或者第二动态元素中不存在关联值时,判定所述待识别流量为背景流量,所述静态数组、所述第一动态数组、所述第二动态数组为采用本申请任一实施例中的访问地址信息加载方法所得到的。
在其中一个实施例中,针对所述第二访问地址信息进行以下一项或多项检测:检测所述第一静态元素是否存在第一动态数组的第一索引值,检测所述第二静态元素是否存在第一动态数组的第二索引值,检测所述第三静态数组中是否存在所述第二动态数组的第二索引值,检测所述第一动态元素中是否存在第四索引值,包括:
按照如下顺序进行检测:
检测所述第三静态数组中是否存在所述第二动态数组的第三索引值,若是,则
检测所述第一静态元素是否存在第一动态数组的第一索引值,若是,则
检测所述第二静态元素是否存在第一动态数组的第二索引值,若是,则
根据所述第一索引值和所述第二索引值在所述第一动态数组中索引出所述第一动态元素,检测所述第一动态元素中是否存在第四索引值;
当其中任意一项检测结果为否时,终止对所述流量查询请求的检测。
本申请第三方面,提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如本申请任意实施例中所述的方法。
本申请第四方面,提供了一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如本申请任意实施例中所述的方法。
上述的一种访问地址信息加载方法、一种流量处理方法、可读介质和电子设备,通过对IP地址进行两段划分,并利用动态数组和静态数组存储各段地址内容,并将两段地址内容和端口进行关联,从而大大降低了访问地址信息的存储空间需求。由于存储空间的需求降低,从而可以利用少量的内存空间来达到直接内存访问,为实现高效的背景流量过滤功能提供了有效支撑。
附图说明
图1为一个实施例中访问地址信息加载方法的流程图;
图2为一个实施例中IP地址的分段示意图;
图3为另一个实施例中访问地址信息加载方法的流程图;
图4为一个实施例中流量处理方法的流程图;
图5为另一个实施例中流量处理方法的流程图;
图6为一个实施例中访问地址信息加载装置的结构框图;
图7为一个实施例中流量处理装置的结构框图
图8为一个实施例中电子设备的内部结构图。
具体实施方式
以下,将参照附图来描述本申请的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本申请的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本申请。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在一个实施例中,提供了一种访问地址信息加载方法,如图1所示,该方法包括:
步骤102,获取待加载的第一访问地址信息,第一访问地址信息包括第一IP地址和第一端口。
本实施例中,待加载的访问地址信息可为电子设备所认为的资产流量所包含的地址信息,该资产流量通常为电子设备所关注的流量,或者所需要分析的对象。电子设备可将该访问地址信息加载到内存之中,这样后续在进行流量识别时,可直接在内存中进行地址信息检索,从而来判定该地址信息对应的流量是否属于资产流量。
电子设备可以预先获取一批认为是所关注的流量的访问地址信息,访问地址信息的数量众多,电子设备可以按照一定的顺序将其存储到存储器中,比如存储到电子设备的内存中。
该访问地址信息可为用户在进行业务系统访问、安全审计、防火墙防护、DOS攻击等上网行为所包含的访问地址信息。
可选地,访问地址信息包括IP地址和端口。其中,IP地址(Internet ProtocolAddress)为指互联网协议地址,其包括IPV4地址和IPV6地址等类型。
步骤104,将第一IP地址划分为第一段地址和第二段地址。
其中,IP地址具有4段内容,电子设备可以按照任意的划分方式,将该四段内容划分为两段地址,比如可以采用两两划分或者一三划分。举例来说,可以将第一段内容作为第一段地址,将第二段至第四段内容作为第二段地址,或者将第一段、第二段内容作为第一段地址,将第三段、第四段内容作为第二段地址,也可以将第一端、第三段内容作为第一段地址,第二段、第四段内容作为第二段地址等等。
优选地,电子设备可以将IP地址的前两段内容作为第一段地址,将后两段内容作为第二段地址。以IP地址为IPV4地址为例,如图2所示,可以将IPV4的第一段、第二段内容作为第一段地址,将第三段、第四段内容作为第二段地址。由于属于一个单位区域或局域网内用户的IP地址的前两段内容通常是相同的,通过将前两段内容划分为第一段地址,可以提高第一段地址的通用性,进一步降低了对内存空间的占用。
步骤106,确定第一段地址在静态数组中的第一静态元素、第二段地址在静态数组中的第二静态元素、第一端口在静态数组中的第三静态元素。
本实施例中,电子设备可以预先创建了静态数组和动态数组,其中静态数组为一维数组,动态数组包含两个,可为二维数组。其中一个动态数组用于存储两段地址以及两段地址的关联关系,另一个动态数组用于存储端口以及端口与IP地址之间的关联关系。该两个动态数组可为两个二维动态数组,比如可为两个二维动态表,静态数组中的每个静态元素的值分别表示动态数组中的其中一个维度的索引值。静态数组则用于存储拆分的两段IP地址以及端口分别在动态数组中的索引值,根据每个元素中存储的索引值,可以索引得到对应动态数组中的动态元素。
其中,电子设备所创建的静态数组具有一定数量的静态元素,并预先设定第一段地址、第二段地址和端口与静态元素之间的对应关系或映射规则,使得每个第一端口、第一段地址、第二段地址在静态数组中分别唯一对应一个静态元素。
举例来说,需要加载的第一段地址、第二段地址和端口的总数量共有M个,则电子设备可以设定总长度为不小于M的静态数组,其中的每个元素唯一对应一个第一段地址或第二段地址或端口。比如说针对拆分的某一第一段地址A,可根据该对应关系确定其所对应的元素为元素A。其中,该元素A可表示在静态数组中处于第A个位置处的元素。
静态元素与端口、两段地址之间的映射方式可以具有多种,只要其能唯一对应一段地址或端口即可。比如,电子设备可以直接将第x个元素作为端口为x的静态元素,或者当将某段地址按照预设规则其转换成的数值为y时,则将第y个元素作为该段地址的静态元素。
静态数组用于存储两个动态数组中的数据的索引号。具体地,该静态数组存储的索引号可以包括第一动态数组和/或第二动态数组中的行索引号和/或列索引号中的任意一种或多种。静态数组为一个静态数组或多个静态数组,每个静态数组存储相应动态数组中的数据的行索引号和/或列索引号。
步骤108,确定第一段地址和第二段地址在第一动态数组中的第一动态元素,将第一动态元素的第一索引值作为第一静态元素和第二静态元素的值。
其中,第一动态元素用于体现第一段地址和第二段地址之间的关联关系。与静态元素类似,第一动态数组中的每个动态元素分别对应一个唯一的第一段地址和第二段地址,电子设备可以基于该对应关系和第一段地址、第二段地址来确定对应的第一动态元素。当不存在对应关系时,电子设备可以创建相应的对应关系,从而在动态数组中新增或确定一个动态数组用于表示第一段IP和第二段IP。
具体地,电子设备可设定第一动态数组中的每行或每列分别表示一个对应的一个第一段地址,每列或每行则分别表示对应的一个第二段地址。第一动态数组中的每个动态元素所处的行和列则对应一个具体的第一段地址和第二段地址,基于每行或列所表示的第一段地址和每列或行所表示的第二段地址,可以组合形成一个IP地址,因此,第一动态数组中的每个动态元素可唯一表示一个IP地址。
动态数组中的元素的索引值用于索引对应元素在动态数组中的位置,该索引值包括两个维度的索引值,其中一个维度的索引值用于体现动态元素在动态数组中所处的行位置,另一个维度用于体现动态元素在动态数组中所处的列位置。电子设备可将第一动态元素的第一索引值中用于体现第一地址的索引值作为第一静态元素的值,用于体现第二段地址的索引值作为第二静态元素的值。
当第一静态元素、第二静态元素中存在值时,则表示已经在第一动态数组中设定了用于表示第一段地址、第二段地址的维度的索引值,若不存在值时,电子设备可提取所确定的第一动态元素的第一索引值,将第一段地址、第二段地址的维度的索引值分别加载至对应第一静态元素和第二静态元素中。其中,第一索引值可为第一动态元素在第一动态数组中的行号和列号,或者行索引值和列索引值。
在一个实施例中,第一索引值包括第一行索引号和第一列索引号,电子设备可将第一列索引号作为第一静态元素的值,将第一行索引号作为第二静态元素的值,或将第一列索引号作为第二静态元素的值,将第一行索引号作为第一静态元素的值。
举例来说,该待加载的某一IP地址192.168.0.1,其中,第一段地址192.168在静态数组中唯一对应一个元素A,第二段地址0.1可在静态数组中唯一对应另一个静态元素B。其在第一动态数组中对应的第一动态元素为元素[a,b],其中,该a表示第一动态元素中表示第一段地址192.168的所在行,即行号或行索引值,比如a为2,表示第2行;b表示第一动态元素中表示第二段地址0.1的所在行,即列号或列索引值,比如b为3,表示第3列。电子设备可将元素[a,b]所在的行索引值a作为元素A的值,将其列索引值b作为元素B的值。
步骤110,确定第一IP地址和第一端口在第二动态数组中的第二动态元素,将第二动态元素的第二索引值作为第三静态元素和第一动态元素的值。
同样地,第二动态元素的索引值也包括两个维度的索引值,其中一个维度的索引值用于体现第二动态元素在第二动态数组中所处的行位置,另一个维度用于体现第二动态元素在第二动态数组中所处的列位置。
本实施例中,电子设备可设定第二动态数组中的每行或每列分别表示一个对应的IP地址,每列或每行分别表示对应的第一个端口,第二动态数组中的每个动态元素则表示唯一一对IP地址和端口。其中,第一动态数组中的每个动态元素的值可为对应第二动态数组中用于表示IP地址的维度的索引值,基于该第一动态元素的值和第三静态元素的值,可以索引出对应的第二动态元素。
电子设备可将第二动态元素的第二索引值中用于体现第一IP地址的索引值作为第一动态元素的值,用于体现第一端口的索引值作为第三静态元素的值。
在一个实施例中,第二索引值包括第二行索引号和第二列索引号,电子设备可将第二行索引号作为第三静态元素的值,将第二列索引号作为第一动态元素的值,或将第二列索引号作为第三静态元素的值,将第二行索引号作为第一动态元素的值。
举例来说,存在待加载的端口为80,其在在静态数组中唯一对应一个元素C,在第二动态数组中第d列表示对应的端口80,第c行表示对应IPV4地址192.168.0.1,则第二动态数组中的元素[c,d]即表示IPV4地址192.168.0.1且端口为80的访问地址。电子设备可将该元素[c,d]的行索引值c作为第一动态元素中表示IPV4地址192.168.0.1的元素[a,b]的值,将其列索引值d作为元素C的值。
步骤112,在第二动态元素中加载关联值,关联值用于体现第一IP地址和第一端口的关联关系。
本实施例中,通过上述步骤,可以确定每个第二动态元素唯一表示一对IP地址和端口,当该第二动态元素中加载了关联值时,则确定该对应的一对IP地址和端口为需要加载的访问地址信息,从而实现了对第一IP地址和第一端口的加载。若不存在关联值,则未对相应的IP地址和端口的加载。
其中,关联值即表示对应IP地址和端口存在关联,已完成对应访问地址信息的加载;若不存在关联值,则相应元素所在行和列分别表示的IP地址和端口之间则不存在关联,未完成访问地址信息的加载或对应的访问地址信息不为需要加载的访问地址信息。
第二动态数组中的关联值可为任意值,不同元素内的关联值可以相同或不同,比如可统一设置“1”来表示存在关联,设置“0”表示不存在关联。也可以设置“0”表示不存在关联,而只要不为0则表示存在关联。或者也可以只要该单元内的值不为空,则表示对应IP地址和端口之间存在关联。
当该动态数组中的元素中存在值时,则表示其对应的两个维度之间具有关联关系,若不存在值,则表示两者不具有关联关系,或者并未绑定。其中,第一动态数组中的元素的值可用于表示第二动态数组中的用于表示IP地址的索引号,使得根据该元素的值可在第二动态数组中实现对IP地址的索引。若第二动态数组中以行来表示IP地址时,该索引号可为行索引号;若第二动态数组中以列来表示IP地址时,该索引号为列索引号。
举例来说,第一IP地址所拆分的第一段地址在第一动态数组中用第2行表示,拆分的第二段地址在第一动态数组中用第3列来表示,该第一动态数组中第2行、第3列的元素表示的IP地址即为该第一IP地址。若该元素不存在值,则说明还未完成将该第一IP地址加载到第一动态数组中;若存在关联值,则说明已经完成了第一IP地址在第一动态数组中的加载。比如说,若该单元的关联值为4,该关联值4在第二动态数组中索引得到的信息即为该第一IP地址。比如说该关联值4表示第二动态数组中的第4行,则第二动态数组中的第4行即表示该第一IP地址。
如上,第二动态数组中,可以用行和列来分别表示IP地址和端口,比如以行来表示IP地址,以列表示端口,或者以列表示IP地址,以行表示端口。当以行表示IP地址时,第一动态数组中单元的关联值即为该行的索引号,比如为其行号。
举例来说,当上述第二动态数组中的元素[c,d]中存在关联值时,则说明完成了对端口为80、IPV4地址192.168.0.1的访问地址信息的加载。
在一个实施例中,需要加载的第一访问地址信息可为资产流量的访问地址信息,通过上述方法,可实现对资产流量的IP地址和端口的加载。反之,电子设备也可以将背景流量的访问地址信息作为待加载的地址信息,这样,有关联值的第二动态元素对应的IP地址和端口即为背景流量的地址信息,电子设备通过检查是否存在关联值,即可确定对应流量是背景流量还是资产流量。
上述的访问地址信息加载方法,通过对IP地址进行两段划分,并利用动态数组和静态数组存储各段地址内容,并将两段地址内容和端口进行关联,从而大大降低了访问地址信息的存储空间需求。由于存储空间的需求降低,从而可以利用少量的内存空间来达到直接内存访问,为实现高效的背景流量过滤功能提供了有效支撑。
具体地,通过设置静态数组来存储待加载的IP地址的两段地址索引值和端口的索引值,通过设置第一动态数组来存储待加载的IP地址在第二动态数组中的索引值,进而再利用第二动态数组中设置待加载的一对IP地址和端口的关联值,可以实现对所有待加载的访问地址信息的存储和索引。
其中,由于静态数组中的每个静态元素唯一对应第一段地址、第二段地址和端口,而每段地址和端口的数量均有限,因此,可以利用一个内存空间占用较小的一维静态数组即可实现对两段地址索引值和端口的索引值的存储。当存在大量待加载的访问地址信息时,其中的端口、第一段地址、第二段地址、IP地址往往存在一定的重复性,这就使得动态数组中的信息也可重复利用,进而也降低了动态数组所占内存空间。
举例来说,当将IPV4地址的其中两段内容作第一段地址,另外两段内容作为第二地址时,每段地址所需的长度不超过65536,则电子设备所设置的静态数组针对每段地址设置的长度可不超过65536即可实现每个元素唯一对应一段地址。比如图2所示,将IPV4地址的前两段内容作为第一段地址,后两段内容作为第二段地址。每个元素占用2个字节时,用于存储其中一段地址的数组的所需的大小不超过静态数组所需占用的存储空间不超过128KB。电子设备可设置65536*3=19608长度的静态数组,将某一第一段地址映射到前65536个元素中的一个元素中;将某一第二段地址映射到中间65536个元素中的一个元素中;将某一端口映射到最后65536个元素中的一个元素中。这样电子设备只需要128KB*3=384KB即可完成对IP地址和端口的索引值的存储,相对于采用4维数组存储访问地址信息所需的4GB左右的空间来说,本申请可极大减少对内存空间的占用。
在一个实施例中,静态数组可具有三个,分别为第一静态数组、第二静态数组和第三静态数组。第一静态数组存储第一动态数组中用于表示第一段地址的索引值;第二静态数组存储第一动态数组中用于表示第二段地址的索引值;第三静态数组存储第二动态数组数据中用于表示端口的索引值。
其中,第一动态数组的行索引号和列索引号分别由对应拆分的第一段地址和第二段地址的值来表示,比如将第一段地址值作为第一动态数组的行索引号,将第二段地址值作为第一动态数组的列索引号。第二动态数组的行索引号可由端口值表示,第一动态数组还存放对应IP地址在第二动态数组中的列索引号。
通过设置静态数组来存储动态数组中的数据的索引号,电子设备可以根据该索引号来索引查找对应的访问地址信息,并根据该查找结果来确定该访问地址对应的流量的类型。且所设置的静态数组只用来存储索引号,同样不需要花费较大的存储空间,进一步降低了电子设备存储地址信息的空间占用。
本实施例中,就IPV4地址而言,其有4段内容,每段有256个数,当将每两段IP地址内容作为一段地址时,通过设置三个静态数组,分别用来存储各段地址和端口的索引号,则每个静态数组的长度可为65536。静态数组中的每个元素占2个字节,则3个静态数组只需要占用384KB的存储空间,极大降低了对存储空间的占用。
在一个实施例中,步骤106包括:根据第一段地址与第一静态数组中的元素的对应关系确定第一段地址在第一静态数组中的第一静态元素;根据第二段地址与第二静态数组中的元素的对应关系确定第二段地址在第二静态数组中的第二静态元素;根据第一端口与第三静态数组中的元素的对应关系确定第一端口在第三静态数组中的第三静态元素。
本实施例中,电子设备预先设定了第一段地址与第一静态数组中的元素的对应关系,第二段地址与第二静态数组中的元素的对应关系,第一端口与第三静态数组中的元素的对应关系。上述的对应关系可为3个对应关系查找表,也可为对应的计算规则。电子设备可通过该关系查找表从其中查找出地址或端口所对应的静态元素,也可以根据预设的计算规则,将端口或地址导入该计算规则中进行计算,得到的结果作为对应的静态元素。
举例来说,针对第一段地址XXX.XXX,电子设备可将每段内容进行转换成二进制数,将前一段内容所转换的二进制数作为前8位数,后一段内容所转换的二进制数作为后8位数,将两者进行拼接并转换成10进制数,得到的数值作为对应的静态元素所在位置。比如针对第一段地址192.168,其两段内容的二进制表达分别为11000000、10101000,则拼接后的1100000010101000的10进制数即为49320,可确定192.168在第一静态数组中对应第49320元素。
类似地,第二段地址可采用相同的方式来确定对应的静态元素,比如第二段地址1.100,则其对应第二静态数组中的第356元素。
针对端口,电子设备可直接将端口值作为对应静态元素所在的位置,比如端口80在第三静态数组中对应第80元素。
本实施例中,通过设置端口或地址与静态数组中的元素之间的唯一对应关系,使得可以快速地确定各个端口或地址所对应的元素。
在一个实施例中,步骤108包括:检测第一段地址和/或第二段地址是否在第一动态数组中存在;当不存在第一段地址时,在第一动态数组中新增行或列,并将新增行或列的索引值作为第一静态元素的值; 和/或
当不存在第二段地址时,在第一动态数组中新增列或行,并将新增列或行的索引值作为加载第二静态元素的值。
本实施例中,以第一动态数组中的行表示第一段地址,列表示第二段地址为例进行说明。
电子设备在将待加载的访问地址信息拆分成两段IP地址之后,会检测两段地址中的任意一段地址或两段地址是否均已经加载在第一动态数组中。具体地,电子设备可根据每段地址与静态元素之间的对应关系来确定与之对应的静态元素,并检测该静态元素中是否存在值,若存在,则说明在第一动态数组中存在对应段地址。若对应静态元素中不存在值,则说明在第一动态数组中不存在对应段地址。
当对应的第一静态元素中不存在值时,则说明还未在第一动态数组中创建用于表示第一段地址的行,第一动态数组中还不存在该第一段地址。电子设备可在第一动态数组中新增行,将该新增行的索引值或行号存入到静态数组中的第一静态元素中,以作为第一静态元素的值。若存在值,则说明该值所表示的第一动态元素中对应的行即用于表示该第一段地址。
类似地,当对应的第二静态元素中不存在值时,则说明还未在第一动态数组中创建用于表示第二段地址的列,第一动态数组中还不存在该第二段地址。电子设备可在第一动态数组中新增列,将该新增列的索引值或列号存入到静态数组中的第二静态元素中,以作为第二静态元素的值。若存在值,则说明该值所表示的第一动态元素中对应的列即用于表示该第二段地址。
其中,两段地址的检测顺序可不做限定,比如可首先检测第一段地址是否存在,再检测第二段地址是否存在,也可以同步执行。
本申请中,可以根据实际的第一段地址和第二段地址的数量来新增第一动态列表中的行和列,对于待加载的IP地址中所不存在的第一段地址和第二段地址,则无需占用第二动态空间中的行或列,实现了对所需存储单元的按需增加,降低了对存储空间的占用。
在一个实施例中,步骤110包括:检测第一IP地址和/或第一端口是否在第二动态数组中存在;当不存在第一端口时,在第二动态数组中新增行或列,并将新增行或列的索引值作为第三静态元素的值;和/或
当不存在第一IP地址时,在第二动态数组中新增列或行,并将新增列或行的索引值作为第一动态元素的值。
本实施例中,以第二动态数组中的行表示IP地址,列表示端口为例进行说明。其中,IP地址和端口的检测顺序可不做限定,比如可首先检测IP地址是否存在,再检测端口是否存在,也可以同步执行。
具体地,电子设备可根据端口与静态元素之间的对应关系来确定与之对应的第三静态元素,并检测该第三静态元素中是否存在值,若存在,则说明在第二动态数组中存在对应的端口。若对应第三静态元素中不存在值,则说明在第二动态数组中不存在对应端口。
当对应的第三静态元素中不存在值时,则说明还未在第二动态数组中创建用于表示端口的列,第二动态数组中还不存在该端口。电子设备可在第一动态数组中新增列,将该新增列的索引值或列号存入到静态数组中的第三静态元素中,以作为第三静态元素的值。若存在值,则说明该值所表示的第二动态元素中对应的列即用于表示该第一段地址。
其中,电子设备可根据第一静态元素的值和第二静态元素的值来确定第一动态元素。类似地,当对应的第一动态元素中不存在值时,则说明还未在第二动态数组中创建用于表示该IP地址的行,第二动态数组中还不存在该IP地址。电子设备可在第二动态数组中新增行,将该新增行的索引值或行号存入到第一动态数组中的第一动态元素中,以作为第一动态元素的值。若存在值,则说明该值所表示的第二动态元素中对应的行即用于表示该IP地址。
本申请中,可以根据实际的IP地址和端口的数量来新增第二动态列表中的行和列,对于待加载的访问地址信息中所不存在的端口和IP地址,则无需占用第二动态空间中的行或列,也实现了对所需存储单元的按需增加,降低了对存储空间的占用。
在一个实施例中,在步骤104之前,还包括:针对所有待加载的第一访问地址信息,以第一端口为维度,按照第一端口包含的第一IP地址的数量对所有待加载的第一访问地址信息进行排序;步骤102包括:按照排序来获取待加载的第一访问地址信息。
本实施例中,待加载的访问地址信息具有很多,电子设备可以针对待加载的访问地址信息集合中还未加载的访问地址信息,先对端口进行排序,再根据端口中所包含的IP个数进行排序,其中该排序可以以端口值、IP地址的数值进行升序或降序排序,通过对端口和IP进行排序,电子设备在排序后,可以按照排序的顺序来获取需要加载的访问地址信息,从而可以避免需要加载的地址信息存在重复获取,并能够降低动态数组的空间占用。
在一个实施例中,提供了另一种访问地址信息加载方法,该方法以地址信息为的IP地址为IPV4为例进行说明。如图3所示,该方法包括:
步骤302,获取待加载的访问地址信息集合,该集合中包含待加载的第一访问地址信息。
其中,该第一访问地址信息包括IPV4地址和第一端口。
步骤304,将访问地址信息集合中的访问地址信息进行排序。
本实施例中,电子设备可以以端口为维度,按照端口所包含的IP的个数进行升序排序。通过该排序,可以减少后续的动态数组的存储访问地址信息集合所需的空间。
步骤306,按照该排序从访问地址信息集合中顺序地获取待加载的第一访问地址信息。
步骤308,将获取的第一访问地址信息中的IPV4地址划分为第一段地址和第二段地址。
本实施例中,如图2所示,电子设备可以将IPV4地址的前两段地址作为第一段地址,将后两段地址作为第二段地址。通常由于处于相同的局域网内的IPV4地址的前两段地址都是相同的,因此将前两段地址设为第一段地址,可以提高第一段地址的共用率,进而进一步降低了后续动态数组的存储空间占用。
在一个实施例中,在步骤308之前,还包括:检测访问地址信息集合的访问地址信息是否全部加载完毕,若否,则执行步骤308,若是,则结束加载。
步骤310,确定第一段地址在第一静态数组中的第一静态元素。
本实施例中,第一静态数组为用于存储第一段地址在第一动态数组中的索引值的一维数组。第一静态数组的长度可为65536,每个元素占用2个字节,其总共占用的存储空间即为128KB。电子设备预先设置了第一段地址与第一静态数组中的元素之间的对应关系,比如上述的第一段地址192.168对应的第一静态数组中的第49320元素。
步骤312,基于第一静态元素检测IPV4地址的第一段地址是否已存在于预设的IPV4关联表中。若否,则执行步骤314,若是,则执行步骤316。
本实施例中,电子设备可以预先创建两个动态数组,其中第一动态数组为IPV4关联表,用于存储IPV4地址的两段地址及其关联关系,第二动态数组为IPV4和端口关联表,用于存储端口值和端口与IPV4地址之间的关联关系。
具体地,电子设备可检测第一静态元素中是否存在值,若存在,则说明第一段地址已存在于预设的IPV4关联表中,若不存在值,则说明IPV4关联表中还不存在第一段地址。
步骤314,在IPV4关联表中新增行,并将新增行的索引值作为第一静态元素的值。
步骤316,确定第二段地址在第二静态数组中的第二静态元素。
本实施例中,第二静态数组为用于存储第二段地址在第一动态数组中的索引值的一维数组。第二静态数组的长度同样可为65536,每个元素占用2个字节,其总共占用的存储空间即为128KB。电子设备预先设置了第二段地址与第二静态数组中的元素之间的对应关系,其映射规则可以跟第一段地址与第一静态元素之间的映射规则相同,比如第二段地址192.168对应的第二静态数组中的第49320元素。
步骤318,基于第二静态元素检测第二段地址是否已存在于预设的IPV4关联表中。若否,则执行步骤320,若是,则执行步骤322。
具体地,电子设备可检测第二静态元素中是否存在值,若存在,则说明第二段地址已存在于预设的IPV4关联表中,若不存在值,则说明IPV4关联表中还不存在第一段地址。
步骤320,在IPV4关联表中新增列,并将新增列的索引值作为第二静态元素的值。
本实施例中,电子设备可以将IPV4关联表列对齐后再增加一列,用新的列号设置对应IPV4地址的第二段地址,将该列索引号加载至第二静态元素中,作为第二静态元素的值。
步骤322,确定第一端口在第三静态数组中的第三静态元素。
本实施例中,第三静态数组为用于存储端口在第二动态数组中的索引值的一维数组。第三静态数组的长度同样与端口的总数相同,每个端口号与处于对应位置处的元素相对应,比如端口号为m的端口对应第三静态数组中第m个元素。
步骤324,基于第三静态元素检测第一端口是否存在于IPV4和端口关联表中。若否,执行步骤326,若是,则执行步骤328。
类似地,电子设备可检测第三静态元素中是否存在值,若存在,则说明第一端口已存在于预设的IPV4和端口关联表中,若不存在值,则说明IPV4和端口关联表中还不存在第一端口。
步骤326,在IPV4和端口关联表新增行,并将新增行的索引值作为第三静态元素的值。
同样地,电子设备可以在IPV4和端口关联表中增加一行,在新增加的行进行列对齐,用新的行号设置对应的端口值。将新增的行的索引值加载至第三静态元素中,作为第三静态元素的值。
步骤328,基于第一动态元素检测该IPV4地址是否存在于IPV4和端口关联表中。若否,则执行步骤330,若是,则执行步骤332。
电子设备可基于第一静态元素的值和第二静态元素的值在第一动态数组中索引出对应的第一动态元素,检测该第一动态元素中是否存在值,若存在,则说明该IPV4地址是否存在于IPV4和端口关联表中,若不存在值,则说明IPV4和端口关联表中还不存在该IPV4地址。
步骤330,在IPV4和端口关联表中新增列,并将新增列的索引值作为第一动态元素的值。
同样地,电子设备可以在IPV4和端口关联表中增加一列,用新的列号设置对应的IPV4地址,将新增的列的索引值加载至第一动态元素中,作为第一动态元素的值。
在一个实施例中,上述步骤308至步骤330之间的执行顺序可以调整。
步骤332,基于第一动态元素的值和第三静态元素的值在IPV4和端口关联表确定第二动态元素,对第二动态元素设置关联值。
本实施例中,该关联值可为1,电子设备可以将第二动态元素设置1,以实现将IPV4地址和端口值的关联。其中,该第二动态元素可通过第一动态元素的值和第三静态元素的值在IPV4和端口关联表中索引出。即该第一动态元素的值对应的列和第三静态元素的值对应行所指向的元素即为第二动态元素。
举例来说,当某一个待加载的第一访问地址的IPV4地址为192.168.1.101,端口为433。电子设备可将其地址拆分为192.168和1.101,根据地址与静态元素之间的对应关系,可计算出192.168对应第一静态数组中的元素49320,电子设备可检测该元素49320中是否存在值,若存在值,比如其存在值为5,则说明在第一动态数组中,第5行即表示192.168,若其不存在值,则在第一动态数组中增加一行,比如第一动态数组中已有6行,则增加第7行,并在元素49320中赋值7。
接下来,电子设备继续根据第二段地址与元素的对应关系,计算出第二段地址1.101对应第二静态数组中的元素357。则检测357中是否存在值,若存在,比如为8,则说明在第一动态数组中,第8列即表示第二段地址1.101,若不存在,则在第一动态数组中新增一列,用于表示第二段地址1.101,比如原有8列,则新增第9列,将数值9赋值到元素357之中。
在完成两段地址检测之后,电子设备可根据第一静态元素和第二静态元素中的数值,索引出第一动态数组中对应的动态元素,该动态元素即为在第一动态数组中表示对应IP地址的元素。比如上述的,若192.168对应的元素49320中的值为5,1.101对应的元素357中的值为8,则可以根据该数值在第一动态数组中索引出元素[5,8],即第一动态数组中处于第5行第8列的元素,检测该元素[5,8]中是否存在值,若存在,比如该值为10,则说明在第二动态数组中设置了第10列表示地址192.168.1.101。
电子设备继续获取端口433在第三静态数组中对应的元素433的值,若该值存在,比如该值为20,则说明电子设备在第二动态数组中设置了第20行表示端口433,这样电子设备可根据第一动态数组中的第一动态元素的值和第三静态数组中的第三静态元素的值,在第二动态数组中索引出对应的第二动态元素,比如索引出了除了第20行第10列的动态元素[20,10],电子设备可对该动态元素设置关联值,比如可对其置1,其中1表示关联值,说明已经完成了对该访问地址信息的加载。
上述的方法,通过设置IPV4关联表、IPV4和端口关联表,并通过将IPV4地址拆分成两段,在IPV4关联表中存储该两段地址及其关联关系,在IPV4和端口关联表中存储端口值以及IPV4地址和端口的关联关系,进而再通过静态数组来对两个关联表中的数据进行索引。可以实现利用较少的存储空间实现大量所需关注的访问地址信息的存储。
在一个实施例中,如图4所示,提供了一种流量处理方法,该方法包括:
步骤402,获取待识别流量的第二访问地址信息,第二访问地址信息中包含第二IP地址和第二端口。
本实施例中,电子设备可以接收其他设备的访问请求,该访问请求中携带第二访问地址信息,该第二访问地址信息中包含IP地址和端口等信息。其中,该访问请求可为上网行为、安全审计、DoS攻击等流量请求。电子设备针对该访问请求,识别其是否为所关注的流量行为。其中,该IP地址可为IPV4地址或者IPV6地址。
举例来说,当某个用户正在进行网站访问时,若未提供端口,则电子设备可以获取该网站的网站地址信息,从该信息中提取或识别出端口和IP地址。比如可以根据该网站访问对应的协议类型啦确定端口,根据域名通过DNS解析来获取IP地址。比如当为http协议时,确定端口为80,当为https协议时,端口为433。
再比如当用户在某个云平台购买mysql数据库时,云平台会提供一个访问mysql数据库的网址,电子设备对该网址通过DNS解析从而获取到相应的IP地址和端口。
步骤404,将第二IP地址拆分成第一段地址和第二段地址。
本实施例中,电子设备可以按照上述的访问地址信息加载方法中的地址拆分方式对IP地址进行拆分,将其拆分为两段地址。优选地,如图2所示,可以将IP地址中的前两段地址作为第一段地址,将后两段地址作为第二段地址。
步骤406,确定第一段地址在静态数组中对应的第一静态元素,和/或确定第二段地址在静态数组中对应的第二静态元素,和/或确定第二端口在静态数组中对应的第三静态元素,和/或确定第二IP地址在第一动态数组中对应的第一动态元素。
步骤408,针对第二访问地址信息进行以下一项或多项检测:检测第一静态元素是否存在第一动态数组的第一索引值,检测第二静态元素是否存在第一动态数组的第二索引值,检测第三静态数组中是否存在第二动态数组的第三索引值,检测第一动态元素中是否存在第四索引值。
本实施例中,静态数组、第一动态数组、第二动态数组为采用上述任一实施例中的访问地址信息加载方法所得到的。电子设备可以按照任意的检测数据对上述的4类进行检测,比如可以按照端口、2段地址、2段地址是否关联、端口与IP地址是否关联的顺序进行检测,也可以同时针对一项或多项检测内容进行检测。
步骤406和步骤408之间可以交替执行,也可以顺序执行。比如可以完成步骤406中的所有元素的确定,然后再去执行步骤408,或者完成其中一项元素的确定之后,即执行步骤408中的对应项的检测。比如在确定了第一静态元素之后,则检测第一静态元素中是否存在第一索引值;确定了第二静态元素之后,则检测第二静态元素中是否存在第二索引值。
具体地,电子设备可以在预设的静态数组中按照索引号在两个动态数组中进行查找。比如,可以按照第一静态数组中存储第一动态数组中的行索引号来查找第一段IP地址;利用第二静态数组中存储的第一动态数组的列索引号来查找第二段IP地址;利用第三静态数组存储的第二动态数组行索引号来查找第二动态数组中的端口,利用第一动态数组中的元素中的索引值在第二动态数组中来查询是否存在对应的IP地址。
步骤410,当一项或多项检测的每一项检测结果均为是时,根据第三索引值和第四索引值在第二动态数组中索引出对应的第二动态元素。
本实施例中,在前述每项检测结果均为是时,则可以根据第三索引值和第四索引值在第二动态数组中可以定位出该IP地址和端口对应的动态元素。比如第三索引值为3,第四索引值为4,则在第二动态数组中的第3行第4列的元素[3,4]即为该IP地址和端口对应的元素。
步骤412,当第二动态元素中存在关联值时,判定待识别流量为关注的流量。
本实施例中,电子设备可以检测所确定的第二动态元素中是否设置有关联值,若设置了关联值,则说明预先加载了该待识别流量的第二访问地址信息,则说明该待识别流量为关注的流量,比如为上述的资产流量。
步骤414,当一项或多项检测中存在至少一项检测结果为否,或者第二动态元素中不存在关联值时,判定待识别流量为背景流量。
本实施例中,若前述任一项检测结果均为否,或者第二动态元素中也未设置关联值,则可以判定出未加载该待识别流量的第二访问地址信息,则可以直接判定该待识别流量不为关注的流量,比如为上述的背景流量。
在一个实施例中,上述步骤404、406和步骤408也可以交替执行,比如在步骤404之前,电子设备可以首先执行步骤406和步骤408中的检测端口,若端口存在,则再执行步骤404,若不存在端口,则直接判定待识别流量为背景流量。
本实施例中,通过利用静态数组和两个动态数组来存储关注流量的访问地址,当在检测到待识别的流量时,可查询该待识别流量的访问地址在两个动态数组中是否存在,从而可以快速地识别出背景流量。且由于两个动态数组占用的内存空间较少,故而可以兼顾流量识别的效率和内存占用率。
在一个实施例中,如图5所示,提供了另一种流量处理方法,该方法包括:
步骤502,获取待识别流量的第二访问地址信息,第二访问地址信息中包含第二IP地址和第二端口。
步骤504,检测第二端口是否在第二动态数组中,若是,则执行步骤506,否则,执行步骤516。
本实施例中,电子设备可以确定第二端口在静态数组中对应的第三静态元素,基于第三静态元素检测第二端口是否在第二动态数组中。具体地,根据第二端口在静态数组中确定唯一对应的元素,检测该元素中是否存在值,若存在,则说明至少存在一个已加载的地址信息中包含该相同的端口,则可提取该数值,并执行步骤506,否则,执行步骤516。
步骤506,将第二IP地址拆分成两段地址。
本实施例中,如图2所示,电子设备可以将前两段内容拆分作为第一段地址,将后两段内容拆分作为第二段地址。
步骤508,检测两段地址是否存在第一动态数组中;若是,则执行步骤510,否则,执行步骤516。
具体地,电子设备预设了3个静态数组,第一个静态数组中用于存储第一段地址的索引号,第二静态数组用于存储第二段地址的索引号,第三静态数组中用于存储端口的索引号。其中,电子设备可在第一静态数组中确定与第一段地址唯一对应的元素,在第二静态数组中确定与第二段地址唯一对应的元素,若该两个元素中均存在对应的索引值,则说明两段地址在第一动态数组中存在,若至少有一个元素不存在对应的索引值,则说明在第一动态数组中并不存在。
当均存在索引值时,则说明至少存在一个已加载的地址信息的IP地址中,被拆分的第一段地址与上述第一段地址相同,被拆分的第二段地址也与上述第二段地址也相同,但并不能确定两者的组合就必然是相同的。比如存在已加载的两个IP地址分别为192.168.1.5和196.152.100.8,而待识别流量的第二访问地址信息为192.168.100.8,则虽然检测出在所拆分的两段地址192.168和100.8均在第一静态数组和第二静态数组中存在,但还需做进一步检测。
步骤510,检测两段地址是否在第一动态数组种存在关联关系;若是,则执行步骤512,否则,执行步骤516。
本实施例中,在检测出两段地址第一动态数组中存在时,可确定对应的动态元素,可以基于第一静态元素和第二静态元素的值来索引出该动态元素,检测该动态元素中是否存在值,若存在,则说明其存在关联关系,即表示已加载过该第二IP地址,若不存在,则说明并未加载该第二IP地址,可以直接执行步骤516。
步骤512,检测第二端口和第二IP地址是否在第二动态数组中存在关联关系;若是,则执行步骤514,否则,执行步骤516。
本实施例中,在检测到存在IP地址后,可以根据在第一动态数组中索引出的元素的值和第三静态元素中的值,在第二动态元素中索引出对应的第二动态元素,并检测器是否存在关联值,若存在,则说明该第二端口和第二IP地址之间存在关联关系,此时即可判定该待识别流量为关注的流量。若不存在关联值,则说明其之间不存在关联关系。
举例来说,若存在已加载的流量的访问地址信息,其中一个的IP地址为192.168.1.5,端口为80,另外一个的IP地址为196.152.100.8,端口为433,而待识别流量的访问地址信息为196.152.100.8,端口为80,则通过前述步骤可以在第二动态数组中对应地址196.152.100.8和端口80的元素,但该元素可能并不具有关联值,则说明该待识别流量为非关注的流量。
步骤514,判定待识别流量为关注的流量。
步骤516,判定待识别流量为背景流量。
本实施例中,通过按照先检测端口、再检测两段IP地址,然后分别检测两段IP地址的关联关系、IP地址与端口的关联关系,这样,当不存在端口时,即可不需要进行IP划分就能直接判定为待识别流量为背景流量。当不存在两段IP地址时,则同样判定为背景流量,按照上述的判定顺序,可以进一步提高背景流量的过滤效率。
在一个实施例中,如图6所示,提供了一种访问地址信息加载装置,该装置包括:
地址信息获取模块602,用于获取待加载的第一访问地址信息,第一访问地址信息包括第一IP地址和第一端口;
第一地址划分模块604,用于将第一IP地址划分为第一段地址和第二段地址;
索引值存储模块606,用于确定第一段地址在静态数组中的第一静态元素 、第二段地址在静态数组中的第二静态元素、第一端口在静态数组中的第三静态元素;确定第一段地址和第二段地址在第一动态数组中的第一动态元素,将第一动态元素的第一索引值作为第一静态元素的值和第二静态元素的值;确定第一IP地址和第一端口在第二动态数组中的第二动态元素,将第二动态元素的第二索引值作为第三静态元素的值和第一动态元素的值。
关联值加载模块608,用于在第二动态元素中加载关联值。
在一个实施例中,第一索引值包括第一行索引号和第一列索引号,第二索引值包括第二行索引号和第二列索引号;
索引值存储模块606还用于将第一列索引号作为第一静态元素的值,将第一行索引号作为第二静态元素的值,或将第一列索引号作为第二静态元素的值,将第一行索引号作为第一静态元素的值;
将第二行索引号作为第三静态元素的值,将第二列索引号作为第一动态元素的值,或将第二列索引号作为第三静态元素的值,将第二行索引号作为第一动态元素的值。
在一个实施例中,静态数组包括第一静态数组、第二静态数组和第三静态数组;
索引值存储模块606还用于根据第一段地址与第一静态数组中的元素的对应关系确定第一段地址在第一静态数组中的第一静态元素;根据第二段地址与第二静态数组中的元素的对应关系确定第二段地址在第二静态数组中的第二静态元素;根据第一端口与第三静态数组中的元素的对应关系确定第三段地址在第三静态数组中的第三静态元素。
在一个实施例中,索引值存储模块606还用于检测第一段地址和/或第二段地址是否在第一动态数组中存在;
当不存在第一段地址时,在第一动态数组中新增行或列,并将新增行或列的索引值作为第一静态元素的值; 和/或
当不存在第二段地址时,在第一动态数组中新增列或行,并将新增列或行的索引值作为加载第二静态元素的值。
在一个实施例中,索引值存储模块606还用于检测第一IP地址和/或第一端口是否在第二动态数组中存在;
当不存在第一端口时,在第二动态数组中新增行或列,并将新增行或列的索引值作为第三静态元素的值;和/或
当不存在第一IP地址时,在第二动态数组中新增列或行,并将新增列或行的索引值作为第一动态元素的值。
在一个实施例中,地址信息获取模块602还用于针对所有待加载的第一访问地址信息,以第一端口为维度,按照第一端口包含的第一IP地址的数量对所有待加载的第一访问地址信息进行排序;按照排序来获取待加载的第一访问地址信息。
在一个实施例中,如图7所示,提供了一种流量处理装置,该装置包括:
流量信息获取模块702,用于获取待识别流量的第二访问地址信息,第二访问地址信息中包含第二IP地址和第二端口;
第二地址划分模块704,用于将第二IP地址拆分成第一段地址和第二段地址;
地址信息检测模块706,用于确定第一段地址在静态数组中对应的第一静态元素,和/或确定第二段地址在静态数组中对应的第二静态元素,和/或确定第二端口在静态数组中对应的第三静态元素,和/或确定第二IP地址在第一动态数组中对应的第一动态元素;针对第二访问地址信息进行以下一项或多项检测:检测第一静态元素是否存在第一动态数组的第一索引值,检测第二静态元素是否存在第一动态数组的第二索引值,检测第三静态数组中是否存在第二动态数组的第三索引值,检测第一动态元素中是否存在第四索引值;当一项或多项检测的每一项检测结果均为是时,根据第三索引值和第四索引值在第二动态数组中索引出对应的第二动态元素;
流量判定模块708,用于当第二动态元素中存在关联值时,判定待识别流量为关注的流量;当一项或多项检测中存在至少一项检测结果为否,或者第二动态元素中不存在关联值时,判定待识别流量为背景流量。
在一个实施例中,地址信息检测模块706还用于按照如下顺序进行检测:
检测第三静态数组中是否存在第二动态数组的第三索引值,若是,则
检测第一静态元素是否存在第一动态数组的第一索引值,若是,则
检测第二静态元素是否存在第一动态数组的第二索引值,若是,则
根据第一索引值和第二索引值在第一动态数组中索引出第一动态元素,检测第一动态元素中是否存在第四索引值。
当其中任意一项检测结果为否时,终止对流量查询请求的检测。
在一个实施例中,提出了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述任意实施例中的访问地址信息加载方法和/或流量处理方法的步骤。
在一个实施例中,提出了一种计算机可读介质,其上存储有计算机可执行指令,该指令被处理器执行时,使得处理器执行上述任意实施例中的访问地址信息加载方法和/或流量处理方法的步骤。
在一个实施例中,提供了一种电子设备,该电子设备具体可以是终端,也可以是服务器。如图8所示,电子设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,包括承载指令的在计算机可读介质,在这样的实施例中,该指令可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该指令被中央处理单元(CPU)801执行时,执行本发明中描述的各个方法步骤。
尽管已经描述了示例实施例,但是对于本领域技术人员来说显而易见的是,在不脱离本发明构思的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述示例实施例不是限制性的,而是说明性的。

Claims (10)

1.一种访问地址信息加载方法,其特征在于,所述方法包括:
获取待加载的第一访问地址信息,所述第一访问地址信息包括第一IP地址和第一端口;
将所述第一IP地址划分为第一段地址和第二段地址;
确定所述第一段地址在静态数组中的第一静态元素、所述第二段地址在所述静态数组中的第二静态元素、所述第一端口在所述静态数组中的第三静态元素;
确定所述第一段地址和所述第二段地址在第一动态数组中的第一动态元素,将所述第一动态元素的第一索引值作为所述第一静态元素的值和所述第二静态元素的值;
确定所述第一IP地址和所述第一端口在第二动态数组中的第二动态元素,将所述第二动态元素的第二索引值作为所述第三静态元素的值和所述第一动态元素的值;
在所述第二动态元素中加载关联值,所述第一动态元素用于体现所述第一段地址和所述第二段地址之间的关联关系,所述关联值用于体现所述第一IP地址和所述第一端口的关联关系,以实现对所述第一IP地址和所述第一端口的加载;其中,
所述静态数组用于存储所述第一段地址、所述第二段地址和所述第一端口在所述第一动态数组和所述第二动态数组中的索引值,所述静态数组中的每个静态元素的值分别表示所述第一动态数组或所述第二动态数组中的其中一个维度的索引值,
所述第一动态数组用于存储所述第一段地址和所述第二段地址,以及所述第一段地址和所述第二段地址的关联关系,所述第二动态数组用于存储所述第一端口以及所述第一端口与所述第一IP 地址之间的关联关系,所述每个第一动态元素分别对应一个唯一的所述第一段地址和所述第二段地址,并唯一表示一个所述第一IP地址,所述每个第二动态元素唯一表示一对所述第一IP地址和所述第一端口。
2.根据权利要求1所述的方法,其特征在于,所述第一索引值包括第一行索引号和第一列索引号,所述第二索引值包括第二行索引号和第二列索引号;
所述将所述第一动态元素的第一索引值作为所述第一静态元素和所述第二静态元素的值,包括:将所述第一列索引号作为所述第一静态元素的值,将所述第一行索引号作为所述第二静态元素的值,或
将所述第一列索引号作为所述第二静态元素的值,将所述第一行索引号作为所述第一静态元素的值;
所述将所述第二动态元素的第二索引值作为所述第三静态元素和所述第一动态元素的值,包括:将所述第二行索引号作为所述第三静态元素的值,将所述第二列索引号作为所述第一动态元素的值,或
将所述第二列索引号作为所述第三静态元素的值,将所述第二行索引号作为所述第一动态元素的值。
3.根据权利要求1所述的方法,其特征在于,所述静态数组包括第一静态数组、第二静态数组和第三静态数组;
确定所述第一段地址在静态数组中的第一静态元素、所述第二段地址在所述静态数组中的第二静态元素、所述第一端口在所述静态数组中的第三静态元素,包括:
根据所述第一段地址与所述第一静态数组中的元素的对应关系确定所述第一段地址在第一静态数组中的第一静态元素;
根据所述第二段地址与所述第二静态数组中的元素的对应关系确定所述第二段地址在第二静态数组中的第二静态元素;
根据所述第一端口与所述第三静态数组中的元素的对应关系确定所述第一端口在第三静态数组中的第三静态元素。
4.根据权利要求1所述的方法,其特征在于,所述确定所述第一段地址和所述第二段地址在第一动态数组中的第一动态元素,将所述第一动态元素的第一索引值作为所述第一静态元素和所述第二静态元素的值,包括:
检测所述第一段地址和/或所述第二段地址是否在所述第一动态数组中存在;
当不存在所述第一段地址时,在所述第一动态数组中新增行或列,并将所述新增行或列的索引值作为所述第一静态元素的值;和/或
当不存在所述第二段地址时,在所述第一动态数组中新增列或行,并将所述新增列或行的索引值作为加载所述第二静态元素的值。
5.根据权利要求1所述的方法,其特征在于,所述确定所述第一IP地址和所述第一端口在第二动态数组中的第二动态元素,将所述第二动态元素的第二索引值作为所述第三静态元素和所述第一动态元素的值,包括:
检测所述第一IP地址和/或所述第一端口是否在所述第二动态数组中存在;
当不存在所述第一端口时,在所述第二动态数组中新增行或列,并将所述新增行或列的索引值作为所述第三静态元素的值;和/或
当不存在所述第一IP地址时,在所述第二动态数组中新增列或行,并将所述新增列或行的索引值作为所述第一动态元素的值。
6.根据权利要求1所述的方法,其特征在于,在所述将所述第一IP地址划分为第一段地址和第二段地址之前,还包括:
针对所有待加载的第一访问地址信息,以第一端口为维度,按照第一端口包含的第一IP地址的数量对所有待加载的第一访问地址信息进行排序;
所述获取待加载的第一访问地址信息,包括:按照所述排序来获取待加载的第一访问地址信息。
7.一种流量处理方法,其特征在于,所述方法包括:
获取待识别流量的第二访问地址信息,所述第二访问地址信息中包含第二IP地址和第二端口;
将所述第二IP地址拆分成第一段地址和第二段地址;
确定所述第一段地址在静态数组中对应的第一静态元素,和/或确定所述第二段地址在所述静态数组中对应的第二静态元素,和/或确定所述第二端口在所述静态数组中对应的第三静态元素,和/或确定所述第二IP地址在第一动态数组中对应的第一动态元素;
针对所述第二访问地址信息进行以下一项或多项检测:检测所述第一静态元素是否存在第一动态数组的第一索引值,检测所述第二静态元素是否存在第一动态数组的第二索引值,检测第三静态数组中是否存在所述第二动态数组的第三索引值,检测所述第一动态元素中是否存在第四索引值;
当所述一项或多项检测的每一项检测结果均为是时,根据所述第三索引值和所述第四索引值在所述第二动态数组中索引出对应的第二动态元素;
当所述第二动态元素中存在关联值时,判定所述待识别流量为关注的流量;
当所述一项或多项检测中存在至少一项检测结果为否,或者第二动态元素中不存在关联值时,判定所述待识别流量为背景流量,所述静态数组、所述第一动态数组、所述第二动态数组为采用权利要求1至6中任意一项访问地址信息加载方法所得到的。
8.根据权利要求7所述的方法,其特征在于,针对所述第二访问地址信息进行以下一项或多项检测:检测所述第一静态元素是否存在第一动态数组的第一索引值,检测所述第二静态元素是否存在第一动态数组的第二索引值,检测所述第三静态数组中是否存在所述第二动态数组的第二索引值,检测所述第一动态元素中是否存在第四索引值,包括:
按照如下顺序进行检测:
检测所述第三静态数组中是否存在所述第二动态数组的第三索引值,若是,则
检测所述第一静态元素是否存在第一动态数组的第一索引值,若是,则
检测所述第二静态元素是否存在第一动态数组的第二索引值,若是,则
根据所述第一索引值和所述第二索引值在所述第一动态数组中索引出所述第一动态元素,检测所述第一动态元素中是否存在第四索引值;
当其中任意一项检测结果为否时,终止对流量查询请求的检测。
9.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至8中任一项所述的方法。
10.一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1至8中任一项所述的方法。
CN202210700959.0A 2022-06-21 2022-06-21 访问地址信息加载方法、流量处理方法和电子设备 Active CN114785742B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210700959.0A CN114785742B (zh) 2022-06-21 2022-06-21 访问地址信息加载方法、流量处理方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210700959.0A CN114785742B (zh) 2022-06-21 2022-06-21 访问地址信息加载方法、流量处理方法和电子设备

Publications (2)

Publication Number Publication Date
CN114785742A CN114785742A (zh) 2022-07-22
CN114785742B true CN114785742B (zh) 2022-09-16

Family

ID=82420367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210700959.0A Active CN114785742B (zh) 2022-06-21 2022-06-21 访问地址信息加载方法、流量处理方法和电子设备

Country Status (1)

Country Link
CN (1) CN114785742B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347376B1 (en) * 1999-08-12 2002-02-12 International Business Machines Corp. Security rule database searching in a network security environment
US8656026B1 (en) * 2004-05-03 2014-02-18 Cisco Technology, Inc. Associating network address lease information with user data
CN112506814A (zh) * 2020-11-17 2021-03-16 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统
CN113391855A (zh) * 2021-06-18 2021-09-14 北京沃东天骏信息技术有限公司 一种信息处理方法及装置、存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996559B1 (en) * 1999-12-23 2006-02-07 Nortel Networks Limited IP address resolution methods and apparatus
TWI232655B (en) * 2002-05-07 2005-05-11 Realtek Semiconductor Corp Device and method for network address-port translation
CN100356752C (zh) * 2003-06-14 2007-12-19 华为技术有限公司 一种网络地址资源的利用方法
US20050169169A1 (en) * 2004-01-30 2005-08-04 Srinivas Gadde Determination of an endpoint association from a transport address
CN100502353C (zh) * 2005-09-22 2009-06-17 中兴通讯股份有限公司 信令流分发方法及信令分发处理单元
US7577801B1 (en) * 2005-12-06 2009-08-18 Azul Systems, Inc. Array access
US9276853B2 (en) * 2012-04-10 2016-03-01 Viavi Solutions Inc. Hashing of network packet flows for efficient searching
CN102752216B (zh) * 2012-07-13 2015-11-04 中国科学院计算技术研究所 一种识别动态特征应用流量的方法
CN111241108B (zh) * 2020-01-16 2023-12-26 北京百度网讯科技有限公司 基于键值对kv系统的索引方法、装置、电子设备和介质
CN112187784B (zh) * 2020-09-25 2022-12-16 绿盟科技集团股份有限公司 一种网络信息匹配方法、装置及可读存储介质
CN112468410B (zh) * 2020-11-05 2021-10-22 武汉绿色网络信息服务有限责任公司 一种增强网络流量特征准确率的方法和装置
CN113468079B (zh) * 2021-09-03 2021-11-19 支付宝(杭州)信息技术有限公司 内存访问方法及装置
CN114327833A (zh) * 2021-12-31 2022-04-12 上海阅维科技股份有限公司 一种基于软件定义复杂规则的高效流量处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347376B1 (en) * 1999-08-12 2002-02-12 International Business Machines Corp. Security rule database searching in a network security environment
US8656026B1 (en) * 2004-05-03 2014-02-18 Cisco Technology, Inc. Associating network address lease information with user data
CN112506814A (zh) * 2020-11-17 2021-03-16 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统
CN113391855A (zh) * 2021-06-18 2021-09-14 北京沃东天骏信息技术有限公司 一种信息处理方法及装置、存储介质

Also Published As

Publication number Publication date
CN114785742A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
US20160188723A1 (en) Cloud website recommendation method and system based on terminal access statistics, and related device
Beckett et al. FALCON: a software package for analysis of nestedness in bipartite networks
CN109460386B (zh) 基于多维模糊哈希匹配的恶意文件同源性分析方法及装置
US9619501B2 (en) Index scan device and index scan method
CN108536739B (zh) 元数据敏感信息字段识别方法、装置、设备及存储介质
CN105843899B (zh) 一种可简化编程的大数据自动化解析方法及系统
CN104182519A (zh) 一种文件扫描方法及装置
CN113965389A (zh) 一种基于防火墙日志的网络安全管理方法、设备及介质
CN111177719A (zh) 地址类别判定方法、装置、计算机可读存储介质及设备
CN114785742B (zh) 访问地址信息加载方法、流量处理方法和电子设备
CN107153692B (zh) 一种字符串匹配的方法及设备
CN106844553B (zh) 基于样本数据的数据探测和扩充方法及装置
CN112632528A (zh) 威胁情报生成方法、设备、存储介质及装置
CN110825947B (zh) Url去重方法、装置、设备与计算机可读存储介质
CN109710860B (zh) 一种url分类匹配的方法及装置
CN109992960B (zh) 一种伪造参数检测方法、装置、电子设备及存储介质
CN106446687B (zh) 恶意样本的检测方法及装置
CN115688099A (zh) 计算机病毒检索方法、装置、计算机设备及存储介质
CN111953813A (zh) Ip地址的识别方法、系统、电子设备及存储介质
CN115643044A (zh) 数据处理方法、装置、服务器及存储介质
CN110825976B (zh) 网站页面的检测方法、装置、电子设备及介质
JP2023042138A (ja) 因果探索装置
CN111723229B (zh) 数据比对方法、装置、计算机可读存储介质和电子设备
CN111580856A (zh) 针对mips架构的物联网设备组件版本信息提取方法
CN111225079A (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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20220722

Assignee: Hangzhou Jintou Finance Leasing Co.,Ltd.

Assignor: Flash it Co.,Ltd.

Contract record no.: X2022980028282

Denomination of invention: Access address information loading method, traffic processing method and electronic device

Granted publication date: 20220916

License type: Exclusive License

Record date: 20230112

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Access address information loading method, traffic processing method and electronic device

Effective date of registration: 20230115

Granted publication date: 20220916

Pledgee: Hangzhou Jintou Finance Leasing Co.,Ltd.

Pledgor: Flash it Co.,Ltd.

Registration number: Y2023980031389

PE01 Entry into force of the registration of the contract for pledge of patent right
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 311121 Room 101, Building 9, No. 998, Wenyi West Road, Wuchang Subdistrict, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: Flash it Co.,Ltd.

Address before: 310000 Room 608, Building No. 998 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee before: Flash it Co.,Ltd.

EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: Hangzhou Jintou Finance Leasing Co.,Ltd.

Assignor: Flash it Co.,Ltd.

Contract record no.: X2022980028282

Date of cancellation: 20240327

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20220916

Pledgee: Hangzhou Jintou Finance Leasing Co.,Ltd.

Pledgor: Flash it Co.,Ltd.

Registration number: Y2023980031389

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Access address information loading method, traffic processing method, and electronic device

Granted publication date: 20220916

Pledgee: The Bank of Hangzhou branch of Limited by Share Ltd. sea park

Pledgor: Flash it Co.,Ltd.

Registration number: Y2024980014339