一种网络流量抓包方法、装置及设备与流程

文档序号:24046746发布日期:2021-02-23 19:04阅读:132来源:国知局
一种网络流量抓包方法、装置及设备与流程

[0001]
本申请涉及通信技术领域,特别涉及一种网络流量抓包方法、装置及设备。


背景技术:

[0002]
当网络设备在转发流量过程中发生故障时,需要以最快的速度定位网络故障原因以保障网络的稳定,而定位网络故障原因的手段中最常用、最直观的就是抓包,网络设备可以通过使用已配置的端口镜像功能进行抓包分析,并将报文镜像拷贝出来进行分析,进而定位网络故障原因。
[0003]
但是当网络设备出现偶断的网络故障时,例如某网段x.x.x.x/x中不规律的某ip每天不定时发生中断一次,每次中断几分钟甚至几秒,由于不规律、不定时、持续时间短,如果使用端口镜像功能进行抓包分析,只能长时间持续地对上下游两侧的报文进行镜像,最终会得到海量的报文镜像。然而分析海量的报文进而定位网络设备出现偶断的网络故障的原因的效率十分低下。因此,在网络设备出现偶断的网络故障越来越多的情况下,一种提高定位网络故障原因的效率的抓包方法是有必要的。


技术实现要素:

[0004]
本申请公开了一种网络流量抓包方法、装置及设备,以实现提高定位网络故障原因的效率。
[0005]
根据本申请实施例的第一方面,提供一种网络流量抓包方法,所述网络设备通过指定上游端口连接所述网络设备的上游设备,以及通过指定下游端口连接所述网络设备的下游设备;该方法包括:
[0006]
获得指定时间内指定上游端口接收来自所述上游设备转发的上游报文的第一报文数量,以及指定下游端口转发上游报文的第二报文数量,依据第一报文数量和第二报文数量确定上游报文丢包率;
[0007]
获得指定时间内指定下游端口接收来自所述下游设备转发的下游报文的第三报文数量,以及指定上游端口转发下游报文的第四报文数量;依据第三报文数量和第四报文数量确定下游报文丢包率;
[0008]
当依据所述上游报文丢包率、所述下游报文丢包率确定所述网络设备异常时,则开启所述网络设备的镜像功能,以使经由指定上游端口、指定下游端口的报文镜像至指定镜像端口以进行异常分析。
[0009]
根据本申请实施例的第二方面,提供一种网络流量抓包装置,该装置应用于网络设备,所述网络设备通过指定上游端口连接所述网络设备的上游设备,以及通过指定下游端口连接所述网络设备的下游设备;该装置包括:
[0010]
获得单元,用于获得指定时间内指定上游端口接收来自所述上游设备转发的上游报文的第一报文数量,以及指定下游端口转发上游报文的第二报文数量;获得指定时间内指定下游端口接收来自所述下游设备转发的下游报文的第三报文数量,以及指定上游端口
转发下游报文的第四报文数量;
[0011]
丢包率确定单元,用于依据第一报文数量和第二报文数量确定上游报文丢包率;依据第三报文数量和第四报文数量确定下游报文丢包率;
[0012]
镜像功能控制单元,用于当依据所述上游报文丢包率、所述下游报文丢包率确定所述网络设备异常时,则开启所述网络设备的镜像功能,以使经由指定上游端口、指定下游端口的报文镜像至指定镜像端口以进行异常分析。
[0013]
根据本申请实施例的第三方面,提供一种电子设备,该电子设备包括:处理器和存储器;
[0014]
所述存储器,用于存储机器可执行指令;
[0015]
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所述的网络流量抓包方法。
[0016]
本申请的实施例提供的技术方案可以包括以下有益效果:
[0017]
由以上技术方案可知,本申请提供的方案可以通过获得指定时间内通过指定上游端口和指定下游端口转发的来自上游设备的上游报文的数量确定上游报文丢包率,并通过获得指定时间内通过指定上游端口和指定下游端口转发的来自下游设备的下游报文的数量确定上游报文丢包率,当依据所述上游报文丢包率、所述下游报文丢包率确定所述网络设备异常时,则开启所述网络设备的镜像功能,以使经由指定上游端口、指定下游端口的报文镜像至指定镜像端口以进行异常分析,通过设置网络设备的镜像功能的触发时机实现了减少分析网络异常时抓包的数量,提高了定位网络故障原因的效率。
[0018]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0019]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
[0020]
图1是本申请实施例所应用的组网架构图;
[0021]
图2是本申请实施例提供的实现网络流量抓包的方法流程图;
[0022]
图3是本申请实施例提供的统计指定上游端口收到的上游报文的流程图;
[0023]
图4是本申请实施例提供的统计指定下游端口收到的下游报文的流程图;
[0024]
图5是本申请实施例提供的实现网络流量抓包的装置图;
[0025]
图6是本申请实施例提供的一种硬件结构示意图。
具体实施方式
[0026]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0027]
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数
形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0028]
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0029]
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
[0030]
参见图2,图2为本申请实施例提供的方法流程图。作为一个实施例,图2所示的流程可以应用于网络设备,所述网络设备可为交换机、路由器等电子设备,本实施例并不具体限定。这里的网络设备通过指定上游端口连接所述网络设备的上游设备,以及通过指定下游端口连接所述网络设备的下游设备,所述上游设备和下游设备可为交换机、路由器、服务器等电子设备。
[0031]
本申请实施例可以应用于如图1所示的组网架构中,图1中的网络设备设备即本申请实施例中待抓包的网络设备,这里的抓包设备通过a端口(即指定上游端口)连接上游设备,通过b端口(即指定下游端口)连接下游设备,通过c端口和d端口连接用于辅助分析抓取的报文的辅助设备,这里的c端口和d端口即本网络设备的用于抓包的镜像端口。在图1中,a端口和上游设备之间有两条链路link1链路和link4链路,其中link1链路用于将来自上游设备的报文转发到a端口,link4链路用于将来自a端口的报文转发到上游设备;b端口和下游设备之间也有两条链路link2链路和link3链路,其中link2链路用于将来自b端口的报文转发到下游设备,link1链路用于将来自下游设备的报文转发到b端口。
[0032]
可选的,当本网络设备为路由器时,通过指定上游端口接收到的报文被部署为都通过指定下游端口转发,通过指定下游端口接收的报文被部署为都通过指定上游端口转发,这里指定上游端口和指定下游端口可以在同一vlan也可以不在同一vlan;当本网络设备为二层交换机时,指定上游端口和指定下游端口即同一vlan下的端口。
[0033]
需要说明的是,图1所示架构只是一个示例,本申请实施例中的网络设备并不限制其连接的上游设备和下游设备的数量,以及可选的,网络设备上的指定上游端口和指定下游端口也可以分别对应一个或多个端口,这里的指定上游端口和指定下游端口为在本网络设备在网络部署时确定的在上游设备和下游设备相互转发报文时使用的转发路径上用到的端口。
[0034]
基于上面描述,下面对图2所示流程进行描述:
[0035]
如图2所示,该流程可以包括以下步骤:
[0036]
步骤201,获得指定时间内指定上游端口接收来自所述上游设备转发的上游报文的第一报文数量,以及指定下游端口转发上游报文的第二报文数量,依据第一报文数量和第二报文数量确定上游报文丢包率。
[0037]
在本申请实施例中,在执行如图2所示的本申请实施例的同时,一直在实时记录本网络设备上经由指定上游端口和指定下游端口的上游报文的数量,具体实现过程将根据图
3所示的流程图进行详解。
[0038]
步骤202,获得指定时间内指定下游端口接收来自所述下游设备转发的下游报文的第三报文数量,以及指定上游端口转发下游报文的第四报文数量,依据第三报文数量和第四报文数量确定下游报文丢包率。
[0039]
本申请实施例中,类似上述实时记录经由指定上游端口和指定下游端口的上游报文的数量,在执行如图2所示的本申请实施例的同时,也一直在实时记录本网络设备上经由指定上游端口和指定下游端口的下游报文的数量,具体实现过程将根据图4所示的流程图进行详解。
[0040]
以及在本申请实施例中,本步骤202和上一步骤201中上游报文的源ip地址(可记为sip)和下游报文的目的ip地址(可记为dip)属于同一网段,该网段为上游设备所在的网段x1.x1.x1.x1/x1。本申请实施例中确定指定上游端口和指定下游端口所收到的报文是上游报文还是下游报文可以通过各端口上已配置的访问控制列表acl实现,比如当指定上游端口上的访问控制列表acl匹配到该端口收到的报文的sip属于x1.x1.x1.x1/x1时,则确定该报文为上游报文,若匹配到该端口收到的报文的dip属于x1.x1.x1.x1/x1时,则确定该报文为下游报文。
[0041]
可选的,以上所描述的上游报文是上游设备转发的用于向下游设备请求服务的request请求报文和与下游设备进行交互的业务报文;下游报文是下游设备转发的用于响应上游设备请求服务的request请求报文的reply响应报文,和与上游设备进行交互的业务报文。
[0042]
步骤203,当依据所述上游报文丢包率、所述下游报文丢包率确定所述网络设备异常时,则开启所述网络设备的镜像功能,以使经由指定上游端口、指定下游端口的报文镜像至指定镜像端口以进行异常分析。
[0043]
可选的,本步骤203中依据所述上游报文丢包率、所述下游报文丢包率确定所述网络设备异常是指检查上游报文丢包率是否大于已设置的上游报文误差率,以及,检查下游报文丢包率是否大于已设置的下游报文误差率,这里的上游报文误差率与下游报文误差率可以相同或不同,本申请实施例中设置上游报文误差率和下游报文误差率是因为在计算上游报文丢包率和下游报文丢包率的过程中,获取第一报文数量和获取第二报文数量、以及先后计算上游报文丢包率和下游报文丢包率必然存在一定的时间差,同时由于报文转发需要时间也会导致计算的上游报文丢包率和下游报文丢包率存在一定误差。
[0044]
比如当前时间指定上游端口接收到一个上游数据报文,被计入了第一报文数量,但该报文在获得第二报文数量时还没有被转发到指定下游端口,这种情况下在计算上游报文丢包率时会将该报文算作丢包,但实际上该报文只是还没有到达指定下游端口,为了防止根据以上情况计算出的上游报文丢包率认定本网络设备网络异常,需要设置一个上游报文误差率,允许上游报文丢包率存在一些误差,这里的上游报文误差率是根据组网中的实际业务情况设置的,上游报文误差率的初始值可以在进行测试后进行设置,例如初始值为2%,并可以支持根据实际业务情况配置。可选的,本申请实施例中的下游报文误差率的设置可以采用和设置上游报文误差率一样的方法。
[0045]
作为一个实施例,当检查出上游报文丢包率大于已设置的上游报文误差率,和/或,下游报文丢包率大于已设置的下游报文误差率时,则确定所述网络设备异常,此时将开
启所述网络设备的镜像功能,以使经由指定上游端口、指定下游端口的报文镜像至指定镜像端口以进行异常分析。这里对镜像到指定镜像端口的报文进行异常分析可以通过辅助设备比如pc使用抓包工具进行报文的汇集分析,在辅助设备可以同时使用日志形式通知用户“x.x.x.x/x网络异常,开始镜像抓包”,这里的x.x.x.x/x是指本网络设备所在的网段。
[0046]
作为另一个实施例,当检查出上游报文丢包率小于已设置的上游报文误差率,且下游报文丢包率小于已设置的下游报文误差率时,这时可以确定本网络设备的网络正常,如果检测到这时的镜像功能已被开启,则关闭所述进行功能,以进一步地减少不必要的抓包。以及在关闭镜像功能后,可以通过辅助设备同时使用日志形式通知用户“x.x.x.x/x网络恢复正常,停止镜像抓包”。
[0047]
至此,完成图2所示流程。
[0048]
通过图2所示的流程可以看出,本实施例可以通过获得指定时间内通过指定上游端口和指定下游端口转发的来自上游设备的上游报文的数量确定上游报文丢包率,并通过获得指定时间内通过指定上游端口和指定下游端口转发的来自下游设备的下游报文的数量确定上游报文丢包率,当依据所述上游报文丢包率、所述下游报文丢包率确定所述网络设备异常时,则开启所述网络设备的镜像功能,以使经由指定上游端口、指定下游端口的报文镜像至指定镜像端口以进行异常分析,通过设置网络设备的镜像功能的触发时机实现了减少分析网络异常时抓包的数量,提高了定位网络故障原因的效率。
[0049]
需要说明的是,图2所示的实施例可以被设置为定时触发,可以设置每隔n秒收集一次的当前时间前n秒时间内的第一报文数量、第二报文数量、第三报文数量和第四报文数量。比如设置n为1秒时,则从使用本网络设备的指定上游端口和指定下游端口收发报文开始计时,从开始计时后每隔1秒执行一次如图2所示的实施例,每次执行本实施例(除首次执行本实施例)所对应的指定时间即该次执行本实施例和上一次执行本实施例之间的时间间隔,首次执行本实施例对应的指定时间为首次执行的时间点和开始计时的时间点之间的时间间隔,如本网络设备的指定上游端口和指定下游端口在9:30:00开始收发报文,则在9:30:01首次执行本实施例,其对应的指定时间为9:30:00-9:30:01,在9:30:02执行本实施例时,其对应的指定时间为9:30:01-9:30:02。
[0050]
下面将描述实时记录本网络设备上经由指定上游端口和指定下游端口的上游报文的数量。记录本网络设备上经由指定上游端口的上游报文的数量的过程如图3所示,包括以下步骤:
[0051]
步骤301,确定指定上游端口收到的报文是来自上游设备转发的上游报文。
[0052]
在本申请实施例中,在通过指定上游端口收到报文时,根据该报文携带的报文特征信息比如报文的源ip地址、目的ip地址判断该报文是否为来自上游设备转发的上游报文,在该报文的源ip地址为上游设备所处的网段时,确定该报文为来自上游设备转发的上游报文,即该报文为如图1所示的网络设备从a端口接收到的上游设备通过连接a端口的link1链路转发的报文。
[0053]
步骤302,将已记录的入方向上游报文数量增加指定值,并记录增加了指定值的入方向上游报文数量和记录当前时间的对应关系。
[0054]
比如在指定上游端口在10时10分10秒时接收到一个上游报文时,获得在接收到该上游报文前入方向上游报文数量为431,则在接收到该上游报文后,将对入方向上游报文数
量431加1,并更新入方向下游报文数量为432,并记录“10时10分10秒时的入方向上游报文数量为432”。以上举例仅是为了便于理解,并非限制本申请。
[0055]
步骤303,检查该上游报文是否为异常报文。
[0056]
若检查出该上游报文为异常报文,则将执行步骤304,否则返回执行步骤301对指定上游端口收到的下一个报文进行统计。
[0057]
步骤304,将已记录的入方向上游报文数量减去所述指定值。
[0058]
还是以上述在指定上游端口在10时10分10秒时接收到一个上游报文时为例,在已记录了“10时10分10秒时的入方向上游报文数量为432”后,如果检测到该上游报文为异常报文,则将入方向上游报文数量432减去之前接收上游报文时所增加的1,并更新入方向上游报文数量为431,以及修改记录为“10时10分10秒时的入方向上游报文数量为431”。这里的异常报文是指在本网络设备不能正常转发的报文,比如杂包、错包、攻击包等。本申请实施例中可以通过查看各网络业务处理情况及会话信息,确定该报文是不是异常报文,具体确认过程可以参考相关技术,这里不再描述。
[0059]
以上描述了指定上游端口统计收到的上游报文的数量的过程,同样的,在通过指定下游端口(如图1所示的b端口)收到报文,并根据该报文携带的报文特征信息确定该报文为上游报文时(在图1所示的架构中,该上游报文将通过link2链路被转发到下游设备),将已记录的出方向上游报文数量增加指定值,并记录增加了指定值的出方向上游报文数量和当前时间的对应关系,以上操作步骤和上述指定上游端口接收到上游报文时类似,不过不需要检查该上游报文是否为异常报文,这里不再赘述。
[0060]
可选的,获得指定时间内指定上游端口接收来自所述上游设备转发的上游报文的第一报文数量,以及指定下游端口转发上游报文的第二报文数量,可以通过上述确定的入方向上游报文数量和出方向上游报文数量确定,具体确定过程将在描述确定第一报文数量和第二报文数量的过程中进行详述。以及如何根据第一报文数量和第二报文数量确定上游报文丢包率也将在描述确定第一报文数量和第二报文数量的过程后进行描述。
[0061]
下面将描述实时记录本网络设备上经由指定上游端口和指定下游端口的下游报文的数量。记录本网络设备上经由指定下游端口的下游报文的数量的过程如图4所示,包括以下步骤:
[0062]
步骤401,确定指定下游端口收到的报文是来自下游设备转发的下游报文。
[0063]
在本申请实施例中,在通过指定下游端口收到报文时,根据该报文携带的报文特征信息比如报文的源ip地址、目的ip地址判断该报文是否为来自下游设备转发的下游报文,在该报文的目的ip地址为下游设备所处的网段时,确定该报文为来自下游设备转发的下游报文,即该报文为如图1所示的网络设备从b端口接收到的下游设备通过连接b端口的link3链路转发的报文。
[0064]
步骤402,将已记录的入方向下游报文数量增加指定值,并记录增加了指定值的入方向下游报文数量和记录当前时间的对应关系。
[0065]
比如在指定下游端口在12时30分09秒时接收到一个下游报文时,获得在接收到该下游报文前的入方向下游报文数量为556,则在接收到该下游报文后,将对入方向下游报文数量556加1,并更新入方向下游报文数量为557,并记录12时30分09秒时的入方向下游报文数量为557。以上举例仅是为了便于理解,并非限制本申请。
[0066]
步骤403,检查该下游报文为异常报文。
[0067]
若检查出该下游报文为异常报文,则将执行步骤404,否则返回执行步骤401对指定下游端口收到的下一个报文进行统计。
[0068]
步骤404,将已记录的入方向下游报文数量减去所述指定值。
[0069]
以上述在指定下游端口在12时30分09秒时接收到一个下游报文时为例,在已记录了“12时30分09秒时的入方向下游报文数量为557”后,如果检测到该下游报文为异常报文,则将入方向下游报文数量557减去之前接收下游报文时所增加的1,并更新入方向下游报文数量为556,以及修改记录为“12时30分09秒时的入方向下游报文数量为556”。这里的异常报文和上述检查上游报文为异常报文中的异常报文是一类报文,这里不再详解。
[0070]
以上描述了指定下游端口统计收到的下游报文的数量的过程,同样的,在通过指定上游端口(如图1所示的a端口)收到报文,并根据该报文携带的报文特征信息确定该报文为下游报文时(在图1所示的架构中,该下游报文将通过link4链路被转发到上游设备),将已记录的出方向下游报文数量增加指定值,并记录增加了指定值的出方向下游报文数量和当前时间的对应关系,以上操作步骤和上述指定下游端口接收到下游报文时类似,不过不需要检查该下游报文是否为异常报文,这里不再赘述。
[0071]
可选的,获得指定时间内指定下游端口接收来自所述下游设备转发的下游报文的第三报文数量,以及指定上游端口转发下游报文的第四报文数量,可以通过上述确定的入方向下游报文数量和出方向下游报文数量确定,具体确定过程将在下文描述确定第三报文数量和第四报文数量的过程中进行详述。以及如何根据第三报文数量和第四报文数量确定下游报文丢包率也将在描述确定第三报文数量和第四报文数量的过程后进行描述。
[0072]
下面将对确定第一报文数量和第二报文数量的过程进行描述:
[0073]
本申请实施例中获得第一报文数量和第二报文数量可以通过以下步骤实现,下面的步骤a和步骤b在本申请实施例中同时执行,在执行时并无先后关系。
[0074]
步骤a,获得指定时间内指定上游端口接收来自所述上游设备转发的上游报文的第一报文数量包括:
[0075]
从已记录的入方向上游报文数量和时间之间的对应关系中获得第一指定时间点对应的第一入方向上游报文数量、以及获得第二指定时间点对应的第二入方向上游报文数量,将第一入方向上游报文数量和第二入方向上游报文数量确定为所述第一报文数量。
[0076]
步骤b,获得指定时间内指定下游端口转发上游报文的第二报文数量包括:
[0077]
从已记录的出方向上游报文数量和时间之间的对应关系中获得第一指定时间点对应的第一出方向上游报文数量、以及获得第二指定时间点对应的第二出方向上游报文数量,将第一出方向上游报文数量和第二出方向上游报文数量确定为所述第二报文数量。
[0078]
可选的,上述步骤a和b中的第一指定时间点和第二指定时间点之间的时间即指定时间。通过以上步骤,获得了指定时间内指定上游端口接收的上游报文的第一报文数量,和指定时间内指定下游端口转发上游报文的第二报文数量,以使依据第一报文数量和第二报文数量确定上游报文丢包率。
[0079]
下面将对确定第三报文数量和第四报文数量的过程进行描述:
[0080]
本申请实施例中获得第三报文数量和第四报文数量可以通过以下步骤实现,下面的步骤c和步骤d在本申请实施例中同时执行,在执行时并无先后关系,并且和上述确定第
一报文数量和第二报文数量的步骤a和步骤b可以同时执行,这四个步骤在执行时都无先后关系。
[0081]
步骤c,获得指定时间内指定下游端口接收来自所述下游设备转发的下游报文的第三报文数量包括:
[0082]
从已记录的入方向下游报文数量和时间之间的对应关系中获得第一指定时间点对应的第一入方向下游报文数量、以及获得第二指定时间点对应的第二入方向下游报文数量,将第一入方向下游报文数量和第二入方向下游报文数量确定为所述第三报文数量。
[0083]
步骤d,获得指定时间内指定上游端口转发下游报文的第四报文数量包括:
[0084]
从已记录的出方向下游报文数量和时间之间的对应关系中获得第一指定时间点对应的第一出方向下游报文数量、以及获得第二指定时间点对应的第二出方向下游报文数量,将第一出方向下游报文数量和第二出方向下游报文数量确定为所述第四报文数量。
[0085]
可选的,上述步骤c和d中的第一指定时间点和第二指定时间点之间的时间即指定时间,这里的第一指定时间点和第二指定时间点和上述步骤a和b中的一致。通过以上步骤,获得了指定时间内指定下游端口接收的下游报文的第三报文数量,和指定时间内指定上游端口转发下游报文的第四报文数量,以使依据第三报文数量和第四报文数量确定下游报文丢包率。
[0086]
以上描述了如何确定第一报文数量、第二报文数量、第三报文数量和第四报文数量,下面将分别描述本申请实施例中如何确定上游报文丢包率和下游报文丢包率。
[0087]
在上述的第一指定时间点为当前时间点,第二指定时间点为在当前时间点前n秒的时间点,n大于0的情况下,首先描述如何根据第一报文数量和第二报文数量确定上游报文丢包率:
[0088]
将第一入方向上游报文数量(记为now1)减去第二入方向上游报文数量(记为last1)得到入方向上游报文数量差值,该入方向上游报文数量差值表示从第二指定时间点到当前时间点的n秒时间内指定上游端口所接收的上游报文的数量,以及将第一出方向上游报文数量(记为now2)减去第二出方向上游报文数量(记为last2)得到出方向上游报文数量差值,该出方向上游报文数量差值表示从第二指定时间点到当前时间点的n秒时间内指定下游端口所转发的上游报文的数量,将入方向上游报文数量差值减去出方向上游报文数量差值得到上游报文数量差值,这里的上游报文数量差值就是指定时间内从指定上游端口转发到指定下游端口所丢失的上游报文的数量,将上游报文数量差值除以入方向上游报文数量差值得到的第一商值确定为上游报文丢包率。
[0089]
即上游报文丢包率按照以下公式进行计算:
[0090]
上游报文丢包率=[(now1-last1)-(now2-last2)]/(now1-last1),该公式的含义为“(上游报文入包数-上游报文出包数)/上游报文入包数”。
[0091]
通过上述公式即可计算出上游报文丢包率,下面将描述如何根据第三报文数量和第四报文数量确定下游报文丢包率:
[0092]
将第一入方向下游报文数量(记为now3)减去第二入方向下游报文数量(记为last4)得到入方向下游报文数量差值,该入方向下游报文数量差值表示从第二指定时间点到当前时间点的n秒时间内指定下游端口所接收的下游报文的数量,以及将第一出方向下游报文数量(记为now4)减去第二出方向下游报文数量(记为last4)得到出方向下游报文数
量差值,该出方向下游报文数量差值表示从第二指定时间点到当前时间点的n秒时间内指定上游端口所转发的下游报文的数量,将入方向下游报文数量差值减去出方向下游报文数量差值得到的下游报文数量差值,这里的下游报文数量差值就是指定时间内从指定下游端口转发到指定上游端口所丢失的下游报文的数量,将下游报文数量差值除以入方向下游报文数量差值得到的第二商值确定为下游报文丢包率。
[0093]
即下游报文丢包率按照以下公式进行计算:
[0094]
下游报文丢包率=[(now3-last3)-(now4-last4)]/(now3-last3),该公式的含义为“(下游报文入包数-下游报文出包数)/下游报文入包数”。
[0095]
以上对本申请实施例提供的方法进行了描述。下面对本申请实施例提供的装置进行描述:
[0096]
参见图5,图5为本申请实施例提供的一种实现网络流量抓包的装置示意图。该装置包括:
[0097]
获得单元501,用于获得指定时间内指定上游端口接收来自所述上游设备转发的上游报文的第一报文数量,以及指定下游端口转发上游报文的第二报文数量;获得指定时间内指定下游端口接收来自所述下游设备转发的下游报文的第三报文数量,以及指定上游端口转发下游报文的第四报文数量。
[0098]
丢包率确定单元502,用于依据第一报文数量和第二报文数量确定上游报文丢包率;依据第三报文数量和第四报文数量确定下游报文丢包率。
[0099]
镜像功能控制单元503,用于当依据所述上游报文丢包率、所述下游报文丢包率确定所述网络设备异常时,则开启所述网络设备的镜像功能,以使经由指定上游端口、指定下游端口的报文镜像至指定镜像端口以进行异常分析。
[0100]
至此,完成图5所示装置实施例的结构图。
[0101]
对应地,本申请实施例还提供了一种用于实现网络流量抓包方法的实施例的硬件结构图,具体如图6所示。如图6所示,该硬件结构包括:处理器和存储器。
[0102]
其中,所述存储器,用于存储机器可执行指令;
[0103]
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所述的网络流量抓包方法的实施例。
[0104]
作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是ram(radom access memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0105]
至此,完成图6所示设备的描述。
[0106]
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1