一种数据包检测方法、装置、系统、设备和存储介质制造方法及图纸

技术编号:20947381 阅读:24 留言:0更新日期:2019-04-24 03:37
本发明专利技术公开了一种数据包检测方法、装置、系统、设备和存储介质。该方法包括:将通过本机进程封装的数据包发送给目的主机,该数据包携带空置的目的主机收包字段和目的主机发包字段;通过用户态进程接收目的主机的回包,该回包中的目的主机收包字段携带目的主机的收包个数和目的主机发包字段携带目的主机的发包个数;根据本机的发包个数和目的主机的收包个数,确定下行数据丢包率;根据本机的收包个数和目的主机的发包个数,确定上行数据丢包率。本发明专利技术解决了现有技术中对数据包进行检测时,无法确定是上行数据丢包还是下行数据丢包的技术问题,实现了对数据包进行双向丢包检测的技术效果。

A Packet Detection Method, Device, System, Equipment and Storage Media

The invention discloses a data packet detection method, a device, a system, a device and a storage medium. The method includes: sending the packet encapsulated by the local process to the destination host, which carries the empty destination host receiving field and destination host sending field; receiving the return package of the destination host through the user-mode process, which carries the number of destination host receiving field and destination host sending field with the number of destination host receiving packets; The downlink data loss rate is determined according to the number of outgoing packets and the number of outgoing packets of the destination host, and the upstream data loss rate is determined according to the number of outgoing packets of the destination host and the number of outgoing packets of the destination host. The invention solves the technical problem that when the data packet is detected in the prior art, it is impossible to determine whether the data packet is lost upstream or downstream, and achieves the technical effect of bidirectional data packet loss detection.

