CN112202646B - 一种流量分析方法和系统 - Google Patents

一种流量分析方法和系统 Download PDF

Info

Publication number
CN112202646B
CN112202646B CN202011399871.7A CN202011399871A CN112202646B CN 112202646 B CN112202646 B CN 112202646B CN 202011399871 A CN202011399871 A CN 202011399871A CN 112202646 B CN112202646 B CN 112202646B
Authority
CN
China
Prior art keywords
linux server
flow
ethernet frames
mirrored
traffic
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
CN202011399871.7A
Other languages
English (en)
Other versions
CN112202646A (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.)
Guanmai Technology Beijing Co ltd
Original Assignee
Guanmai Technology Beijing 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 Guanmai Technology Beijing Co ltd filed Critical Guanmai Technology Beijing Co ltd
Priority to CN202011399871.7A priority Critical patent/CN112202646B/zh
Publication of CN112202646A publication Critical patent/CN112202646A/zh
Application granted granted Critical
Publication of CN112202646B publication Critical patent/CN112202646B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

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

Abstract

本发明提供了一种流量分析方法和系统,所述Linux服务器的网卡工作在混杂模式;通过ftrace将所述Linux服务器的系统中的ip_rcv函数替换为第一定义函数;所述第一定义函数被配置为忽略对所有的以太网帧的目的MAC地址的判断,而是向内核转发所有的以太网帧;所述方法包括以下步骤:所述Linux服务器的网卡接收所述交换机发送的所有镜像的以太网帧,在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析。由于上述方案对Linux服务器的系统的内核函数进行了修改,使得Linux服务器可以对来自交换机传输的所有镜像的以太网帧进行分析,避免了流量数据包丢失影响分析结果的情况发生。

Description

