[发明专利]一种基于eBPF的内核丢包检测方法、系统和装置有效
申请号: | 202111063295.3 | 申请日: | 2021-09-10 |
公开(公告)号: | CN113794605B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 周骏迪;苌程;蒋玉芳 | 申请(专利权)人: | 杭州谐云科技有限公司 |
主分类号: | H04L43/0829 | 分类号: | H04L43/0829;H04L43/04 |
代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 卢亮辉 |
地址: | 311121 浙江省杭州市余杭区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ebpf 内核 检测 方法 系统 装置 | ||
1.一种基于eBPF的内核丢包检测方法,其特征在于,所述内核丢包检测方法包括:
基于eBPF,在内核函数tcp_drop前进行插桩;
通过插桩的函数,从寄存器中抓取内核函数tcp_drop的内核数据结构pt_regs的丢包数据,并将所述丢包数据存入eBPF MAP中;
在用户态中,读取所述eBPF MAP中的丢包数据;
将所读取的丢包数据匹配相应的虚拟机、进程或容器,获取匹配数据。
2.根据权利要求1所述的内核丢包检测方法,其特征在于,抓取内核函数tcp_drop的丢包数据的方法包括:
在函数tcp_drop执行前,从内核数据结构pt_reges中拦截丢包数据。
3.根据权利要求2所述的内核丢包检测方法,其特征在于,所述函数tcp_drop的参数包括SK和SKB;
从内核数据结构pt_regs的第一个入参中读取SK参数的值;
从内核数据结构pt_regs的第二个入参中读取SKB参数的值。
4. 根据权利要求1所述的内核丢包检测方法,其特征在于,插桩的函数包括Hook函数,通过Hook函数抓取函数tcp_drop的丢包数据,并将所述丢包数据保存在eBPF Map中。
5. 根据权利要求4所述的内核丢包检测方法,其特征在于,将所述丢包数据转换为event结构数据后,保存在eBPF Map中;
在用户态中,从所述eBPF Map中所读取的丢包数据包括:tcp连接的状态和sk_buff;
所述sk_buff包括以下任一信息或它们的组合:tcp四元组、网卡名称和mac地址。
6.根据权利要求5所述的内核丢包检测方法,其特征在于,还包括从sk_buff中解析数据的方法:
根据sk_buff的head地址和mac_head地址偏移量计算ethhdr地址,在ethhdr数据结构中获取mac地址;
根据sk_buff的head地址和network_header地址偏移量计算iphdr地址,在ipdhdr数据结构中获取IP地址;
根据协议转化数据结构,TCP转化为tcphdr,IPIP的端口为0,UDP为udphdr,再从所转化的数据结构中获取srcport和dstprot端口。
7.根据权利要求5所述的内核丢包检测方法,其特征在于,将所读取的丢包数据匹配相应的虚拟机或进程的方法包括:
从系统文件中获取IP、端口列表,以及进程列表;
将所述tcp 四元组与所述IP、端口列表进行匹配,获得关联虚拟机的信息;
将所述tcp 四元组与所述进程列表匹配,获得关联进程的信息;
将所读取的丢包数据匹配容器的方法包括:
根据所述TCP四元组中的容器ID或网卡名称,匹配相应的容器。
8.根据权利要求1所述的内核丢包检测方法,其特征在于,基于eBPF的Kprobe探针的方法在内核函数tcp_drop中进行插桩。
9.一种用于实现如权利要求1-8任一项所述内核丢包检测方法的系统,其特征在于,包括:插桩模块、拦截模块、拷贝模块和匹配模块;
所述插桩模块用于基于eBPF,在内核函数tcp_drop前进行插桩;
所述拦截模块用于通过插桩的函数,从寄存器中抓取内核函数tcp_drop的丢包数据,并将所述丢包数据存入eBPF MAP中;
所述拷贝模块用于在用户态中,读取所述eBPF MAP中的丢包数据;
所述匹配模块用于将所读取的丢包数据匹配相应的虚拟机、进程或容器,获取匹配数据。
10.一种装置,其特征在于,包括存储器和处理器,所述存储器用于保存程序,所述程序包括用于实现如权利要求1-8任一项所述内核丢包检测方法的指令;
所述处理器用于执行所述程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州谐云科技有限公司,未经杭州谐云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111063295.3/1.html,转载请声明来源钻瓜专利网。