【技术实现步骤摘要】
一种数据包检测方法、装置、系统、设备和存储介质
本专利技术实施例涉及互联网通信技术,尤其涉及一种数据包检测方法、装置、系统、设备和存储介质。
技术介绍
随着互联网的快速发展,数据传输量逐渐增大和网络组成也日益复杂,从而网络发生拥塞的可能性也越来越大。因此,对数据传输过程中,丢包检测技术变得尤为重要,以检测数据丢包率。传统的因特网包探索器(PacketInternetGroper,Ping)丢包检测技术利用Internet控制报文协议(InternetControlMessageProtocol,ICMP)进行丢包检测,即源主机发送ICMP回送请求消息至目的主机,目的主机必须返回ICMP回送应答信息给源主机,从而源主机根据发送请求和应答请求计算出丢包率。但由于防火墙会屏蔽ICMP协议,并且常使用的是传输控制协议(TransmissionControlProtocol,TCP)和用户数据报协议(UserDatagramProtocol,UDP),以及ICMP协议只能检测到主机,而无法具体到主机的端口号。若使用Ping丢包检测技术进行丢包检测,会造成丢包检测准确度低。针对传统Ping丢包检测技术的缺陷,提出了TCPPing丢包检测技术。图1是现有技术中TCP三次握手建立连接的通信示意图。在如图1所示的TCP三次握手建立连接的基础上,发展出的半连接技术进行丢包检测,图2是现有技术中目的主机端口处于打开状态时半连接的通信示意图。具体是:源主机向目的主机发送同步序列编号(SynchronizeSequenceNumbers,SYN)包,如果目的主机端口处于打开状态,目的主机向源主机回应SYN消息和确认字符(Acknowledgement,ACK)组成的SYN+ACK包,如图2所示;图3是现有技术中目的主机端口处于关闭状态时半连接的通信示意图,如果目的主机端口处于关闭状态,则目的主机向源主机回应连接重置(ReSeT,RST)消息或者RST+ACK包,如图3所示;然后对源主机向目的主机发送的数据包和目的主机向源主机返回的回包的数量进行计算,以得到数据丢包率。但源主机只根据源主机向目的主机发送的数据包数量和目的主机向源主机返回的回包数量计算数据丢包率,从而无法确定是上行数据丢包还是下行数据丢包。
技术实现思路
本专利技术提供一种数据包检测方法、装置、系统、设备和存储介质,以解决现有技术中在对数据包进行检测时,无法确定是上行数据丢包还是下行数据丢包的技术问题。第一方面,本专利技术实施例提供了一种数据包检测方法,该方法包括:将通过本机进程封装的数据包发送给目的主机,所述数据包携带空置的目的主机收包字段和目的主机发包字段;通过用户态进程接收所述目的主机的回包,所述回包中的目的主机收包字段携带目的主机的收包个数和所述目的主机发包字段携带目的主机的发包个数;根据本机的发包个数和目的主机的收包个数,确定下行数据丢包率;根据本机的收包个数和目的主机的发包个数,确定上行数据丢包率。进一步的,在所述将通过本机进程封装的数据包发送给目的主机之前,还包括:对本机设置防火墙规则,以确定目的主机;所述防火墙规则包括本机对应的源端口和目的主机对应的目的端口。进一步的,所述防火墙规则为Iptables防火墙规则。进一步的,所述通过用户态进程接收所述目的主机的回包,包括:通过所述防火墙拦截目的主机的回包,并存储到NFQUEUE队列;从所述NFQUEUE队列中读取所述目的主机的回包。进一步的,所述将通过本机进程封装的数据包发送给目的主机,包括:本机进程通过原始套接字对数据进行封装,以得到数据包;将所述数据包发送给目的主机。进一步的,在根据本机的发包个数和目的主机的收包个数,确定下行数据丢包率之前,还包括:获取本机的发包个数和本机的收包个数。第二方面,本专利技术实施例提供了一种数据包检测方法,该方法包括:通过用户态进程接收源主机发送的数据包,所述数据包携带空置的目的主机收包字段和目的主机发包字段;将本机对所述数据包的收包个数配置在所述目的主机的收包字段中,将本机待发送回包的发包个数配置在所述目的主机的发包字段中,并将配置好的收包字段和发包字段以及数据封装,得到回包;将所述回包发送至所述源主机,以使所述源主机根据源主机的发包个数和目的主机的收包个数,确定下行数据丢包率;根据源主机的收包个数和目的主机的发包个数,确定上行数据丢包率。进一步的,在通过用户态进程接收源主机发送的数据包之前,还包括:对本机设置防火墙规则,以确定源主机;所述防火墙规则包括源主机对应的源端口和本机对应的目的端口。进一步的,所述防火墙规则为Iptables防火墙规则。进一步的,所述通过用户态进程接收源主机发送的数据包,包括:通过所述防火墙拦截源主机发送的数据包,并存储到NFQUEUE队列;从所述NFQUEUE队列中读取所述源主机发送的数据包。第三方面,本专利技术实施例提供了一种数据包检测装置,该装置包括:数据包发送模块,用于将通过本机进程封装的数据包发送给目的主机,所述数据包携带空置的目的主机收包字段和目的主机发包字段;回包接收模块,用于通过用户态进程接收所述目的主机的回包,所述回包中的目的主机收包字段携带目的主机的收包个数和所述目的主机发包字段携带目的主机的发包个数;丢包率确定模块,用于根据本机的发包个数和目的主机的收包个数,确定下行数据丢包率;根据本机的收包个数和目的主机的发包个数,确定上行数据丢包率。进一步的,所述数据包检测装置,还包括:目的主机确定模块,用于对本机设置防火墙规则,以确定目的主机;所述防火墙规则包括本机对应的源端口和目的主机对应的目的端口。进一步的,所述防火墙规则为Iptables防火墙规则。进一步的,所述回包接收模块,包括:回包存储单元,用于通过所述防火墙拦截目的主机的回包,并存储到NFQUEUE队列;回包读取单元,用于从所述NFQUEUE队列中读取所述目的主机的回包。进一步的,所述数据包发送模块,包括:数据包封装单元,用于本机进程通过原始套接字对数据进行封装,以得到数据包;数据包发送单元,用于将所述数据包发送给目的主机。进一步的,所述数据包检测装置,还包括:获取模块,用于获取本机的发包个数和本机的收包个数。第四方面,本专利技术实施例提供了一种数据包检测装置,该装置包括:数据包接收模块,用于通过用户态进程接收源主机发送的数据包,所述数据包携带空置的目的主机收包字段和目的主机发包字段;回包确定模块,用于将本机对所述数据包的收包个数配置在所述目的主机的收包字段中,将本机待发送回包的发包个数配置在所述目的主机的发包字段中,并将配置好的收包字段和发包字段以及数据封装,得到回包;回包发送模块,用于将所述回包发送至所述源主机,以使所述源主机根据源主机的发包个数和目的主机的收包个数,确定下行数据丢包率;根据源主机的收包个数和目的主机的发包个数,确定上行数据丢包率。进一步的,所述数据包检测装置,还包括:源主机确定模块,用于对本机设置防火墙规则,以确定源主机;所述防火墙规则包括源主机对应的源端口和本机对应的目的端口。进一步的,所述防火墙规则为Iptables防火墙规则。进一步的,所述数据包接收模块,包括:数据包存储单元,用于通过所述防火墙拦截源主机发送的数据包,并存储到NFQUEUE队列;数据包本文档来自技高网
...

