一种应用层网关的报文关联方法及装置与流程

文档序号:31607337发布日期:2022-09-21 11:16阅读:123来源:国知局
一种应用层网关的报文关联方法及装置与流程

1.本发明计算机安全技术领域,尤其涉及一种应用层网关的报文关联方法及装置。


背景技术:

2.nat英文全称是“network address translation”,中文意思是“网络地址转换”,它是一个ietf(internet engineering task force,internet工程任务组)标准,是一种把内部私有ip地址翻译成公有ip地址的技术;其中,dnat是指目的地址转换,用于内部网络对外提供服务,外部网络主动发起连接请求,路由器或者网关设备对请求报文的目的地址做nat,将公有ip转换为私有ip,进而访问内部网络的服务。而alg的英文全称是application level gateway,中文名是应用层网关,主要完成对报文应用层的处理。nat只对报文传输层中的ip地址和端口信息进行转换,然而有一些特殊协议,在报文的数据载荷中携带了连接所需要的ip地址或端口信息,这些信息在数据载荷中,nat不处理这些内容,这就是alg的用武之地。
3.一个报文在经过dnat+alg之后,目的ip(或者ip+端口)发生了转换,这样同一个报文在转换前后五元组(源ip、源端口、目的ip、目的端口、协议类型)就不一样了,很多流量分析设备、网络安全设备需要对dnat+alg前后的同一个报文进行追踪,但dnat+alg设备(例如路由器或者网关)上才有转换前后的对应关系,第三方设备无法得到,除非dnat+alg设备开放查询接口,这在实际应用中不具有可行性。因此,现在亟需一种实现高效快速在应用层网关进行报文关联的方法来解决上述问题。


技术实现要素:

