本发明实施例涉及计算机,特别是涉及一种流量占比统计方法、一种流量占比统计装置、一种电子设备以及一种计算机存储介质。
背景技术:
1、随着网络规模的不断扩大,目前全球ipv4(internet protocol version 4,互联网协议第4版)地址已经被分配完毕,全球互联网向基于ipv6(internet protocol version6,互联网协议第6版)的下一代互联网转型已迫在眉睫,因此,需要有效分析出哪些域名使用ipv4,并且占比较高,为ipv4优化升级到ipv6提供重要的参照数据。
2、目前通常采用三方工具charles或者wireshark抓取网络数据包进行分析,然而上述采用第三方工具的方式无法分析出域名的ipv4流量占比,导致无法为ipv4优化升级到ipv6提供重要的参照数据。
技术实现思路
1、本发明实施例是提供一种流量占比统计方法、装置、电子设备及存储介质,以解决采用第三方工具的方式无法分析出域名的ipv4流量占比,导致无法为ipv4优化升级到ipv6提供出参照数据的问题。
2、本发明实施例公开了一种流量占比统计方法,其特征在于,包括:
3、抓取监测到的域名服务器响应客户端发送的域名解析请求返回的第一域名及其映射的ip地址,和所述客户端与其他服务器之间传输的网络数据包;其中,所述ip地址包括ipv4地址;
4、对所述网络数据包进行解析,确定出所述其他服务器对应的ipv4地址、第二域名和ipv4流量值;
5、当对所述网络数据包进行解析,无法确定出所述服务器对应的第二域名时,根据所述第一域名与所述ip地址的映射关系确定所述ipv4地址对应的第二域名;
6、根据所述第二域名和其对应的ipv4流量值,计算出各所述第二域名的ipv4流量占比;所述第二域名的ipv4流量占比为所述第二域名的ipv4流量值与总的所述第二域名的ipv4流量值的比值。
7、可选地,所述根据所述第一域名与所述ip地址的映射关系确定所述ipv4地址对应的第二域名,还包括:
8、当根据所述第一域名与所述ip地址的映射关系确定所述ipv4地址对应的第二域名为多个时,将所述ipv4地址对应的多个所述第二域名组合为一个第二域名组;
9、根据所述第二域名组和其对应的ipv4流量值,与所述第二域名和其对应的ipv4流量值,计算出各所述第二域名组的ipv4流量占比,和除所述第二域名组内的所述第二域名之外的各所述第二域名的ipv4流量占比。
10、可选地,对所述网络数据包进行解析,确定出所述其他服务器对应的ipv4地址和ipv4流量值,包括:
11、对所述网络数据包的ip首部进行解析,确定出所述其他服务器对应的ip地址;
12、当所述网络数据包对应的ip地址确定为所述ipv4地址时,对所述网络数据包的传输层进行解析,得到所述网络数据包的ipv4流量值;
13、将所述ipv4地址对应的所述网络数据包的ipv4流量值进行叠加,得到所述ipv4地址的ipv4流量值。
14、可选地,所述网络数据包对应的ip地址确定为所述ipv4地址,包括:
15、当所述网络数据包对应的ip地址是为使用32位2进制位的地址时,将所述网络数据包对应的ip地址确定为所述ipv4地址。
16、可选地,对所述网络数据包进行解析,确定出所述其他服务器对应第二域名,包括:
17、对所述网络数据包的应用层进行解析,得到握手包;
18、从所述握手包中解析出所述其他服务器对应的第二域名。
19、本发明实施例还公开了一种流量占比统计装置,包括:
20、数据抓取模块,用于抓取监测到的域名服务器响应客户端发送的域名解析请求返回的第一域名及其映射的ip地址,和所述客户端与其他服务器之间传输的网络数据包;其中,所述ip地址包括ipv4地址;
21、数据解析模块,用于对所述网络数据包进行解析,确定出所述其他服务器对应的ipv4地址、第二域名和ipv4流量值;
22、域名确定模块,用于当对所述网络数据包进行解析,无法确定出所述服务器对应的第二域名时,根据所述第一域名与所述ip地址的映射关系确定所述ipv4地址对应的第二域名;
23、流量计算模块,用于根据所述第二域名和其对应的ipv4流量值,计算出各所述第二域名的ipv4流量占比;所述第二域名的ipv4流量占比为所述第二域名的ipv4流量值与总的所述第二域名的ipv4流量值的比值。
24、可选地,还包括:
25、域名组合模块,用于当根据所述第一域名与所述ip地址的映射关系确定所述ipv4地址对应的第二域名为多个时,将所述ipv4地址对应的多个所述第二域名组合为一个第二域名组;
26、所述流量计算模块,还用于根据所述第二域名组和其对应的ipv4流量值,与所述第二域名和其对应的ipv4流量值,计算出各所述第二域名组的ipv4流量占比,和除所述第二域名组内的所述第二域名之外的各所述第二域名的ipv4流量占比。
27、可选地,所述数据解析模块,包括:
28、ip地址解析子模块,用于对所述网络数据包的ip首部进行解析,确定出所述其他服务器对应的ip地址;
29、流量值解析子模块,用于当所述网络数据包对应的ip地址确定为所述ipv4地址时,对所述网络数据包的传输层进行解析,得到所述网络数据包的ipv4流量值;
30、流量值叠加子模块,用于将所述ipv4地址对应的所述网络数据包的ipv4流量值进行叠加,得到所述ipv4地址的ipv4流量值。
31、可选地,所述流量值解析子模块,包括:
32、地址确定单元,用于当所述网络数据包对应的ip地址是为使用32位2进制位的地址时,将所述网络数据包对应的ip地址确定为所述ipv4地址。
33、可选地,所述数据解析模块,包括:
34、第一数据解析子模块,用于对所述网络数据包的应用层进行解析,得到握手包;
35、第二数据解析子模块,用于从所述握手包中解析出所述其他服务器对应的第二域名。
36、本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
37、所述存储器,用于存放计算机程序;
38、所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
39、本发明实施例还公开了一个或多个计算机存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
40、本发明实施例还公开了一种计算机程序产品,该程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行以实现如本发明实施例所述的方法。
41、本发明实施例包括以下优点:抓取监测到的域名服务器响应客户端发送的域名解析请求返回的第一域名及其映射的ip地址,和客户端与其他服务器之间传输的网络数据包,对网络数据包进行解析,确定出其他服务器对应的ipv4地址、第二域名和ipv4流量值,当对网络数据包进行解析,无法确定出服务器对应的第二域名时,根据第一域名与ip地址的映射关系确定ipv4地址对应的第二域名,根据第二域名和其对应的ipv4流量值,计算出各第二域名的ipv4流量占比。本发明实施例中,通过解析网络数据包得到的ipv4地址、第二域名和ipv4流量值,与抓取到的第一域名及其映射的ip地址结合,确定出ipv4地址对应的第二域名,进而统计出各第二域名的ipv4流量占比,为ipv4优化升级到ipv6提供重要的参照数据,解决采用第三方工具的方式无法从网络数据包中分析出ipv4流量占比,导致无法为ipv4优化升级到ipv6提供出参照数据的问题。
42、另外,目前对于抓取到的网络数据包,存在一部分网络数据包由于损坏、异常等原因,会导致无法从网络数据包中的数据中解析出ipv4地址对应的第二域名,因此会造成该部分网络数据包无法参与ipv4流量占比的统计,出现最终统计出来的ipv4流量占比的准确性不高的问题。而本发明实施例中采用抓取到的第一域名与ip地址的映射关系,去确定出ipv4地址对应的第二域名,让损坏、异常的网络数据包能够继续参与ipv4流量占比的统计,提高最终统计出来的ipv4流量占比的准确性。