CN113595927A - 一种旁路模式下镜像流量的处理方法和装置 - Google Patents

一种旁路模式下镜像流量的处理方法和装置 Download PDF

Info

Publication number
CN113595927A
CN113595927A CN202110868305.4A CN202110868305A CN113595927A CN 113595927 A CN113595927 A CN 113595927A CN 202110868305 A CN202110868305 A CN 202110868305A CN 113595927 A CN113595927 A CN 113595927A
Authority
CN
China
Prior art keywords
mirror
flow
session
processing
data packet
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.)
Pending
Application number
CN202110868305.4A
Other languages
English (en)
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.)
Beijing Skyguard Network Security Technology Co ltd
Original Assignee
Beijing Skyguard Network Security Technology 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 Beijing Skyguard Network Security Technology Co ltd filed Critical Beijing Skyguard Network Security Technology Co ltd
Priority to CN202110868305.4A priority Critical patent/CN113595927A/zh
Publication of CN113595927A publication Critical patent/CN113595927A/zh
Pending legal-status Critical Current

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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种旁路模式下镜像流量的处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序;基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理。该实施方式保障了负载均衡,提高了镜像流量的处理效率,同时,还拓展了镜像流量处理方法的适用场景。

Description

一种旁路模式下镜像流量的处理方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种旁路模式下镜像流量的处理方法和装置。
背景技术
随着互联网应用的日益普及,网络安全也变得越来越重要,旁路网络流量分析技术是种较为常见的网络安全技术,承担着保护企事业单位/组织内部信息安全的重任。
旁路网络流量分析技术是指在旁路模式下,针对客户端访问服务器所产生的网络流量所对应的镜像流量进行分析,进而根据分析结果来对客户端的网络基础设置进行针对性的部署和管控,以保障客户端的网络安全。
现有技术中至少存在如下问题:
现有方法中通常由执行流量处理的应用程序从缓存中获取全部镜像流量数据包,再依次进行解析处理、分析处理,导致缓存单元与处理单元之间的负载不均衡,镜像流量的处理效率较低,且对于第三方需要利用上述镜像流量的应用程序而言,还需要针对性的独立开发,导致现有的镜像流量处理方法适用场景较窄。
发明内容
有鉴于此,本发明实施例提供一种旁路模式下镜像流量的处理方法和装置,能够对接收到的镜像流量数据包直接进行解析处理,以确定会话,然后将会话对应的镜像流量发送至相关联的流量处理程序,保障了负载均衡,提高了镜像流量的处理效率,同时,还拓展了镜像流量处理方法的适用场景。
为实现上述目的,根据本发明实施例的第一方面,提供了一种旁路模式下镜像流量的处理方法,包括:
配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包;
基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;
响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理。
进一步地,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新,包括:
对镜像流量数据包进行解析处理,以确定镜像流量数据包对应的数据标识和镜像流量;
判断会话集合中是否存在与数据标识对应的会话;
若存在,根据所确定的镜像流量对与数据标识对应的会话进行更新;
若不存在,根据数据标识创建新增会话,将所创建的新增会话存储至会话集合中,以实现对会话集合的更新。
进一步地,还包括:
根据置换算法、会话集合的存储量、会话的存储时长中的一项或多项对会话集合内存储的会话进行更新。
进一步地,还包括:
在对会话集合进行更新的步骤之前,注册流量处理程序创建的回调函数;且
在对会话集合进行更新的步骤之后,根据会话集合中所更新的会话对应的会话类型,调用回调函数与流量处理程序建立连接。
进一步地,基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,包括:
监听IP地址和接收端口;
判断是否存在新增的镜像流量数据包;
若是,对镜像流量数据包进行解析处理。
进一步地,在基于IP地址和接收端口接收镜像流量数据包的步骤之前,还包括:
根据所需求的镜像流量数据类型,确定数据包封装协议,将数据包封装协议发送至抓包程序。
进一步地,还包括:
接收流量处理程序发送的反馈信息,若反馈信息指示处理完成或处理终止,对相应的会话中的镜像流量进行删除处理。
根据本发明实施例的第二方面,提供了一种旁路模式下镜像流量的处理装置,包括:
配置模块,用于配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包;
解析模块,用于基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;
处理模块,用于响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理。
根据本发明实施例的第三方面,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述任一种旁路模式下镜像流量的处理方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一种旁路模式下镜像流量的处理方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包;基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理的技术手段,所以克服了现有方法中存在的负载不均衡,镜像流量的处理效率较低,适用场景较窄技术问题,进而达到保障负载均衡,提高镜像流量的处理效率,拓展镜像流量处理方法的适用场景的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例提供的旁路模式下镜像流量的处理方法的主要流程的示意图;
图2是根据本发明第二实施例提供的旁路模式下镜像流量的处理方法的主要流程的示意图;
图3是根据本发明实施例提供的旁路模式下镜像流量的处理装置的主要模块的示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明第一实施例提供的旁路模式下镜像流量的处理方法的主要流程的示意图;如图1所示,本发明实施例提供的旁路模式下的镜像流量的处理方法主要包括:
步骤S101,配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包。
通过上述设置,配置统一的镜像流量数据包的接收IP地址和对外接收端口信息(主要是端口号),使得获取到该接收IP地址和端口号的抓包程序均能通过该地址和端口发送镜像流量数据包,拓展并简化了获取镜像流量数据的渠道。
进一步地,根据本发明实施例,还包括:
根据所需求的镜像流量数据类型,确定数据包封装协议,将数据包封装协议发送至抓包程序。
根据本发明实施例的一具体实施方式,若仅仅需要获取TCP类型的镜像流量数据,则可制定针对TCP数据包的封装协议,用于对TCP类型的镜像流量数据继续打包处理。上述示例并不作为对本发明的限制,在具体实施时,可根据实际需求制定相应的协议,以获取所需求的镜像流量数据包,避免了资源浪费,提高了镜像流量的处理效率。
步骤S102,基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新。
通过上述设置,对所接收到的镜像流量数据包直接进行解析处理,降低了流量处理程序的负载压力,同时根据解析处理结果确定会话,有助于后续以会话流的形式(模拟客户端/服务器发送交互信息,如请求信息和响应信息)向流量处理程序发送响应的镜像流量数据。
进一步地,根据本发明实施例,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新,包括:
对镜像流量数据包进行解析处理,以确定镜像流量数据包对应的数据标识和镜像流量;
判断会话集合中是否存在与数据标识对应的会话;
若存在,根据所确定的镜像流量对与数据标识对应的会话进行更新;
若不存在,根据数据标识创建新增会话,将所创建的新增会话存储至会话集合中,以实现对会话集合的更新。
具体地,提取镜像流量数据包中的数据标识,从存储会话的会话集合中判断是否存在与该数据标识对应的会话,若存在,表示该数据标识对应的客户端与服务器在此之前以进行过交互,此时可直接将镜像流量插入至加至已存在的会话中,由于后续以会话流的形式向流量处理程序发送镜像数据,通过上述设置,有助于模拟客户端/服务器与流量处理程序进行数据传输,使得镜像流量数据包接收单元和数据解析处理单元对流量处理程序无感,简化了数据传输流程。
优选地,根据本发明实施例,还包括:
根据置换算法、会话集合的存储量、会话的存储时长中的一项或多项对会话集合内存储的会话进行更新。
通过上述设置,有助于及时释放会话集合内的缓存空间,降低会话集合的缓存压力,降低缓存成本。
示例性地,根据本发明实施例,上述方法还包括:
在对会话集合进行更新的步骤之前,注册流量处理程序创建的回调函数;且
在对会话集合进行更新的步骤之后,根据会话集合中所更新的会话对应的会话类型,调用回调函数与流量处理程序建立连接。
根据本发明实施例的一具体实施方式,本发明是以模拟TCP协议的关键行为的方式(主要包括新建连接、接收数据、发送数据、终止连接这四个关键行为)向流量处理程序发送镜像流量数据。在对会话集合进行更新的步骤之前,需要注册流量处理程序创建的回调函数,在对会话集合进行更新的步骤之后,根据会话集合中所更新的会话对应的会话类型,调用回调函数与流量处理程序建立连接。
进一步地,根据本发明实施例,上述基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,包括:
监听IP地址和接收端口;
判断是否存在新增的镜像流量数据包;
若是,对镜像流量数据包进行解析处理。
通过上述设置,通过对IP地址和接收端口进行监听,有助于快速判断是否存在新发送的镜像流量数据包,进而对其进行解析处理。通过上述设置,进一步提高了镜像流量的处理效率。
步骤S103,响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理。
具体地,根据本发明实施例,流量处理程序发送的读取请求中可以指示其所要获取的目标会话,或者目标会话类的目标镜像流量。
进一步地,根据本发明实施例,上述还包括:
接收流量处理程序发送的反馈信息,若反馈信息指示处理完成或处理终止,对相应的会话中的镜像流量进行删除处理。
根据本发明实施例的技术方案,因为采用配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包;基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理的技术手段,所以克服了现有方法中存在的负载不均衡,镜像流量的处理效率较低,适用场景较窄技术问题,进而达到保障负载均衡,提高镜像流量的处理效率,拓展镜像流量处理方法的适用场景的技术效果。
图2是根据本发明第二实施例提供的旁路模式下镜像流量的处理方法的主要流程的示意图;如图2所示,本发明实施例提供的旁路模式下镜像流量的处理方法主要包括:
步骤S201,配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序。
通过上述设置,配置统一的镜像流量数据包的接收IP地址和对外接收端口信息(主要是端口号),使得获取到该接收IP地址和端口号的抓包程序均能通过该地址和端口发送镜像流量数据包,拓展并简化了获取镜像流量数据的渠道。
具体地,镜像流量指示对传输过程中的网络流量(包括上传/出向流量与下载/入向流量)进行镜像复制后得到的。
步骤S202,根据所需求的镜像流量数据类型,确定数据包封装协议,将数据包封装协议发送至抓包程序。
根据本发明实施例的一具体实施方式,若仅仅需要获取TCP类型的镜像流量数据,则可制定针对TCP数据包的封装协议,用于对TCP类型的镜像流量数据继续打包处理(同时,后续还可根据该协议对数据包进行解析,降低了解析处理的复杂度)。上述示例并不作为对本发明的限制,在具体实施时,可根据实际需求制定相应的协议,以获取所需求的镜像流量数据包,避免了资源浪费,提高了镜像流量的处理效率。
步骤S203,监听IP地址和接收端口,判断是否存在新增的镜像流量数据包。若存在,执行步骤S204;若不存在,转到步骤S203,继续监听。
通过上述设置,通过对IP地址和接收端口进行监听,有助于快速判断是否存在新发送的镜像流量数据包,进而对其进行解析处理。通过上述设置,进一步提高了镜像流量的处理效率。
步骤S204,对镜像流量数据包进行解析处理,根据解析处理结果确定会话,并确定镜像流量数据包对应的数据标识和镜像流量。
具体地,可按照五元组的形式(包括源IP地址,源端口,目的IP地址,目的端口和传输层协议;仅为示例,也可以为四元组、七元组等)对镜像流量数据包进行解析,以确定TCP会话,以便于后续模拟会话的形式向流量处理程序发送镜像数据。
通过上述设置,对所接收到的镜像流量数据包直接进行解析处理,降低了流量处理程序的负载压力,同时根据解析处理结果确定会话,有助于后续以会话流的形式(模拟客户端/服务器发送交互信息,如请求信息和响应信息)向流量处理程序发送响应的镜像流量数据。
步骤S205,判断会话集合中是否存在与数据标识对应的会话。若存在,执行步骤S206;若不存在,转到步骤S207。
步骤S206,若存在,根据所确定的镜像流量对与数据标识对应的会话进行更新。
步骤S207,若不存在,根据数据标识创建新增会话,将所创建的新增会话存储至会话集合中,以实现对会话集合的更新。
具体地,提取镜像流量数据包中的数据标识,从存储会话的会话集合中判断是否存在与该数据标识对应的会话,若存在,表示该数据标识对应的客户端与服务器在此之前以进行过交互,此时可直接将镜像流量插入至加至已存在的会话中,由于后续以会话流的形式向流量处理程序发送镜像数据,通过上述设置,有助于模拟客户端/服务器与流量处理程序进行数据传输,使得镜像流量数据包接收单元和数据解析处理单元对流量处理程序无感,简化了数据传输流程。
进一步地,根据本发明实施例,上述方法还包括:
根据置换算法、会话集合的存储量、会话的存储时长中的一项或多项对会话集合内存储的会话进行更新。
通过上述设置,有助于及时释放会话集合内的缓存空间,降低会话集合的缓存压力,降低缓存成本。
优选地,根据本发明实施例,上述方法还包括:
在对会话集合进行更新的步骤之前,注册流量处理程序创建的回调函数;且
在对会话集合进行更新的步骤之后,根据会话集合中所更新的会话对应的会话类型,调用回调函数与流量处理程序建立连接。
根据本发明实施例的一具体实施方式,本发明是以模拟TCP协议的关键行为的方式(主要包括新建连接、接收数据、发送数据、终止连接这四个关键行为)向流量处理程序发送镜像流量数据。在对会话集合进行更新的步骤之前,需要注册流量处理程序创建的回调函数,在对会话集合进行更新的步骤之后,根据会话集合中所更新的会话对应的会话类型,调用回调函数与流量处理程序建立连接。
步骤S208,响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理。
根据本发明实施例的一具体实施方式,当新增一个TCP SYN/SYNACK(请求/响应)数据包时,解析处理后确定一个TCP会话,由于该会话对应的状态包括请求及响应,此时,向相关联的流量处理程序发送通知(指示存在待处理的会话),然后接收流量处理程序的读取请求(流量处理程序与本方法所对应的装置建立连接),本方法所对应的装置通过回调函数将读取请求所指示的目标会话发送至流量处理程序。
根据本发明实施例的另一具体实施方式,当会话集合内发生更新后,本方法所对应的装置通过已注册的回调函数,将更新内容(包括新创建的会话信息、或已创建的会话内的新增会话)保存在回调函数的参数中,然后通过调用回调参数完成对流量处理程序的通知。进一步地,回调函数会返回一个句柄,此句柄唯一标识了一个TCP会话数据流,之后的所有操作都需要此句柄作为参数(即句柄指示了流量处理程序所要读取的会话信息)。
具体地,根据本发明实施例,流量处理程序发送的读取请求中可以指示其所要获取的目标会话,或者目标会话类的目标镜像流量。
进一步地,根据本发明实施例,上述方法还包括:
接收流量处理程序发送的反馈信息,若反馈信息指示处理完成或处理终止,对相应的会话中的镜像流量进行删除处理。
根据本发明实施例的技术方案,因为采用配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包;基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理的技术手段,所以克服了现有方法中存在的负载不均衡,镜像流量的处理效率较低,适用场景较窄技术问题,进而达到保障负载均衡,提高镜像流量的处理效率,拓展镜像流量处理方法的适用场景的技术效果。
图3是根据本发明实施例提供的旁路模式下镜像流量的处理装置的主要模块的示意图;如图3所示,本发明实施例提供的旁路模式下的镜像流量的处理装置300主要包括:
配置模块301,用于配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包。
通过上述设置,配置统一的镜像流量数据包的接收IP地址和对外接收端口信息(主要是端口号),使得获取到该接收IP地址和端口号的抓包程序均能通过该地址和端口发送镜像流量数据包,拓展并简化了获取镜像流量数据的渠道。
进一步地,根据本发明实施例,配置模块301还用于:
根据所需求的镜像流量数据类型,确定数据包封装协议,将数据包封装协议发送至抓包程序。
根据本发明实施例的一具体实施方式,若仅仅需要获取TCP类型的镜像流量数据,则可制定针对TCP数据包的封装协议,用于对TCP类型的镜像流量数据继续打包处理。上述示例并不作为对本发明的限制,在具体实施时,可根据实际需求制定相应的协议,以获取所需求的镜像流量数据包,避免了资源浪费,提高了镜像流量的处理效率。
解析模块302,用于基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新。
通过上述设置,对所接收到的镜像流量数据包直接进行解析处理,降低了流量处理程序的负载压力,同时根据解析处理结果确定会话,有助于后续以会话流的形式(模拟客户端/服务器发送交互信息,如请求信息和响应信息)向流量处理程序发送响应的镜像流量数据。
进一步地,根据本发明实施例,解析模块302还用于:
对镜像流量数据包进行解析处理,以确定镜像流量数据包对应的数据标识和镜像流量;
判断会话集合中是否存在与数据标识对应的会话;
若存在,根据所确定的镜像流量对与数据标识对应的会话进行更新;
若不存在,根据数据标识创建新增会话,将所创建的新增会话存储至会话集合中,以实现对会话集合的更新。
具体地,提取镜像流量数据包中的数据标识,从存储会话的会话集合中判断是否存在与该数据标识对应的会话,若存在,表示该数据标识对应的客户端与服务器在此之前以进行过交互,此时可直接将镜像流量插入至加至已存在的会话中,由于后续以会话流的形式向流量处理程序发送镜像数据,通过上述设置,有助于模拟客户端/服务器与流量处理程序进行数据传输,使得镜像流量数据包接收单元和数据解析处理单元对流量处理程序无感,简化了数据传输流程。
优选地,根据本发明实施例,上述镜像流量的处理装置300还包括会话集合更新模块,用于:
根据置换算法、会话集合的存储量、会话的存储时长中的一项或多项对会话集合内存储的会话进行更新。
通过上述设置,有助于及时释放会话集合内的缓存空间,降低会话集合的缓存压力,降低缓存成本。
示例性地,根据本发明实施例,上述镜像流量的处理装置300还包括连接模块,用于
在对会话集合进行更新的步骤之前,注册流量处理程序创建的回调函数;且
在对会话集合进行更新的步骤之后,根据会话集合中所更新的会话对应的会话类型,调用回调函数与流量处理程序建立连接。
根据本发明实施例的一具体实施方式,本发明是通过模拟TCP协议的关键行为的方式(主要包括新建连接、接收数据、发送数据、终止连接这四个关键行为)向流量处理程序发送镜像流量数据。在对会话集合进行更新的步骤之前,需要通过流量处理程序创建回调函数,并通过调用接收端口将回调函数发送至镜像流量的处理装置300,以将此回调函数注册到镜像流量的处理装置300的通知链上,然后就可根据会话集合内各会话的状态来调用回调函数,通过给其传递不同的参数信息来与流量处理程序建立连接,并完成数据与状态的交互。
根据本发明实施例的一具体实施方式,镜像流量的处理装置300模拟新建连接的过程,主要包括:
当新增一个TCP SYN/SYNACK(请求/响应)数据包时,解析处理后确定一个TCP会话,由于该会话对应的状态包括请求及响应,此时,镜像流量的处理装置300向相关联的流量处理程序发送通知(指示存在待处理的会话),然后接收流量处理程序的读取请求(流量处理程序与本方法所对应的装置建立连接)。此回调函数会返回一个句柄,此句柄唯一标识了一个TCP会话数据流,之后的所有操作都需要此句柄作为参数。
镜像流量的处理装置300模拟新建连接的过程,主要包括:
镜像流量的处理装置300提供了供流量处理程序读取TCP会话数据的接口,通过此接口,流量处理程序可以通过指定的TCP会话句柄指定一个TCP会话数据流,从而可以从此TCP会话数据流中读取任意长度的TCP数据包信息。数据读取的过程就是将TCP会话数据流中的数据块,从TCP会话所在的HASH表中转移到应用程序的处理模块中,此过程并没有任何数据拷贝,从而可以极大的提升处理性能。
镜像流量的处理装置300模拟新建连接的过程,主要包括:
镜像流量的处理装置300提供了发送TCP数据的接口函数,在实际的应用中,由于我们处理的是旁路模式下的镜像数据,因此,不能有任何数据被发送到实际的网络环境中,当流量处理程序决定将数据发送出去时,可以调用此接口,此接口在接收流量处理程序待发送的数据之后,会将此数据销毁(释放掉),并不会真正的发送出去,但是会给流量处理程序返回发送完成的标识。这样就可以模拟发送逻辑但是并不会真正将数据发送到真实的网络环境中。
镜像流量的处理装置300模拟新建连接的过程,主要包括:
镜像流量的处理装置300提供了专门用户关闭一个TCP会话的接口函数,流量处理程序可以利用此接口来关闭一个TCP会话。当流量处理程序的处理逻辑决定关闭一个TCP会话时,可以先终止自己的处理逻辑,然后调用此接口通知镜像流量的处理装置300来销毁此TCP会话数据流中的资源。
进一步地,根据本发明实施例,上述解析模块302还用于:
监听IP地址和接收端口;
判断是否存在新增的镜像流量数据包;
若是,对镜像流量数据包进行解析处理。
通过上述设置,通过对IP地址和接收端口进行监听,有助于快速判断是否存在新发送的镜像流量数据包,进而对其进行解析处理。通过上述设置,进一步提高了镜像流量的处理效率。
处理模块303,用于响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理。
具体地,根据本发明实施例,流量处理程序发送的读取请求中可以指示其所要获取的目标会话,或者目标会话类的目标镜像流量。
进一步地,根据本发明实施例,上述镜像流量的处理装置300还包括反馈信息接收模块,用于:
接收流量处理程序发送的反馈信息,若反馈信息指示处理完成或处理终止,对相应的会话中的镜像流量进行删除处理。
根据本发明实施例的技术方案,因为采用配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包;基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理的技术手段,所以克服了现有方法中存在的负载不均衡,镜像流量的处理效率较低,适用场景较窄技术问题,进而达到保障负载均衡,提高镜像流量的处理效率,拓展镜像流量处理方法的适用场景的技术效果。
图4示出了可以应用本发明实施例的旁路模式下镜像流量的处理方法或旁路模式下镜像流量的处理装置(根据具体案件调整)的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如数据处理类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所(进行数据处理)的服务器(仅为示例)。该服务器可以对接收到的镜像流量数据包等数据进行分析等处理,并将处理结果(例如解析处理结果、目标会话--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的旁路模式下镜像流量的处理方法一般由服务器405执行,相应地,旁路模式下镜像流量的处理装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统500的结构示意图。图5示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括配置模块、解析模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,配置模块还可以被描述为“配置接收镜像流量数据包的IP地址及接收端口信息,将所述IP地址和所述接收端口信息发送至抓包程序的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包;基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理。
根据本发明实施例的技术方案,因为采用配置接收镜像流量数据包的IP地址及接收端口信息,将IP地址和接收端口信息发送至抓包程序,其中,抓包程序用于获取旁路模式下的镜像流量,并将镜像流量封装为镜像流量数据包;基于IP地址和接收端口接收镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;响应于相关联的流量处理程序发送的读取请求,确定读取请求指示的目标会话,并将目标会话中对应的镜像流量发送至流量处理程序,以使得流量处理程序执行相应的业务处理的技术手段,所以克服了现有方法中存在的负载不均衡,镜像流量的处理效率较低,适用场景较窄技术问题,进而达到保障负载均衡,提高镜像流量的处理效率,拓展镜像流量处理方法的适用场景的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种旁路模式下镜像流量的处理方法,其特征在于,包括:
配置接收镜像流量数据包的IP地址及接收端口信息,将所述IP地址和所述接收端口信息发送至抓包程序,其中,所述抓包程序用于获取旁路模式下的镜像流量,并将所述镜像流量封装为镜像流量数据包;
基于所述IP地址和接收端口接收所述镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;
响应于相关联的流量处理程序发送的读取请求,确定所述读取请求指示的目标会话,并将所述目标会话中对应的镜像流量发送至所述流量处理程序,以使得所述流量处理程序执行相应的业务处理。
2.根据权利要求1所述的旁路模式下镜像流量的处理方法,其特征在于,所述对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新,包括:
对所述镜像流量数据包进行解析处理,以确定所述镜像流量数据包对应的数据标识和镜像流量;
判断所述会话集合中是否存在与所述数据标识对应的会话;
若存在,根据所确定的镜像流量对与所述数据标识对应的会话进行更新;
若不存在,根据所述数据标识创建新增会话,将所创建的新增会话存储至会话集合中,以实现对所述会话集合的更新。
3.根据权利要求2所述的旁路模式下镜像流量的处理方法,其特征在于,还包括:
根据置换算法、会话集合的存储量、会话的存储时长中的一项或多项对所述会话集合内存储的会话进行更新。
4.根据权利要求2所述的旁路模式下镜像流量的处理方法,其特征在于,还包括:
在所述对会话集合进行更新的步骤之前,注册所述流量处理程序创建的回调函数;且
在所述对会话集合进行更新的步骤之后,根据所述会话集合中所更新的会话对应的会话类型,调用所述回调函数与所述流量处理程序建立连接。
5.根据权利要求1所述的旁路模式下镜像流量的处理方法,其特征在于,所述基于所述IP地址和接收端口接收所述镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,包括:
监听所述IP地址和所述接收端口;
判断是否存在新增的镜像流量数据包;
若是,对所述镜像流量数据包进行解析处理。
6.根据权利要求1所述的旁路模式下镜像流量的处理方法,其特征在于,在所述基于所述IP地址和接收端口接收所述镜像流量数据包的步骤之前,还包括:
根据所需求的镜像流量数据类型,确定数据包封装协议,将所述数据包封装协议发送至所述抓包程序。
7.根据权利要求1所述的旁路模式下镜像流量的处理方法,其特征在于,还包括:
接收所述流量处理程序发送的反馈信息,若所述反馈信息指示处理完成或处理终止,对相应的会话中的镜像流量进行删除处理。
8.一种旁路模式下镜像流量的处理装置,其特征在于,包括:
配置模块,用于配置接收镜像流量数据包的IP地址及接收端口信息,将所述IP地址和所述接收端口信息发送至抓包程序,其中,所述抓包程序用于获取旁路模式下的镜像流量,并将所述镜像流量封装为镜像流量数据包;
解析模块,用于基于所述IP地址和接收端口接收所述镜像流量数据包,对所接收到的镜像流量数据包进行解析处理,根据解析处理结果确定会话,并对会话集合进行更新;
处理模块,用于响应于相关联的流量处理程序发送的读取请求,确定所述读取请求指示的目标会话,并将所述目标会话中对应的镜像流量发送至所述流量处理程序,以使得所述流量处理程序执行相应的业务处理。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202110868305.4A 2021-07-30 2021-07-30 一种旁路模式下镜像流量的处理方法和装置 Pending CN113595927A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110868305.4A CN113595927A (zh) 2021-07-30 2021-07-30 一种旁路模式下镜像流量的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110868305.4A CN113595927A (zh) 2021-07-30 2021-07-30 一种旁路模式下镜像流量的处理方法和装置

Publications (1)

Publication Number Publication Date
CN113595927A true CN113595927A (zh) 2021-11-02

Family

ID=78252248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110868305.4A Pending CN113595927A (zh) 2021-07-30 2021-07-30 一种旁路模式下镜像流量的处理方法和装置

Country Status (1)

Country Link
CN (1) CN113595927A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134434A (zh) * 2022-06-17 2022-09-30 奇安信科技集团股份有限公司 会话连接的监控方法及装置
CN116112399A (zh) * 2022-12-23 2023-05-12 中核武汉核电运行技术股份有限公司 一种工控网络流量解析系统
CN116527690A (zh) * 2023-05-04 2023-08-01 奇安信科技集团股份有限公司 一种流量镜像方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110798402A (zh) * 2019-10-30 2020-02-14 腾讯科技(深圳)有限公司 业务消息处理方法、装置、设备及存储介质
CN111131192A (zh) * 2019-12-10 2020-05-08 杭州迪普科技股份有限公司 一种旁路防护方法及装置
CN112347501A (zh) * 2019-08-06 2021-02-09 中国移动通信集团广东有限公司 数据处理方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347501A (zh) * 2019-08-06 2021-02-09 中国移动通信集团广东有限公司 数据处理方法、装置、设备及存储介质
CN110798402A (zh) * 2019-10-30 2020-02-14 腾讯科技(深圳)有限公司 业务消息处理方法、装置、设备及存储介质
CN111131192A (zh) * 2019-12-10 2020-05-08 杭州迪普科技股份有限公司 一种旁路防护方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134434A (zh) * 2022-06-17 2022-09-30 奇安信科技集团股份有限公司 会话连接的监控方法及装置
CN116112399A (zh) * 2022-12-23 2023-05-12 中核武汉核电运行技术股份有限公司 一种工控网络流量解析系统
CN116527690A (zh) * 2023-05-04 2023-08-01 奇安信科技集团股份有限公司 一种流量镜像方法及装置
CN116527690B (zh) * 2023-05-04 2024-02-13 奇安信科技集团股份有限公司 一种流量镜像方法及装置

Similar Documents

Publication Publication Date Title
CN113595927A (zh) 一种旁路模式下镜像流量的处理方法和装置
CN111045833B (zh) 接口调用的方法和装置
CN109154968B (zh) 用于组织内的安全且高效的通信的系统和方法
CN108696523B (zh) 一种通话服务的响应方法及设备
CN113517985B (zh) 文件数据处理方法、装置、电子设备及计算机可读介质
CN111930709B (zh) 数据存储方法、装置、电子设备和计算机可读介质
CN112416632B (zh) 事件通信方法、装置、电子设备和计算机可读介质
CN110795741B (zh) 对数据进行安全性处理的方法和装置
CN113364804A (zh) 一种流量数据的处理方法和装置
CN110895468A (zh) 实现业务增强的方法和装置
CN110545230B (zh) 用于转发vxlan报文的方法和装置
CN112015383A (zh) 一种登录方法和装置
CN115941766A (zh) 一种运维数据的处理方法和装置
CN114449523B (zh) 用于卫星测控系统的流量过滤方法、装置、设备及介质
US9450906B2 (en) Managing a messaging queue in an asynchronous messaging system
CN113542431B (zh) 信息处理方法、装置、电子设备及存储介质
CN113765871B (zh) 堡垒机管理的方法和装置
CN114115941A (zh) 资源发送方法、页面渲染方法、装置、电子设备和介质
CN114338461A (zh) 一种网络连接监控方法及相关设备
CN112131095B (zh) 压力测试方法和装置
CN114238928A (zh) 一种远程服务器管理的方法和装置
CN109271310B (zh) 移动应用程序网络功能的开发测试方法和装置
CN112929453A (zh) 一种共享session数据的方法和装置
CN113742617A (zh) 一种缓存更新的方法和装置
CN115037572B (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