一种数据链路层流量分析方法与流程
- 国知局
- 2024-12-06 12:25:13
本发明涉及通信,尤其涉及一种数据链路层流量分析方法。
背景技术:
1、数据链路层协议位于osi模型的第二层,因此又称为二层协议。相对于常见的ip、ipv6、icmp等网络层协议来说,数据链路层协议一般是用于特定领域,对网络进行控制和管理,而不是用于承载业务流量。
2、由于链路层协议不是面向连接的,无法直接像tcp、udp等高层协议那样通过五元组信息来创建会话来进行统计和管理。在网络流量监控方面,一般流量监控产品都没有对数据链路层协议进行有效的监测和统计。但实际上很多网络攻击如arp欺骗,洪泛攻击等,以及一些网络故障的发生都跟链路层协议有关,因此对链路层协议流量进行有效监控和统计也是需要迫切面对和解决的问题。
3、综上所述,现有技术中缺乏一种方法来解析链路层协议流量并进行统计的方法。
技术实现思路
1、有鉴于此,有必要提供一种数据链路层流量分析方法,用以实现解析链路层协议流量并进行统计的目的。
2、为了实现上述目的,本发明提供一种数据链路层流量分析方法,包括:
3、获取网络报文;
4、解析所述网络报文的数据结构,得到协议类型为数据链路层的报文数据;
5、解析数据链路层的报文数据对应数据结构,得到dmac、smac以及协议类型;
6、将dmac和/或smac与协议类型进行哈希计算,得到哈希结果;
7、将哈希结果作为key值插入到哈希表中;
8、将哈希结果对应的数据链路层的报文数据作为value值插入哈希表中,得到插入后的哈希表;
9、基于所述插入后的哈希表对网络报文进行分析。
10、在一种可能的实现方式中,所述解析所述网络报文的数据结构,得到协议类型为数据链路层的报文数据,包括:
11、基于所述网络报文的数据结构中的dmac和/或smac后的字节确定网络报文的协议层;
12、剔除协议层中非数据链路层对应的报文数据,得到数据链路层对应的报文数据。
13、在一种可能的实现方式中,所述基于所述网络报文的数据结构中的dmac和/或smac后的字节确定网络报文的协议层,包括:
14、当所述网络报文的数据结构中的dmac为预设协议的值时,确定所述网络报文为数据链路层数据;
15、当所述网络报文的数据结构中的dmac不为预设协议的值时,则根据smac后的字节数确定所述网络报文的协议层。
16、在一种可能的实现方式中,所述根据smac后的字节数确定所述网络报文的协议层,包括:
17、当smac后的第一字节数大于第一预设值时,则确定所述网络报文的以太网帧为ethernetⅱ,并根据所述以太网帧中的type字段判断所述网络报文的协议层,所述第一字节数为smac后两位字节数;
18、当smac后第一字节数不大于第一预设值时,则根据smac后第二字节数确定所述网络报文的协议层,所述第二字节数为所述第一字节数的后两位。
19、在一种可能的实现方式中,所述根据smac后第二字节数确定所述网络报文的协议层,包括:
20、当smac后第二字节数为第二预设值时,则确定所述网络报文的以太网帧为ieee802.3raw,则确定所述网络报文为网络层数据;
21、当确定smac后第二字节数不为第二预设值时,且smac后第二字节数等于第三预设值时,则确定所述网络报文的以太网帧为ieee 802.3snap,并根据所述以太网帧中的snap字段确定所述网络报文的协议层;
22、当确定smac后第二字节数不为第二预设值时,且smac后第二字节数不等于第三预设值时,则确定所述网络报文的以太网帧为ieee 802.3llc,并根据所述以太网帧中的dsap和ssap字段确定所述网络报文的协议层。
23、在一种可能的实现方式中,所述将dmac和/或smac与协议类型进行哈希计算,得到哈希结果,包括:
24、将dmac、smac以及协议类型进行哈希计算,得到第一哈希结果;
25、将smac、dmac以及协议类型进行哈希计算,得到第二哈希结果;
26、将第一哈希结果和第二哈希结果标记为同一个数据链路层会话,并将标记后的第一哈希结果和标记后的第二哈希结果为key值插入第一哈希表中。
27、在一种可能的实现方式中,所述将dmac和/或smac与协议类型进行哈希计算,得到哈希结果,包括:
28、将smac和协议类型进行哈希计算,得到第三哈希结果;
29、将第三哈希结果作为key值插入第二哈希表中。
30、在一种可能的实现方式中,所述基于所述哈希表对网络报文进行分析,包括:
31、所述哈希表中的key值用于确定会话节点;
32、所述哈希表中的value值用于对网络报文的流量数据进行统计。
33、在一种可能的实现方式中,所述流量数据包括:包数、字节数、比特率、包长、广播包数以及会话持续时间。
34、在一种可能的实现方式中,还包括:
35、设置预设老化时间,基于预设老化时间清理所述哈希表。
36、本发明的有益效果是:本发明提供的一种数据链路层流量分析方法,首先获取网络报文,然后解析所述网络报文的数据结构,得到协议类型为数据链路层的报文数据,进一步解析链路层的报文数据对应的数据结构,得到dmac、smac以及协议类型,进一步将dmac和/或smac与协议类型进行哈希计算,得到哈希结果,从而将数据存放到哈希表中,然后将哈希结果作为key值插入到哈希表中,将哈希结果对应的数据链路层的报文数据作为value值插入哈希表中得到插入后的哈希表,从而将键值一一对应,最后基于所述插入后的哈希表对网络报文进行分析。本发明通过网络报文数据进行解析,得到数据链路层的数据,从而为网络攻击和网络故障的判断提供依据。
技术特征:1.一种数据链路层流量分析方法,其特征在于,包括:
2.根据权利要求1所述的数据链路层流量分析方法,其特征在于,所述解析所述网络报文的数据结构,得到协议类型为数据链路层的报文数据,包括:
3.根据权利要求2所述的数据链路层流量分析方法,其特征在于,所述基于所述网络报文的数据结构中的dmac和/或smac后的字节确定网络报文的协议层,包括:
4.根据权利要求3所述的数据链路层流量分析方法,其特征在于,所述根据smac后的字节数确定所述网络报文的协议层,包括:
5.根据权利要求4所述的数据链路层流量分析方法,其特征在于,所述根据smac后第二字节数确定所述网络报文的协议层,包括:
6.根据权利要求1所述的数据链路层流量分析方法,其特征在于,所述将dmac和/或smac与协议类型进行哈希计算,得到哈希结果,包括:
7.根据权利要求1所述的数据链路层流量分析方法,其特征在于,所述将dmac和/或smac与协议类型进行哈希计算,得到哈希结果,包括:
8.根据权利要求1所述的数据链路层流量分析方法,其特征在于,所述基于所述插入后的哈希表对网络报文进行分析,包括:
9.根据权利要求5所述的数据链路层流量分析方法,其特征在于,所述流量数据包括:包数、字节数、比特率、包长、广播包数以及会话持续时间。
10.根据权利要求1所述的数据链路层流量分析方法,其特征在于,还包括:
技术总结本发明涉及一种数据链路层流量分析方法,属于通信技术领域,其中,该方法包括:获取网络报文;解析所述网络报文的数据结构,得到协议类型为数据链路层的报文数据;解析数据链路层的报文数据对应数据结构,得到DMAC、SMAC以及协议类型;将DMAC和/或SMAC与协议类型进行哈希计算,得到哈希结果;将哈希结果作为key值插入到哈希表中;将哈希结果对应的数据链路层的报文数据作为value值插入哈希表中;基于所述哈希表对网络报文进行分析。本发明实现了对链路层协议流量的解析并对解析后的数据进行统计。技术研发人员:张凯,王水江受保护的技术使用者:北京安博通科技股份有限公司技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/341291.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。