bpf专题

Linux 内核虚拟机 BPF 原理及应用 | Meetup No.110 回顾

上周六,我们在北京举办了 Infra meetup No.110,我司 TiKV 研发工程师张文博为大家分享了 Linux 内核虚拟机 BPF 的原理及在我司内部的应用实践。以下是视频&文字回顾,enjoy~ Infra Meetup No.110  后台回复“110“获取本期 PPT 链接   Linux 内核虚拟机 BPF 原理及应用 张文博 | TiKV 研

Pipy与BPF:打造无侵入无感知的流量拦截方案

背景 在当代的互联网技术领域,微服务架构已成为应用部署的主流模式,它虽然增强了开发流程的敏捷性和系统的可扩展性,但随着服务数量的增加,系统的内部通信变得越来越复杂。特别是在服务的接口和依赖关系不透明的情况下,整个系统的维护和优化工作变得异常困难。 今天要介绍的流量拦截技术,从本质上讲,提供了一种“上帝视角”来观察和分析在复杂网络系统中流动的数据。这种方法使得开发和运维团队能够对通常隐蔽

使用bpf_printk,会将字符串输出到文件/sys/kernel/debug/tracing/trace_pipe

使用bpf_printk,会将字符串输出到文件/sys/kernel/debug/tracing/trace_pipe /sys/kernel/debug/tracing/trace_pipe

使用BPF排查ceph高延时问题

使用BPF排查ceph高延时问题 案例来源 https://blog.selectel.com/from-high-ceph-latency-to-kernel-patch-with-ebpf-bcc/

bpf,ebpf,libbpf,libbpf_bootstarp概念介绍(如何安装libbpf_bootstarp库),以及四者关系,ebpf程序执行流程(代码分层,具体如何编译,后续操作,关系总结)

目录 概念介绍 bpf ​编辑 ebpf eBPF 虚拟机 libbpf  libbpf-bootstrap 如何安装 源码目录  ebpf, libbpf 和libbpf-bootstrap之间的关系 ebfp程序数据流程 介绍 代码 用户层函数 编译 查看 生成内核层的.o文件 第一模块 第二模块 第三模块 第四模块 第五模块 生成辅助文件(.sk

bpf,ebpf,libbpf,libbpf_bootstarp概念介绍,以及四者关系,ebpf程序执行流程(代码分层,具体如何编译,后续操作,总结)

目录 概念介绍 bpf ​编辑 ebpf eBPF 虚拟机 libbpf  libbpf-bootstrap ebpf, libbpf 和libbpf-bootstrap之间的关系 ebfp程序执行流程 代码 用户层函数 编译 查看 生成内核层的.o文件 第一模块 第二模块 第三模块 第四模块 第五模块 生成辅助文件(.skel.h) 生成代码层的.o文件

BPF 管理器 bpfman 简介

1. 背景 Fedora 40 提案建议将 bpfman 作为默认的程序管理器 ,开源项目 bpfman 可以实现对 eBPF 运行状态的深入了解,从而实现更轻松地管理 eBPF 程序(包括加载、卸载、运行状态查看等)。该提案还需要 Fedora 工程和指导委员会 (FESCo) 的批准,如果顺利很可能会在 4 月份出现在 Fedora 40 中以增强 eBPF 管理。 img 那么

性能分析与调优: Linux 安装基于BPF的bcc-tools系统性能工具库

目录  一、实验 1.环境 2.agent服务器安装使用ELRepo安装依赖包 3.agent服务器安装基于BPF的bcc-tools系统性能工具库 二、问题 1.安装bcc-tools后执行命令报错  一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.1

Linux服务器BPF后门的分析与应急

Red Menshen(又称DecisiveArchitect或Red Dev 18)是一个针对中东和亚洲国家利益的APT组织,一直在不断改进其BPFDoor。BPFDoor最有趣的功能是它能够在操作系统内核中加载数据包过滤器。 解读BPF Linux中大量使用BPF的库是libpcap库,它由tcpdump等程序使用。事实上,你可以使用tcpdump中的-d选项生成BPF过滤器指令。 内核

万字长文让你深入了解BPF字节码 @龙蜥社区eBPF SIG

1、什么是字节码 相信大家在看有关BPF的文章时,都有听过“字节码”一说,在讲字节码之前先来了解一下,什么是机器码?机器码(machine code),也叫原生码(native code),就是CPU能够直接读取并运行的代码,执行速度最快的代码,用二进制编码表示,也叫做机器指令码。它和CPU体系架构强相关。 那么什么是字节码?字节码(byte code)是一种中间状态的二进制代码,是由源码编译

matlab设计理想带通滤波器 bpf(f_sf_b1_b2),数字滤波器总结

数字滤波器总结 设计数字滤波器时,应充分利用成熟的软件工具,避免复杂的人工计算。Matlab便是这样的一个软件,它集成了FDAtool(filter design & analysis tool)工具,这是Matlab信号处理工具箱里专用的滤波器设计分析工具。FDAtool可以设计几乎所有的常规滤波器,包括FIR 和IIR。它操作简单,方便灵活。 一、那么,打开FDAtool的方法有两种,第一种

bpf对内核的观测

目录 1 bpftrace常用命令1.1 列出bpftrace 相关命令的list1. 2bpftrace -e 是执行1.3 查看参数 -lv 2 bpftrace 可以用到的变量3 高级3.1 内置函数3.2 文件系统3.3 内核内存 栈3.4 Malloc 调用 统计3.5 系统调用 brk 的 统计3.6 脚本调用 4 应用5 怎么串联起来呢 bpftrace 总的来说是对

BPF_PROG_TYPE_SOCKET_FILTER 功能实现

BPF_PROG_TYPE_SOCKET_FILTER,从宏字面意思比较容易想到实现的是socket filter功能,它区别于sockops和tracepoint等功能,需要额外借助setsockopt能力将功能函数和socket绑定,功能才能真正生效。 如何定该类型 在内核态功能函数中定义SEC("socketxxxx"),则会被解析为BPF_PROG_TYPE_SOCKET_FILTER