一种流量分析方法和系统
技术领域
本发明涉及数据流量分析领域,尤其涉及一种流量分析方法和系统。
背景技术
流量指标是网络运维最重要的指标之一,是网络规划设计、协议设计、 业务部署、流量工程实施、攻击检测与故障诊断的基础。通过网络流量的监测和分析可以获得大量网络性能信息、网络服务状况以及网络中存在的攻击或者弱点。通过数据包捕获与协议分析的被动流量监测获得各个协议层次的流量指标,是流量监测分析最常用的方法。
现有获取流量数据包的方法包括串行分析方法和旁路分析方法,串行分析方法通过将流量分析设备串入当前网络的整体系统中,成为整个网络系统中的重要一环,以实现对流量数据的分析监测。串行分析方法需要先对网络系统进行切割,以便接入流量分析设备,且当流量分析设备出现故障时,由于其与其他网络设备是相串联的,容易导致整个网络系统瘫痪。旁路分析方法主要是先对流量数据包进行旁路后再进行分析,但由于各个流量数据包的目的IP不尽相同,容易导致流量数据包丢失且增加了网络延迟。
发明内容
为此,需要提供一种流量分析的技术方案,用以解决现有的流量分析方法容易导致流量数据包丢失、分析效果不佳的问题。
为实现上述目的,本发明第一方面提供了一种流量分析方法,所述流量分析方法应用于流量分析系统,所述流量分析系统包括Linux服务器和交换机;所述交换机与所述Linux服务器至少有一个端口镜像连接;
所述Linux服务器的网卡工作在混杂模式;
通过ftrace将所述Linux服务器的系统中的ip_rcv函数替换为第一定义函数;所述第一定义函数被配置为忽略对所有的以太网帧的目的MAC地址的判断,而是向内核转发所有的以太网帧;
所述方法包括以下步骤:
所述Linux服务器的网卡接收所述交换机发送的所有镜像的以太网帧,在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析。
进一步地,所述流量分析系统还包括网络控制器,所述网络控制器分别与所述Linux服务器、所述交换机连接;
所述方法包括:
Linux服务器向网络控制器发送异常流量的信息,由所述网络控制器生成处理策略并下发至所述交换机,所述交换机对所述异常流量执行该处理策略指示的操作。
进一步地,所述方法包括以下步骤:
在所述linux服务器的内核的pre_routing检测点挂载流量分析函数。
进一步地,所述“对网卡接收到的所有镜像的以太网帧进行分析”包括以下步骤:
根据各个以太网帧的五元组信息或VLAN ID对所有镜像的以太网帧进行统计分析;所述五元组信息包括:源端口、目的端口、源MAC地址、目的MAC地址和协议类型。
进一步地,所述“根据各个以太网帧的五元组信息或VLAN ID对所有镜像的以太网帧进行统计分析”包括以下步骤:
预先配置分组统计参数信息,对具有相同统计参数信息的所有镜像的以太网帧进行分组统计;所述分组统计参数信息包括根据五元组信息或VLAN ID中的一个或多个参数进行分组。
进一步地,所述“在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析”之后包括以下步骤:
在所述linux服务器的内核的forward检测点通过设置路由策略将经过所述linux服务器第一处理的以太网帧丢入黑洞;
所述第一处理包括:转发处理。
进一步地,在所述步骤“Linux服务器的网卡接收交换机发送的所有镜像的以太网帧”之前包括:所述交换机接收第一转发指令,根据所述第一转发指令将指定的第一流量分组的流量通过镜像端口镜像转发至所述Linux服务器;
所述第一转发指令的生效时长为第一时长;
所述第一流量分组是指按VLAN ID 或源IP或目标IP划分的一个或多个流量分组。
进一步地,所述方法包括以下步骤:
在所述linux服务器的内核的post_routing检测点通过设置路由策略将经过所述linux服务器第二处理的以太网帧丢入黑洞;
所述第二处理包括:转发处理和本机处理。
进一步地,所述流量分析系统还包括交换机;
所述方法包括以下步骤:
交换机的网卡将其接收的所有以太网帧镜像拷贝后,将所有镜像拷贝的以太网帧发送至所述Linux服务器的网卡。
本发明第二方面还提供了一种流量分析系统,所述流量分析系统为本发明第一方面所述的流量分析系统。
区别于现有技术,上述技术方案所述的流量分析方法和系统,所述流量分析方法应用于流量分析系统,所述流量分析系统包括Linux服务器和交换机;所述交换机与所述Linux服务器至少有一个端口镜像连接;所述Linux服务器的网卡工作在混杂模式;通过ftrace将所述Linux服务器的系统中的ip_rcv函数替换为第一定义函数;所述第一定义函数被配置为忽略对所有的以太网帧的目的MAC地址的判断,而是向内核转发所有的以太网帧;所述方法包括以下步骤:所述Linux服务器的网卡接收所述交换机发送的所有镜像的以太网帧,在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析。
由于上述方案对Linux服务器的系统的内核函数进行了修改,使得Linux服务器可以对来自交换机传输的所有镜像的以太网帧进行分析,避免了流量数据包丢失影响分析结果的情况发生。
附图说明
图1为本发明一实施例涉及的流量分析方法的流程图;
图2为本发明另一实施例涉及的流量分析方法的流程图;
图3为本发明一实施例涉及的流量分析系统的结构示意图;
图4为本发明一实施例涉及的端口镜像流量过程的示意图;
图5为本发明一实施例涉及的sd-wan场景的示意图。
附图标记说明:
10、Linux服务器;
20、交换机;
30、网络控制器。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
如图5所示,以企业远程交互应用场景为例,采用SD-WAN解决方案处理后,企业各分部通过因特网或SDH、MSTP、OTN、MPLS网络与企业总部、数据中心建立连接,本申请的流量分析系统可以被设置在企业分部与企业总部交互的POP网关上,或者设置在企业分部与数据中心交互的POP网关上。通过SD-WAN架构设计,能够筛选或汇总所需要的各个企业分部的流量数据进行分析处理,例如基于VLAN ID筛选出相应企业分部的主机流量进行分析,满足了实际应用场景的需求。在一些实施例中,图5中的企业分支部分网络可以以传统的WAN方式组网,也可以是其他WAN组网方式。图5仅示例说明本方法的一种实施场景,而不仅限于应用该场景。
Linux服务器为运行Linux操作系统的网络服务器,Linux服务器通过网卡接收和发送数据包。网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址,属于OSI模型的第2层。它使得用户可以通过电缆或无线相互连接。每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。
如图4所示,为本发明一实施例涉及的端口镜像流量过程的示意图。port A为交换机端口,portB为Linux服务器端口。交换机将port A的流量镜像给Linux服务器的portB,以便Linux服务器对后续镜像的流量进一步分析处理,而交换机所处理的流量依旧按原路径传输。由于Linux服务器不是数据传输路径上的设备,不会对流量转发造成影响,避免现有流量分析设备设置在数据传输路径上,由于流量分析设备处理分析该流量的过程本身引起网络延迟,避免了流量数据经过流量分析设备时由于流量分析设备内核缓存满导致的丢包而导致网络访问丢包延迟的问题。
在本申请中,将Linux服务器的网卡设置工作在混杂模式,设置后的网卡将会捕获所有来自接口的所有数据都捕获并交给相应的驱动程序,而后驱动程序判断是否要将这些数据交付给Linux内核。可以理解的是,通过步骤“将所述Linux服务器的网卡工作在混杂模式;通过ftrace将所述Linux服务器的系统中的ip_rcv函数替换为第一定义函数;所述第一定义函数被配置为忽略对所有的以太网帧的目的MAC地址的判断,而是向内核转发所有的以太网帧”,镜像流量不会被抛弃而进入linux服务器的内核网络协议栈。
区别于现有技术中网卡工作在非混杂模式的方案(此时网卡只接受来自网络端口的目的地址指向自己的数据),工作在混杂模式下的Linux服务器的网卡能够接收交换机发送的所有镜像的以太网帧,并将接收的所有镜像的以太网帧通过驱动程序交付给Linux内核。同时,本申请通过对Linux内核中的ip_rcv函数进行替换,避免Linux内核在数据链路层将目标MAC地址不是本机的以太网帧丢弃,保证流量分析数据的完整性和准确性。
区别于现有技术,在本申请中,Linux服务器中工作在混杂模式的网卡接收到数据包之后,会将数据包发送到Linux内核,并在Linux内核的Pre_routing的检测点挂载流量分析函数,Linux服务器的网卡接收到的流量都会被转发到Linux服务器的内核空间进行处理。在Linux服务器内核空间中进行流量分析处理,相较于现有技术中在用户空间进行流量处理分析的方式,本方案在内核空间中直接对流量进行分析处理,可以减少内核与用户空间系统交互调用产生的开销,从而大幅提高流量分析处理效率。
区别于现有技术中对大流量采用sflow(Sampled Flow)对数据请求信息进行采集从而实现对流量数据的分析监测的方式,采用本方案能够实现对全量的流量数据进行分析,并且采用本方案的单台流量分析设备检测能力相比sFlow的方式更可信,从而为网络流量分析、抗拒绝服务攻击算法提供更真实的流量数据信息。
区别于现有技术本方案中的Linux服务器通过流量镜像的方式实现对流量的分析,而不是通过串联或者通过流量牵引的方式实现对流量的分析,降低了流量分析过程中对流量在网络传输过程的影响。因而,相比现有技术而言,本方案能更好地避免网络的传输的延时和保障网络安全。
具体的,Linux本发明第一方面提供了一种流量分析方法,请参阅图1,为本发明一实施例涉及的流量分析方法的流程图;以及请参阅图4,为本发明一实施例涉及的端口镜像流量过程的示意图。
所述流量分析方法应用于流量分析系统,所述流量分析系统包括Linux服务器和交换机,所述Linux服务器接收交换机接口B的流量,接口B的流量与接口A的流量是镜像关系;所述Linux服务器的网卡工作在混杂模式。当网卡工作在混杂模式下时,网卡将会捕获所有来自接口的所有数据都捕获并交给相应的驱动程序,驱动程序将这些数据交付给Linux内核。
首先进入步骤S101通过ftrace将所述Linux服务器的系统中的ip_rcv函数替换为第一定义函数;所述第一定义函数被配置为忽略对所有的以太网帧的目的MAC地址的判断,而是向内核转发所有的以太网帧。
ftrace是一个调试追踪器框架,其中一个强大的追踪器就是函数追踪器(即函数的调用过程),它使用gcc的-pg选项让内核中的每个函数在执行前都调用一个特殊的函数mcount(),该函数本来是在c库中实现,用于prof跟踪调试性能。ftrace 是一个 Linux 内部的 trace 工具,用于linux内核的调试跟踪,主要用于linux开发者和系统设计者跟踪内核中函数的执行。
ip_rcv函数是Linux服务器的系统中的内核函数,作用包括判断当前Linux服务器网卡接收的流量数据包中的目的MAC地址是否与Linux服务器本机的MAC地址一致。只有在流量数据包中的目的MAC地址与Linux服务器本机的MAC地址一致时,Linux内核才会将这些流量数据包交付给上层协议,否则Linux内核在数据链路层就会将这些以太网帧丢弃。因而本申请通过替换ip_rcv函数,使之跳过原生函数对接收的流量数据包中目的MAC地址与Linux服务器本机的MAC地址一致的判断,以便无论当前流量数据包中的目的MAC地址与Linux服务器本机的MAC地址是否一致,Linux内核都会将这些流量数据包交付给上层协议,保证Linux服务器接收的流量数据包在分析之前都不会丢失。
具体的,本申请是通过将所述Linux服务器的系统中的ip_rcv函数替换为第一定义函数;所述第一定义函数被配置为忽略对所有的以太网帧的目的MAC地址的判断,而是向内核转发所有的以太网帧。第一定义函数的名称可以根据实际需要进行设定,例如可以设置为hook_ip_rcv函数。
当步骤S101完成之后,就可以进入步骤S102所述Linux服务器的网卡接收所述交换机发送的所有镜像的以太网帧,在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析。
由于对Linux服务器的系统的内核函数进行了修改,使得对Linux服务器可以接收到所有镜像的以太网帧并对其进行分析,避免了流量数据包丢失影响分析结果的情况发生。
为了便于Linux服务器网卡交付的所有镜像的以太网帧(即流量数据包)进行分析,对在某些实施了中,所述方法包括以下步骤:在所述Linux服务器的内核的pre_routing检测点挂载流量分析函数。
Linux服务器的内核包括有netfilter,netfilter是Linux引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数进行处理。
通常,所述检测点包括以下五个,每个检测点的功能各有侧重,具体如下:
pre_routing:刚刚进入网络层的数据包通过此点(刚刚进行完版本号,校验和等检测),目的MAC地址转换也在此点进行;local_in:经路由查找后,送往本机的通过此检查点,对INPUT包的过滤在此点进行;
forward:要转发的包通过此检测点,forward包过滤在此点进行;
local_out:所有马上要通过网络设备出去的流量包通过此检测点,内置的源MAC地址转换功能(包括地址伪装)在此点进行;
ost_routing:本机进程发出的流量包通过此检测点,OUTPUT包过滤在此点进行。
通过在在所述Linux服务器的内核的pre_routing检测点挂载流量分析函数,可以使得Linux服务器网卡接收的所有镜像的以太网帧都进入内核并通过流量分析函数对所有镜像的以太网帧进行分析。
在一个实施例中,所述linux服务器在收到流量后,检测流量是否包含对非法网站的访问,例如对于linux服务器接收到的访问请求数据包,按照HTTP协议解析所述网页访问请求数据包,解析出请求访问的服务器地址为www.abc.com,与异常流量特征库匹配,匹配的结果为“不允许”,则,该数据包在包含了请求的网址http://www.abc.com,则设置交换机的处理策略,拦截该网页访问请求。
在另一个实施例中,还包括在linux服务器中预先存储有异常流量的特征,该特征可以是五元组或者VLAN ID的一个或多个组合表达的特征,例如预存的特征可以是源地址192.168.1.1, 源端口10000,协议 TCP,在数据流经过linux服务器时,识别到镜像流量中有符合该特征的流量,则设置交换机的处理策略,拦截该流量,避免该流量经过交换机转发。
对于一台网络设备而言,其网络访问控制的表项资源是有限的,执行一个处理策略至少就占用一条网络访问控制表项资源。换句话说,同一台网络设备同时只能执行数量有限的网络访问控制表项。上述方案避免了将所有的异常流量特征都设置拦截,导致网络访问控制表项超出表项资源范围,而导致交换机拦截失败的危险。因此上述方案动态的设置交换机的处理策略,保证网络访问的安全,满足企业的健康网络的需求。
可以理解的是异常流量可以是非法网站的流量或者根据企业需求需要在上班时段禁止员工访问的网站等,异常流量的特征可以是人工设置的,也可以是通过应用程序识别出并添加入异常流量特征库的。
在另一个实施例中,还包括在linux服务器中预先存储有异常流量的特征,该特征可以是流量的Application(应用) 、 Content (内容) 、 Time (时间) 、 User (用户) 、Attack (威胁) 、 Location (位置)6个特征中的一种或多种组合表达的特征,例如
在另一个实施例中,处理策略还包括双重控制、选路控制、连接数控制、或保证带宽控制的控制策略中的一个或多个策略。
用户根据DPI应用类型分别采取不同的限流策略,基于DPI应用的流量控制可采用的控制策略包括:a允许通过:即允许该应用流量通过。b禁止通过:即禁止该应用流量通过,对于被禁止的流,防火墙对应的会话表会保留一定时间,防止会话老化后重新识别时因为后续包没有特征而无法准确识别出来,致使后续报文而又能通过。c带宽限速:对该种类型应用流量进行限速。d连接数限制:对该种类型应用的连接数进行限制,防止该类应用占据系统的连接数资源。在流量识别对应用户身份的基础上,防火墙只需要针对用户(组)信息配置限流策略,这样不同的用户(组)身份可配置不同的流量控制策略,既简化了策略配置,又适应了企业复杂多变的网段规划,方便管理员的管理。双重控制是指可对流量同时进行两种方式的限流:每IP/用户限流:域间配置,具有方向性,针对每个IP/用户进行限流。总体限流:域间配置,具有方向性,针对命中匹配策略的流量进行总体限流。保证带宽:是指每个IP地址保证能够通过的流量,当总体带宽有空余时,则每个IP地址能够通过大于保证带宽值,而小于最大带宽值的流量。对于大于保证带宽的报文,转发还是丢弃是按照报文到达时带宽是否超过总体带宽来决定,超过时则丢弃,否则转发。其包括 : a最大带宽:是指配置保证带宽功能后每个IP最大能够通过的带宽,当超过这个最大带宽时,报文直接会被丢弃。b总体带宽:是指出口整体带宽的值,一般是设置为(保证带宽*用户数)。连接数的限制是指对并发连接数进行限制,现网应用P2P等占用了很多连接资源,对连接数进行限制,从而达到对流量进行限制目的。其包括:a每IP并发连接数限制:针对每个IP地址限制并发连接数个数,对于超过这个规则的连接将会被阻断。b整体并发连接数限制:针对命中策略的并发连接数的总和进行限制,对于超过规则的连接将会被阻断。
可以理解的是在一些实施例中还可以基于经过linux服务器的流量的Application(应用) 、 Content (内容) 、 Time (时间) 、 User (用户) 、 Attack (威胁) 、 Location (位置)6个维度分析流量,并生成相应的信息,用于网络监控的状态分析。
在一些实施例中,所述流量分析系统还包括网络控制器,所述网络控制器分别与所述Linux服务器、所述交换机连接。所述方法包括:Linux服务器向网络控制器发送异常流量的信息,由所述网络控制器生成处理策略并下发至所述交换机,所述交换机对所述异常流量执行该处理策略所指示的操作。交换机和Linux服务器是SDN设备,网络控制器是SDN控制器用于管理SDN设备的网络连接和业务转发。根据五元组或VLAN ID中的一项或几项对流量进行分组。同时,根据分组后流量的大小,Linux服务器可以将超出阈值大小的分组流量标记为异常流量或者攻击流量,并由Linux服务器向所述网络控制器发送异常流量或者攻击流量的信息,再由网络控制器生成处理策略并下发至所述交换机,并由所述交换机采用接收到的处理策略对被标记为异常流量或者攻击流量的流量数据包进行相应的处理。
在一个实施例中,所述处理策略可以包括处理动作和执行该处理动作的时间。例如,处理策略可以是对具有基于SYN FLOOD攻击的攻击流量立即执行黑洞操作,并持续黑洞30分钟,当时间达到30分钟时,则修改撤销对该流量的黑洞操作。当Liunx服务器再次监测到该流量异常时,则再次按照上述处理策略对该攻击流量执行相应操作。
区别于现有技术,上述方案通过网络控制器生成处理策略,保证网络异常或者故障时的响应速度,区别于通过人机交互界面设置处理策略,本方案能较快响应并解决网络攻击对交换机和业务服务器的带来的影响,从而保证网络用户的安全和流畅的网络使用体验。
在一些实施例中,可以通过网络控制器向linux服务器发送异常流量的特征,若linux服务器识别到异常流量,则向交换机发送相应的处理策略,并由所述交换机采用该处理策略对被后续包含异常流量特征的流量数据包进行拦截的处理。
在一个实施例中,所述“对网卡接收到的所有镜像的以太网帧进行分析”包括以下步骤:根据各个以太网帧的五元组信息或VLAN ID对所有镜像的以太网帧进行统计分析。
所述五元组信息包括:源端口、目的端口、源IP地址、目的IP地址和协议类型。例如:192.168.1.1 10000 TCP 121.14.88.76 80 就构成了一个五元组。其意义是,一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,与IP地址为121.14.88.76、端口为80的终端进行连接。五元组能够区分不同会话,并且对应的会话是唯一的。因而可以基于五元组信息来对所有镜像的以太网帧进行分析。
VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点:网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。VLAN ID就是指某一终端在VLAN网络中的唯一标识信息,因而在对所有镜像的以太网帧进行分析时也可以基于VLAN ID进行分析。
进一步地,所述“根据各个以太网帧的五元组信息或VLAN ID对所有镜像的以太网帧进行统计分析”包括以下步骤:预先配置统计参数信息,对具有相同统计参数信息的所有镜像的以太网帧进行统计;所述统计参数信息包括五元组信息或VLAN ID。例如对五元组信息中所述源端口、目的端口、源MAC地址、目的MAC地址、协议类型中任一项或多项相同的镜像的以太网帧进行统计,从而对所有流量数据包进行有效归类,也可以是对VLAN ID某些字符串相同(表征这些流量数据包可能来自相同区域)的流量数据包进行有效归类,从而对流量进行有效分析。同时,通过五元组信息或VLAN ID筛选的方式,可以将流量数据分批次发往Linux服务器的内核空间进行处理,满足大流量分析处理的应用需求,也保证每次对流量分析时都可以保持较高的效率。
在一些实施例中,还包括对所有镜像的以太网帧进行统计结果还可以采用图表的形式进行呈现,以便更直观地观察所有镜像的以太网帧的统计结果,所述图表包括但不限于饼状图、树状图、折线图等。
如图2所示,在某些实施例中,所述步骤S102“在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析”之后包括以下步骤S203:在所述Linux服务器的内核的forward检测点通过设置路由策略将经过所述Linux服务器第一处理的以太网帧丢入黑洞;所述第一处理包括:转发处理。在另一些实施例中,所述方法包括以下步骤:在所述Linux服务器的内核的post_routing检测点通过设置路由策略将经过所述Linux服务器第二处理的以太网帧丢入黑洞;所述第二处理包括:转发处理和本机处理。
由于Linux服务器网卡接收的所有以太网帧都是由其他设备镜像发送的,为了提高流量数据的安全性,当Linux服务器对流量分析完毕后,就需要对分析完成的流量进行进一步处理。而由于本申请对于Linux服务器的系统中的内核函数ip_rcv函数的修改替换,使得接收的流量包有可能是需要Linux服务器本机处理的,也有可能只是需要Linux服务器转发的,因而对于这两种流量包需要进行不同的回收处理。即通过在不同的检测点设置路由策略来丢弃这两种流量包,具体是将需要Linux服务器转发处理和本机处理的流量包在post_routing检测点通过设置路由策略进行丢弃,将需要Linux服务器转发处理的流量包在forward检测点通过设置路由策略进行丢弃。
路由策略是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。路由策略是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。应用了路由策略,路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器。路由策略的种类大体上分为两种:一种是根据路由的目的地址来进行的策略称为目的地址路由;另一种是根据路由源地址来进行策略实施的称为源地址路由;随着路由策略的发展现在有了第三种路由方式智能均衡的策略方式。路由策略是控制层面的行为,操作的对象是路由条目,匹配的是路由,具体是指目标网段、掩码、下一跳、度量值、Tag、Community等。
目前网络发展迅速,网络流量呈现爆发式增长,但是设备的性能往往达不到统一的迭代速度,且硬件设备的迭代和更新往往成本较高。因此本发明提出上述方案解决,满足流量监控需求的同时适应减少更新设备的成本。
端口镜像(port Mirroring)功能通过在交换机或路由器上,将一个或多个源端口的数据流量转发到某一个指定端口来实现对网络的监听,指定端口称之为“镜像端口”或“目的端口”,在不严重影响源端口正常吞吐流量的情况下,可以通过镜像端口对网络的流量进行监控分析。在企业中用镜像功能,可以很好地对企业内部的网络数据进行监控管理,在网络出故障的时候,可以快速地定位故障。
在某些实施例中,所述流量分析系统还包括交换机。所述方法包括以下步骤:交换机的网卡将其接收的所有以太网帧镜像拷贝后,将所有镜像拷贝的以太网帧发送至所述Linux服务器的网卡。在本实施方式中,所述交换机为以太网交换机,以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网。以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式。交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据。
如图3所示,本发明第二方面还提供了一种流量分析系统,所述流量分析系统包括如本发明第一方面所述的交换机20和如本发明第一方面所述的Linux服务器10;所述交换机20和所述Linux服务器10通讯连接。优选的,所述流量分析系统还包括网络控制器30,所述网络控制器30分别与所述交换机20、所述Linux服务器10连接。所述系统执行本发明公开的方法中的步骤。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (9)