4.有鉴于此,有必要提供及一种应用层网关的报文关联方法及装置,用以克服现有技术中对经过dnat+alg的流量报文关联困难的问题。
5.为了解决上述技术问题,本发明提供一种应用层网关的报文关联方法,包括:
6.获取流量探针接入的第一网络流量和第二网络流量,其中,所述第一网络流量为经网络地址转换和/或应用层网关处理之前的原报文,所述第二网络流量为经网络地址转换和/或应用层网关处理之后的转换报文;
7.分别读取所述第一网络流量和所述第二网络流量的至少一种报文特征信息;
8.对所述第一网络流量和所述第二网络流量对应的应用层协议进行解析,确定报文应用层协议类型;
9.针对不同的报文应用层协议类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文。
10.进一步地,所述流量探针的上一个接口接入所述第一网络流量,所述流量探针的下一个接口接入所述第二网络流量。
11.进一步地,所述至少一种报文特征信息包括第一五元组信息、第一方向信息、第一时间信息、第二五元组信息、第二方向信息、第二时间信息、tcp包的seq序号、udp包数据载
荷的md5值中的至少一种,所述分别读取所述第一网络流量和所述第二网络流量的至少一种报文特征信息,包括:
12.读取所述第一网络流量的第一五元组信息、第一方向信息、第一时间信息;
13.读取所述第二网络流量的第二五元组信息、第二方向信息、第二时间信息,其中,所述第一五元组信息和所述第二五元组信息用于记录源ip、源端口、目的ip、目的端口、协议类型,所述第一方向信息和所述第二方向信息用于记录报文从内网到外网还是从外网到内网的方向,所述第一时间信息和所述第二时间信息用于记录收到报文的时间;
14.若所述第一网络流量或所述第一网络流量属于tcp流量,则还读取tcp包的seq序号;
15.若所述第一网络流量或所述第一网络流量属于udp流量,则还读取根据udp包数据载荷进行计算得到的md5值。
16.进一步地,所述对所述第一网络流量和所述第二网络流量对应的应用层协议进行解析,确定报文应用层协议类型,包括:
17.对所述第一网络流量和所述第二网络流量对应的应用层协议进行解析,确定所述第一网络流量和所述第二网络流量属于单一的经网络地址转换的第一报文类别,还是经网络地址转换和应用层网关处理之后的第二报文类别。
18.进一步地,所述报文应用层协议类型包括第一报文类别;所述针对不同的报文应用层协议类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文,包括:
19.针对所述第一报文类别的所述第二网络流量,在预存数据库进行查询;
20.若查询到与所述第二网络流量关联的报文记录,则读取对应的关联结果,确定与所述第二网络流量关联的关联报文;
21.若未查询到与所述第二网络流量关联的报文记录,则根据对比第一五元组信息和第二五元组信息、所述第一网络流量和所述第二网络流量的tcp包的seq序号和/或udp包数据载荷的md5值、第一时间信息和第二时间信息判断是否满足关联条件,若满足,则确定所述第一网络流量为所述第二网络流量的关联报文。
22.进一步地,在所述若都对比结果一致,则确定所述第一网络流量为所述第二网络流量的关联报文之后,还包括:分别将所述第一网络流量和所述第二网络流量的至少一种报文特征信息添加至所述预存数据库,作为关联报文组。
23.进一步地,所述报文应用层协议类型包括第二报文类别;所述针对不同的报文应用层协议类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文,包括:
24.针对所述第二报文类别的所述第二网络流量,判断所属的连接类型;
25.针对不同的连接类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文。
26.进一步地,所述连接类型包括控制连接,所述针对不同的连接类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文,包括:
27.当所述第二报文类别的所述第二网络流量属于所述控制连接,在预存数据库进行查询;
28.若查询到与所述第二网络流量关联的报文记录,则读取对应的关联结果,确定与所述第二网络流量关联的关联报文;
29.若未查询到与所述第二网络流量关联的报文记录,则根据对比第一五元组信息和第二五元组信息、所述第一网络流量和所述第二网络流量的tcp包的seq序号和/或udp包数据载荷的md5值、第一时间信息和第二时间信息判断是否满足关联条件,若满足,则确定所述第一网络流量为所述第二网络流量的关联报文;
30.继续解析报文应用层,提取并记录所述第二网络流量转换前后携带的数据连接服务器端的ip信息和端口信息,形成记录信息。
31.进一步地,所述连接类型包括数据连接,所述针对不同的连接类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文,包括:
32.当所述第二报文类别的所述第二网络流量属于所述数据连接,在预存数据库进行查询;
33.若查询到与所述第二网络流量关联的报文记录,则读取对应的关联结果,确定与所述第二网络流量关联的关联报文;
34.若未查询到与所述第二网络流量关联的报文记录,则根据所述第二网络流量转换前后携带的数据连接服务器端的ip信息和端口信息,在预存的所述记录信息中匹配,若匹配命中,则读取对应的关联结果,确定与所述第二网络流量关联的关联报文,并将对应的至少一种报文特征信息写入所述预存数据库。
35.本发明还提供一种应用层网关的报文关联装置,包括:
36.获取单元,用于获取流量探针接入的第一网络流量和第二网络流量,其中,所述第一网络流量为经网络地址转换和/或应用层网关处理之前的原报文,所述第二网络流量为经网络地址转换和/或应用层网关处理之后的转换报文;
37.处理单元,用于分别读取所述第一网络流量和所述第二网络流量的至少一种报文特征信息;还用于对所述第一网络流量和所述第二网络流量对应的应用层协议进行解析,确定报文应用层协议类型;
38.关联单元,用于针对不同的报文应用层协议类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文。
39.与现有技术相比,本发明的有益效果包括:首先,对转换前后的流量报文进行有效的获取;然后,读取转换前的第一网络流量对应的多种报文特征信息和转换后的第二网络流量对应的多种报文特征信息,以此反馈两者的信息特征,便于后续的对比关联;进而,对两种报文的应用层协议进行区分,判断所属的报文应用层协议类型,分情况进行有效的判断;最后,对于每一种报文应用层协议类型,利用其报文特征信息,选择不同的方法,针对性进行关联,保证不同情况下的关联准确度,更具灵活性和针对性。综上,本发明提出一种根据dnat和alg自身的特点来对转换前后的同一个报文进行关联的方法,高效快捷实现dnat+alg转换前后同一个报文的关联,可应用于对流量进行溯源的流量分析、网络安全、网络监控设备等多种领域。
附图说明
40.图1为本发明提供的应用层网关的报文关联方法一实施例的流程示意图;
41.图2为本发明提供的图1中步骤s102一实施例的流程示意图;
42.图3为本发明提供的图1中步骤s104一实施例的流程示意图;
43.图4为本发明提供的图1中步骤s104另一实施例的流程示意图;
44.图5为本发明提供的图4中步骤s402一实施例的流程示意图;
45.图6为本发明提供的图4中步骤s402另一实施例的流程示意图;
46.图7为本发明提供的应用层网关的报文关联装置一实施例的结构示意图;
47.图8为本发明提供的电子设备一实施例的结构示意图。
具体实施方式
48.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
49.在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。此外,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
50.在本发明的描述中,提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,所描述的实施例可以与其它实施例相结合。
51.本发明提供了一种应用层网关的报文关联方法及装置,根据dnat和alg自身的特点来对转换前后的同一个报文进行关联,保证报文关联的准确度,为进一步提高报文关联的高效性提供了新思路。
52.在实施例描述之前,对涉及到的相关词语进行释义:
53.网络地址转换(network address translation,nat):一种把内部私有ip地址翻译成公有ip地址的技术;其中,rfc1918规定了三块专有的地址,作为私有的内部ip使用,如下所示:
54.a类:10.0.0.0—10.255.255.255 10.0.0.0/8;b类:172.16.0.0—172.31.255.255172.16.0.0/12;c类:192.168.0.0—192.168.255.255 192.168.0.0/16;
55.在内部网络使用私有ip地址,通过nat技术转换成公有ip,再通过公有ip接入internet,可以节省公有ip地址,同时实现了内外网隔离,由于这些好处,nat技术是一种普遍在用的技术,nat有三种类型,如下所示:
56.静态nat(static nat)(一对一):将内部网络的私有ip地址一对一转换为公有ip地址;
57.动态地址nat(pooled nat)(多对多):将内部网络的私有ip地址转换为公用ip地址时,公有ip地址是不确定的,可以是公有ip地址池中任一可用的ip地址;
58.网络地址端口转换napt(network address port translation)(多对一):napt与动态nat不同,将私有ip映射到同一个公有ip上,同时在该地址上加上一个由nat设备选定的端口号,以端口号来区分不同的私有ip。napt是最常用的nat技术,也是ipv4能够维持到今天的最重要的原因之一。napt又可以分为snat与dnat:snat是指源地址转换,用于内部网
络的私有ip主动访问公有网络,内部私有ip主动访问公网上的服务时,会主动发起连接请求,路由器或者网关设备对请求报文的源地址做nat,将私有ip转换为公有ip,进而访问internet;dnat是指目的地址转换,用于内部网络对外提供服务,外部网络主动发起连接请求,路由器或者网关设备对请求报文的目的地址做nat,将公有ip转换为私有ip,进而访问内部网络的服务;
59.应用层网关(application level gateway,alg):主要完成对报文应用层的处理。nat只对报文传输层中的ip地址和端口信息进行转换,然而有一些特殊协议,在报文的数据载荷中携带了连接所需要的ip地址或端口信息,这些信息在数据载荷中,nat不处理这些内容,这就是alg的用武之地。例如,ftp协议由数据连接和控制连接共同完成,数据连接的服务器ip和端口信息由控制连接的数据载荷部分携带给客户端,如果ftp服务器在内网,控制连接所携带的ip和端口是内网的ip和端口,这就需要alg来完成内网ip和端口到外网端口和端口的转换,以保证后续数据连接的正确建立。类似的协议还有sip、rtsp、h.323等。
60.基于上述技术名词的描述,通常客户端使用snat即可,服务器端需要使用一台兼具dnat与alg功能的设备,现有技术往往需要开放设备查询接口,才能对经dnat与alg转换后的报文进行关联,但开放接口在实际应用中不具有可行性。因而,本发明旨在提出一种高效准确的应用层网关的报文关联方法及装置。
61.以下分别对具体实施例进行详细说明:
62.本发明实施例提供了一种应用层网关的报文关联方法,结合图1来看,图1为本发明提供的应用层网关的报文关联方法一实施例的流程示意图,上述方法包括步骤s101至步骤s103,其中:
63.在步骤s101中,获取流量探针接入的第一网络流量和第二网络流量,其中,所述第一网络流量为经网络地址转换和/或应用层网关处理之前的原报文,所述第二网络流量为经网络地址转换和/或应用层网关处理之后的转换报文;
64.在步骤s102中,分别读取所述第一网络流量和所述第二网络流量的至少一种报文特征信息;
65.在步骤s103中,对所述第一网络流量和所述第二网络流量对应的应用层协议进行解析,确定报文应用层协议类型;
66.在步骤s104中,针对不同的报文应用层协议类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文。
67.在本发明实施例中,首先,对转换前后的流量报文进行有效的获取;然后,读取转换前的第一网络流量对应的多种报文特征信息和转换后的第二网络流量对应的多种报文特征信息,以此反馈两者的信息特征,便于后续的对比关联;进而,对两种报文的应用层协议进行区分,判断所属的报文应用层协议类型,分情况进行有效的判断;最后,对于每一种报文应用层协议类型,利用其报文特征信息,选择不同的方法,针对性进行关联,保证不同情况下的关联准确度,更具灵活性和针对性。
68.作为优选的实施例,所述流量探针的上一个接口接入所述第一网络流量,所述流量探针的下一个接口接入所述第二网络流量。在本发明实施例中,。
69.作为优选的实施例,结合图2来看,图2为本发明提供的图1中步骤s102一实施例的流程示意图,上述步骤s102包括步骤s201至步骤s204,其中:
70.在步骤s201中,读取所述第一网络流量的第一五元组信息、第一方向信息、第一时间信息;
71.在步骤s202中,读取所述第二网络流量的第二五元组信息、第二方向信息、第二时间信息,其中,所述第一五元组信息和所述第二五元组信息用于记录源ip、源端口、目的ip、目的端口、协议类型,所述第一方向信息和所述第二方向信息用于记录报文从内网到外网还是从外网到内网的方向,所述第一时间信息和所述第二时间信息用于记录收到报文的时间;
72.在步骤s203中,若所述第一网络流量或所述第一网络流量属于tcp流量,则还读取tcp包的seq序号;
73.在步骤s204中,若所述第一网络流量或所述第一网络流量属于udp流量,则还读取udp包数据载荷的md5值。
74.在本发明实施例中,有效去读取多种报文特征信息,判断是否满足后续的关联报文条件。
75.作为优选的实施例,步骤s103具体包括:
76.对所述第一网络流量和所述第二网络流量对应的应用层协议进行解析,确定所述第一网络流量和所述第二网络流量属于单一的经网络地址转换的第一报文类别,还是经网络地址转换和应用层网关处理之后的第二报文类别。
77.作为优选的实施例,所述报文应用层协议类型包括第一报文类别,结合图3来看,图3为本发明提供的图1中步骤s104一实施例的流程示意图,上述步骤s104包括步骤s301至步骤s303,其中:
78.在步骤s301中,针对所述第一报文类别的所述第二网络流量,在预存数据库进行查询;
79.在步骤s302中,若查询到与所述第二网络流量关联的报文记录,则读取对应的关联结果,确定与所述第二网络流量关联的关联报文;
80.在步骤s303中,若未查询到与所述第二网络流量关联的报文记录,则根据对比第一五元组信息和第二五元组信息、所述第一网络流量和所述第二网络流量的tcp包的seq序号和/或udp包数据载荷的md5值、第一时间信息和第二时间信息判断是否满足关联条件,若满足,则确定所述第一网络流量为所述第二网络流量的关联报文。
81.在本发明实施例中,具体而言,dnat只会修改报文的目的ip或者端口,可以把源ip或者端口作为关联条件一,两者相同则满足关联条件一。对于tcp报文,可以把tcp seq作为关联条件二,一条tcp会话的初始seq是一个随机值,在握手的时候生成,以后每成功传输n个字节,seq就加n,在一个极短的时间内,两个不同报文的tcp seq相同的概率极低;对于udp报文,可以把数据载荷的md5值作为关联条件二,两者相同则满足关联条件二;此外,需要关联的两个报文,只隔一个nat设备,一般时延很小(毫秒级),为上述判断方法提供了前提。对于只需要使用nat功能的协议,通过这三个条件进行关联,同时满足三个条件即可,具有实践上的可行性。
82.作为优选的实施例,步骤s303之后还包括:
83.分别将所述第一网络流量和所述第二网络流量的至少一种报文特征信息添加至所述预存数据库,作为关联报文组。
84.在本发明实施例中,有效根据关联成功的报文更新预存数据库。
85.作为优选的实施例,所述报文应用层协议类型包括第二报文类别,结合图4来看,图4为本发明提供的图1中步骤s104另一实施例的流程示意图,上述步骤s104包括步骤s401至步骤s402,其中:
86.在步骤s401中,针对所述第二报文类别的所述第二网络流量,判断所属的连接类型;
87.在步骤s402中,针对不同的连接类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文。
88.在本发明实施例中,根据连接类型,进一步区分多种报文关联的不同情况,实现报文的针对性关联。
89.作为优选的实施例,所述连接类型包括控制连接,结合图5来看,图5为本发明提供的图4中步骤s402一实施例的流程示意图,上述步骤s402包括步骤s501至步骤s504,其中:
90.在步骤s501中,当所述第二报文类别的所述第二网络流量属于所述控制连接,在预存数据库进行查询;
91.在步骤s502中,若查询到与所述第二网络流量关联的报文记录,则读取对应的关联结果,确定与所述第二网络流量关联的关联报文;
92.在步骤s503中,若未查询到与所述第二网络流量关联的报文记录,则根据对比第一五元组信息和第二五元组信息、所述第一网络流量和所述第二网络流量的tcp包的seq序号和/或udp包数据载荷的md5值、第一时间信息和第二时间信息判断是否满足关联条件,若满足,则确定所述第一网络流量为所述第二网络流量的关联报文;
93.在步骤s504中,继续解析报文应用层,提取并记录所述第二网络流量转换前后携带的数据连接服务器端的ip信息和端口信息,形成记录信息。
94.在本发明实施例中,控制连接并不受alg的影响,所以可以先根据dnat的特点,对转换前后的控制报文进行关联。
95.作为优选的实施例,所述连接类型包括数据连接,结合图6来看,图6为本发明提供的图4中步骤s402另一实施例的流程示意图,上述步骤s402包括步骤s601至步骤s603,其中:
96.在步骤s601中,当所述第二报文类别的所述第二网络流量属于所述数据连接,在预存数据库进行查询;
97.在步骤s602中,若查询到与所述第二网络流量关联的报文记录,则读取对应的关联结果,确定与所述第二网络流量关联的关联报文;
98.在步骤s603中,若未查询到与所述第二网络流量关联的报文记录,则根据所述第二网络流量转换前后携带的数据连接服务器端的ip信息和端口信息,在预存的所述记录信息中匹配,若匹配命中,则读取对应的关联结果,确定与所述第二网络流量关联的关联报文,并将对应的至少一种报文特征信息写入所述预存数据库。
99.在本发明实施例中,对于一些需要用到alg的协议,例如ftp、rtsp、sip、h.323等,这样的协议都有两个连接,一个控制连接,一个数据连接,控制连接携带数据连接所需要的服务器端ip和端口信息,但控制连接并不受alg的影响,所以可以先根据dnat的特点,对转换前后的控制报文进行关联。控制报文关联上之后,解析转换前控制报文的数据载荷,提取
出转换前数据连接服务器端的ip和端口,同时解析转换后控制报文的数据载荷,提取出转换后数据连接服务器端的ip和端口,这样就得到了数据连接服务器端ip和端口的转换关系,数据连接的客户端ip和端口在转换前后都不会变化,只要得到数据连接服务器端ip和端口的转换关系,就完成了数据连接的报文的关联。到这一步控制连接和数据连接的报文都实现了关联。其中,在本发明一个具体实施例中,上述至少一种报文特征信息具体包括但不限于同一报文转换前后的五元组信息、方向、收到报文的时间、tcp包的seq序号、udp包数据载荷的md5值中的至少一种。
100.作为更具体的实施例,对每个五元组信息,每隔预设时间刷新预存数据库数据库中记录的转换信息。在本发明实施例中,预设时间优选为30s,应用层网关由于某些原因可能会重新进行dnat+alg转换,如此,数据库中记录的转换前后的五元组信息可能不准确,所以每隔30s刷新一次数据库中记录的转换信息。
101.下面结合一个具体的应用例,更清楚地说明本发明技术方案,上述关联报文的具体步骤包括:
102.步骤1:部署流量探针,流量探针上一个接口接入dnat+alg前的流量,一个接口接入dnat+alg后的流量。转换前后的流量分别从两个口接入,方便接下来的关联工作;
103.步骤2:对于dnat+alg转换前和转换后流量的每个报文,分别读取并记录报文的五元组(源ip、源端口、目的ip、目的端口、协议类型)、方向(从内网到往网,还是从外网到内网)和收到报文的时间。如果是tcp流量,还需要记录tcp seq;如果是udp流量,记录udp报文数据载荷的md5值;
104.步骤3:对于dnat+alg转换前和转换后流量的每个报文,解析应用层协议,确认该协议需要单一dnat还是dnat+alg。如果只需要单一dnat,跳到步骤4;反之跳到步骤5;
105.步骤4:如果该协议只需要单一dnat,先查数据库中是否有和此报文同五元组的关联记录,如果有,证明是同一个流量会话的报文,直接取数据库中的关联结果,反之根据dnat转换前后报文关联的三个条件进行判断,满足这三个条件,认为这两个报文对应同一个报文,将同一报文转换前后的五元组信息、方向、收到报文的时间写入数据库。如果以上都不满足,证明这两个报文不是对应同一个报文。结束,进入下一个报文的处理;
106.步骤5:如果该协议需要dnat+alg,先解析报文应用层,确定该报文属于控制连接还是数据连接,如果是控制连接跳到步骤6;反之跳到步骤7;
107.步骤6:如果该报文属于控制连接,先查数据库中是否有和此报文同五元组的关联记录,如果有,证明是同一个流量会话的报文,直接取数据库中的关联结果,反之根据dnat转换前后报文关联的三个条件进行判断,满足这三个条件,认为这两个报文对应同一个报文,将同一报文转换前后的五元组信息、方向、收到报文的时间写入数据库。再继续解析报文应用层,提取报文中携带的数据连接服务器端的ip和端口信息。将数据连接服务器端转换前和转换后的ip和端口信息记录下来。结束,进入下一个报文的处理;
108.步骤7:如果该报文数据连接,先查数据库中是否有和此报文同五元组的关联记录,如果有,证明是同一个流量会话的报文,直接取数据库中的关联结果,反之根据步骤7记录的数据连接服务器端转换前和转换后的ip和端口信息进行匹配,如能匹配上,认为这两个报文对应同一个报文,将同一报文转换前后的五元组信息、方向、收到报文的时间写入数据库。结束,进入下一个报文的处理。
109.本发明实施例还提供了一种应用层网关的报文关联装置,结合图7来看,图7为本发明提供的应用层网关的报文关联装置一实施例的结构示意图,应用层网关的报文关联装置700包括:
110.获取单元701,用于获取流量探针接入的第一网络流量和第二网络流量,其中,所述第一网络流量为经网络地址转换和/或应用层网关处理之前的原报文,所述第二网络流量为经网络地址转换和/或应用层网关处理之后的转换报文;
111.处理单元702,用于分别读取所述第一网络流量和所述第二网络流量的至少一种报文特征信息;还用于对所述第一网络流量和所述第二网络流量对应的应用层协议进行解析,确定报文应用层协议类型;
112.关联单元703,用于针对不同的报文应用层协议类型,根据所述至少一种报文特征信息,判断所述第一网络流量和所述第二网络流量是否属于同一报文。
113.应用层网关的报文关联装置的各个单元的更具体实现方式可以参见对于上述应用层网关的报文关联方法的描述,且具有与之相似的有益效果,在此不再赘述。
114.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如上所述的应用层网关的报文关联方法。
115.一般来说,用于实现本发明方法的计算机指令的可以采用一个或多个计算机可读的存储介质的任意组合来承载。非临时性计算机可读存储介质可以包括任何计算机可读介质,除了临时性地传播中的信号本身。
116.计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
117.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言,特别是可以使用适于神经网络计算的python语言和基于tensorflow、pytorch等平台框架。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
118.本发明实施例还提供了一种电子设备,结合图8来看,图8为本发明提供的电子设备一实施例的结构示意图,电子设备800包括处理器801、存储器802及存储在存储器802上并可在处理器801上运行的计算机程序,处理器801执行程序时,实现如上所述的应用层网关的报文关联方法。
119.作为优选的实施例,上述电子设备800还包括显示器803,用于显示处理器801执行
应用层网关的报文关联方法后的数据处理结果。
120.示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器802中,并由处理器801执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在电子设备800中的执行过程。例如,计算机程序可以被分割成多个单元,各单元的具体功能如上述各个子步骤所述,在此不一一赘述。
121.电子设备800可以是带可调摄像头模组的桌上型计算机、笔记本、掌上电脑或智能手机等设备。
122.其中,处理器801可能是一种集成电路芯片,具有信号的处理能力。上述的处理器801可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
123.其中,存储器802可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。其中,存储器802用于存储程序,所述处理器801在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的方法可以应用于处理器801中,或者由处理器801实现。
124.其中,显示器803可以是lcd显示屏,也可以是led显示屏。例如,手机上的显示屏。
125.可以理解的是,图8所示的结构仅为电子设备800的一种结构示意图,电子设备800还可以包括比图8所示更多或更少的组件。图8中所示的各组件可以采用硬件、软件或其组合实现。
126.根据本发明上述实施例提供的计算机可读存储介质和电子设备,可以参照根据本发明实现如上所述的应用层网关的报文关联方法具体描述的内容实现,并具有与如上所述的应用层网关的报文关联方法类似的有益效果,在此不再赘述。
127.本发明公开了一种应用层网关的报文关联方法及装置,首先,对转换前后的流量报文进行有效的获取;然后,读取转换前的第一网络流量对应的多种报文特征信息和转换后的第二网络流量对应的多种报文特征信息,以此反馈两者的信息特征,便于后续的对比关联;进而,对两种报文的应用层协议进行区分,判断所属的报文应用层协议类型,分情况进行有效的判断;最后,对于每一种报文应用层协议类型,利用其报文特征信息,选择不同的方法,针对性进行关联,保证不同情况下的关联准确度,更具灵活性和针对性。
128.本发明技术方案,提出一种根据dnat和alg自身的特点来对转换前后的同一个报文进行关联的方法,高效快捷实现dnat+alg转换前后同一个报文的关联,可应用于对流量进行溯源的流量分析、网络安全、网络监控设备等多种领域。
129.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1