【技术保护点】
1.一种数据包检测方法,其特征在于,包括:将通过本机进程封装的数据包发送给目的主机,所述数据包携带空置的目的主机收包字段和目的主机发包字段;通过用户态进程接收所述目的主机的回包,所述回包中的目的主机收包字段携带目的主机的收包个数和所述目的主机发包字段携带目的主机的发包个数;根据本机的发包个数和目的主机的收包个数,确定下行数据丢包率;根据本机的收包个数和目的主机的发包个数,确定上行数据丢包率。

【技术特征摘要】
1.一种数据包检测方法,其特征在于,包括:将通过本机进程封装的数据包发送给目的主机,所述数据包携带空置的目的主机收包字段和目的主机发包字段;通过用户态进程接收所述目的主机的回包,所述回包中的目的主机收包字段携带目的主机的收包个数和所述目的主机发包字段携带目的主机的发包个数;根据本机的发包个数和目的主机的收包个数,确定下行数据丢包率;根据本机的收包个数和目的主机的发包个数,确定上行数据丢包率。2.根据权利要求1所述的数据包检测方法,其特征在于,在所述将通过本机进程封装的数据包发送给目的主机之前,还包括:对本机设置防火墙规则,以确定目的主机;所述防火墙规则包括本机对应的源端口和目的主机对应的目的端口。3.根据权利要求2所述的数据包检测方法,其特征在于,所述防火墙规则为Iptables防火墙规则。4.根据权利要求2或3所述的数据包检测方法,其特征在于,所述通过用户态进程接收所述目的主机的回包,包括:通过所述防火墙拦截目的主机的回包,并存储到NFQUEUE队列;从所述NFQUEUE队列中读取所述目的主机的回包。5.根据权利要求1所述的数据包检测方法,其特征在于,所述将通过本机进程封装的数据包发送给目的主机,包括:本机进程通过原始套接字对数据进行封装,以得到数据包;将所述数据包发送给目的主机。6.根据权利要求1所述的数据包检测方法,其特征在于,在根据本机的发包个数和目的主机的收包个数,确定下行数据丢包率之前,还包括:获取本机的发包个数和本机的收包个数。7.一种数据包检测方法,其特征在于,包括:通过用户态进程接收源主机发送的数据包,所述数据包携带空置的目的主机收包字段和目的主机发包字段;将本机对所述数据包的收包个数配置在所述目的主机的收包字段中,将本机待发送回包的发包个数配置在所述目的主机的发包字段中,并将配置好的收包字段和发包字段以及数据封装,得到回包;将所述回包发送至所述源主机,以使所述源主机根据源主机的发包个数和目的主机的收包个数,确定下行数据丢包率;根据源主机的收包个数和目的主机的发包个数,确定上行数据丢包率。8.根据权利要求7所述的数据包检测方法,其特征在于,在通过用户态进程接收源主机发送的数据包之前,还包括:对本机设置防火墙规则,以确定源主机;所述防火墙规则包括源主机对应的源端口和...

【专利技术属性】
技术研发人员:成桂锋蓝昭宝
申请(专利权)人:广州市百果园信息技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1