1.一种流量分析方法,其特征在于,
所述流量分析方法应用于流量分析系统,所述流量分析系统包括Linux服务器和交换机;所述交换机与所述Linux服务器至少有一个端口镜像连接;
所述方法包括以下步骤:
所述Linux服务器的网卡工作在混杂模式;
通过ftrace调用器将所述Linux服务器的系统中的ip_rcv函数替换为第一定义函数;所述第一定义函数被配置为忽略对所有的以太网帧的目的MAC地址的判断,而是向内核转发所有的以太网帧;
所述Linux服务器的网卡接收所述交换机发送的所有镜像的以太网帧,在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析;其中,所述在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析,包括以下步骤:
通过在所述Linux服务器的内核的pre_routing检测点挂载的流量分析函数对网卡接收到的所有镜像的以太网帧进行分析。
2.如权利要求1所述的流量分析方法,其特征在于,所述流量分析系统还包括网络控制器,所述网络控制器分别与所述Linux服务器和所述交换机通信连接;
所述方法包括:
所述Linux服务器向所述网络控制器发送异常流量的信息,由所述网络控制器生成处理策略并下发至所述交换机,所述交换机对对应的异常流量执行所述处理策略指示的操作。
3.如权利要求2所述的流量分析方法,其特征在于,所述处理策略包括以下至少一个:
异常流量拦截策略、对流量进行双重控制策略、对流量进行选路控制策略、对流量进行连接数控制策略或保证带宽控制的控制策略。
4.如权利要求1所述的流量分析方法,其特征在于,
所述对网卡接收到的所有镜像的以太网帧进行分析包括以下步骤:
分析网卡接收到的流量的特征,将流量的特征与特征库匹配,若匹配则根据匹配的特征设置所述交换机的处理策略。
5.如权利要求1所述的流量分析方法,其特征在于,
所述对网卡接收到的所有镜像的以太网帧进行分析包括以下步骤:
根据各个以太网帧的五元组信息或VLAN ID对所有镜像的以太网帧进行统计分析;所述五元组信息包括:源端口、目的端口、源IP地址、目的IP地址和协议类型。
6.如权利要求5所述的流量分析方法,其特征在于,
所述根据各个以太网帧的五元组信息或VLAN ID对所有镜像的以太网帧进行统计分析包括以下步骤:
预先配置分组统计参数信息,对具有相同统计参数信息的所有镜像的以太网帧进行分组统计;所述分组统计参数信息包括根据五元组信息或VLAN ID中的一个或多个参数进行分组。
7.如权利要求1所述的流量分析方法,其特征在于,
所述在所述Linux服务器的内核空间中对网卡接收到的所有镜像的以太网帧进行分析之后包括以下步骤:
在所述Linux服务器的内核的forward检测点通过设置路由策略将经过所述Linux服务器第一处理的以太网帧丢入黑洞;
所述第一处理包括:转发处理。
8.如权利要求1所述的流量分析方法,其特征在于,
所述方法包括以下步骤:
在所述Linux服务器的内核的post_routing检测点通过设置路由策略将经过所述Linux 服务器第二处理的以太网帧丢入黑洞;
所述第二处理包括:转发处理和本机处理。
9.一种流量分析系统,其特征在于,所述流量分析系统用于执行权利要求1-8任一所述的流量分析方法。
CN202011399871.7A 2020-12-03 2020-12-03 一种流量分析方法和系统 Active CN112202646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011399871.7A CN112202646B (zh) 2020-12-03 2020-12-03 一种流量分析方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011399871.7A CN112202646B (zh) 2020-12-03 2020-12-03 一种流量分析方法和系统

Publications (2)

Publication Number Publication Date
CN112202646A CN112202646A (zh) 2021-01-08
CN112202646B true CN112202646B (zh) 2021-02-26

Family

ID=74033837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011399871.7A Active CN112202646B (zh) 2020-12-03 2020-12-03 一种流量分析方法和系统

Country Status (1)

Country Link
CN (1) CN112202646B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438125B (zh) * 2021-06-08 2023-02-28 迈普通信技术股份有限公司 一种测试方法和系统
CN114499987A (zh) * 2021-12-29 2022-05-13 云南电网有限责任公司信息中心 一种基于相对密度的网络异常ip及端口混合检测方法
CN114500307B (zh) * 2021-12-31 2024-09-06 中智行(苏州)科技有限公司 基于端口镜像技术的网络流量监控、储存及回放的方法
CN116112399B (zh) * 2022-12-23 2024-09-13 中核武汉核电运行技术股份有限公司 一种工控网络流量解析系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700664A (zh) * 2005-06-10 2005-11-23 重庆邮电学院 基于Linux内核的高速网络流量测量器及流量测量方法
WO2018121397A1 (zh) * 2016-12-30 2018-07-05 中国银联股份有限公司 一种网络流量控制方法以及交换机设备
CN108390809A (zh) * 2017-02-03 2018-08-10 华耀(中国)科技有限公司 一种基于vf混杂模式的桥接方法及其系统
CN111049843A (zh) * 2019-12-18 2020-04-21 国网浙江省电力有限公司宁波供电公司 一种智能变电站网络异常流量分析方法
CN111049780A (zh) * 2018-10-12 2020-04-21 北京奇虎科技有限公司 一种网络攻击的检测方法、装置、设备及存储介质
CN111371740A (zh) * 2020-02-17 2020-07-03 华云数据有限公司 一种报文流量监控方法、系统及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700664A (zh) * 2005-06-10 2005-11-23 重庆邮电学院 基于Linux内核的高速网络流量测量器及流量测量方法
WO2018121397A1 (zh) * 2016-12-30 2018-07-05 中国银联股份有限公司 一种网络流量控制方法以及交换机设备
CN108390809A (zh) * 2017-02-03 2018-08-10 华耀(中国)科技有限公司 一种基于vf混杂模式的桥接方法及其系统
CN111049780A (zh) * 2018-10-12 2020-04-21 北京奇虎科技有限公司 一种网络攻击的检测方法、装置、设备及存储介质
CN111049843A (zh) * 2019-12-18 2020-04-21 国网浙江省电力有限公司宁波供电公司 一种智能变电站网络异常流量分析方法
CN111371740A (zh) * 2020-02-17 2020-07-03 华云数据有限公司 一种报文流量监控方法、系统及电子设备

Also Published As

Publication number Publication date
CN112202646A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN112202646B (zh) 一种流量分析方法和系统
CN112787959B (zh) 一种流量调度方法和系统
CN108040057B (zh) 适于保障网络安全、网络通信质量的sdn系统的工作方法
US10708146B2 (en) Data driven intent based networking approach using a light weight distributed SDN controller for delivering intelligent consumer experience
US9584531B2 (en) Out-of band IP traceback using IP packets
US7742406B1 (en) Coordinated environment for classification and control of network traffic
AU2015255980B2 (en) System and methods for reducing impact of malicious activity on operations of a wide area network
CN101399749B (zh) 一种报文过滤的方法、系统和设备
US8644151B2 (en) Processing packet flows
EP3449600B1 (en) A data driven intent based networking approach using a light weight distributed sdn controller for delivering intelligent consumer experiences
Phan et al. OpenFlowSIA: An optimized protection scheme for software-defined networks from flooding attacks
US8584215B2 (en) System and method for securing distributed exporting models in a network environment
Masoud et al. On preventing ARP poisoning attack utilizing Software Defined Network (SDN) paradigm
US20040131059A1 (en) Single-pass packet scan
US7849503B2 (en) Packet processing using distribution algorithms
JP2006517066A (ja) サービス妨害攻撃の軽減
TWI492090B (zh) 分散式阻斷攻擊防護系統及其方法
KR101553264B1 (ko) 네트워크 침입방지 시스템 및 방법
AbdelSalam et al. Mitigating ARP spoofing attacks in software-defined networks
CN101340440A (zh) 一种防御网络攻击的方法及其装置
CN113037731B (zh) 基于sdn架构和蜜网的网络流量控制方法及系统
WO2021083324A1 (zh) 一种信息上报方法、数据处理方法及装置
JP2008219149A (ja) トラヒック制御システムおよびトラヒック制御方法
Dressler et al. Attack detection using cooperating autonomous detection systems (CATS)
Xia et al. Resource optimization for service chain monitoring in software-defined networks

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