eBPF

【eBPF-03】进阶:BCC 框架中 BPF 映射的应用 v1.0

本文介绍了六个工具,主要涵盖了 BPF_HASH / BPF_ARRAY / BPF_HISTOGRAM / BPF_STACK_TRACE 这四种最常见的 BPF 映射 的使用方法。 ......
框架 eBPF BCC BPF 03

【eBPF-02】入门:基于 BCC 框架的程序进阶

本文在前一篇文章的基础上,对进程执行监控工具(execsnoop)进行了升级,实时打印进程执行时传入的参数列表;并通过 `kprobe` 和 `tracepoint` 两种方式,绑定 eBPF 程序,给出了代码实现。同时,对这两种 eBPF 事件类型进行了简单比较。显然,在你手动开发一个 eBPF ... ......
框架 程序 eBPF BCC 02

eBPF 基础

BPF BPF 概述 BPF 最初代表伯克利包过滤器 (Berkeley Packet Filter)是基于寄存器的虚拟机运行于内核空间,能够在linux内核内部运行即时本地编译的BPF程序,允许以安全的方式在各种挂钩点执行字节码。它被用于许多Linux 内核子系统,最突出的是网络、跟踪和安全(例如 ......
基础 eBPF

多语言应用监控最优选,ARMS 应用监控 eBPF 版正式发布

为了满足全场景、端到端的应用监控需求,应用实时监控服务 ARMS 推出应用监控 eBPF 版,通过 eBPF 技术完善整个应用监控的体系,接下来将重点介绍应用监控 eBPF 版。 ......
ARMS eBPF

什么是革命性技术eBPF?为什么可观测性领域都得用它

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 如果有一种技术可以监控和采集任何应用信息,支持任何语言,并且应用完全无感知,零侵入,想想是不是很激动,那么这个技术是什么呢?就是eBPF,它应该是最近一两年非常热门的技术名词,我相信你或多或少都看到过,但可能不知道它能做什 ......
革命性 领域 技术 eBPF

基于 eBPF 构建下一代智能可观测系统

作者:梵登、千陆 本文基于 KubeCon China 2023 分享整理 我们今天分享的主题是基于 eBPF 构建下一代智能可观测系统。 在开始之前呢,我先介绍一下我们自己。我是刘恺,花名是千陆,目前是阿里云 ARMS K8s 监控子产品的负责人。这位是我的同事董善东博士,花名梵登,他是阿里云 A ......
下一代 智能 系统 eBPF

【eBPF-01】初见:基于 BCC 框架的第一个 eBPF 程序

本文记录了如何零基础通过 `BCC` 框架,入门 `eBPF` 程序的开发,并实现几个简易的程序。 抛砖引玉,如有论述错误之处,还请斧正。 ......
eBPF 框架 程序 BCC 01

快速探索 Tetragon:基于 eBPF 的安全可观察性和执行工具

Tetragon 是一种灵活的安全可观察性和运行时策略执行工具,可直接使用 eBPF 应用策略和过滤,从而减少了监控、进程跟踪以及实时执行策略的开销。 Tetragon 提供了如下功能: 监控进程执行 监控文件操作 监控网络活动 执行策略 最后一个侧重策略的执行,可以通过发送信号或覆盖系统调用的返回 ......
Tetragon 工具 eBPF

Cilium 开源 Tetragon -- 基于 eBPF 的安全可观测性 & 运行时增强

原文链接:https://isovalent.com/blog/post/2022-05-16-tetragon Isovalent Cilium 企业版 包含一个基于 eBPF 的实时安全可观测性和运行时增强(runtime enforcement)平台,2022 年 5 月 16 日,Isova ......
Tetragon Cilium eBPF amp

eBPF 概述:第 4 部分:在嵌入式系统运行

1. 前言 在本系列的第 1 部分和第 2 部分,我们介绍了 eBPF 虚拟机内部工作原理,在第 3 部分我们研究了基于底层虚拟机机制之上开发和使用 eBPF 程序的主流方式。 在这一部分中,我们将从另外一个视角来分析项目,尝试解决嵌入式 Linux 系统所面临的一些独特的问题:如需要非常小的自定义 ......
嵌入式 部分 系统 eBPF

eBPF 概述:第 3 部分:软件开发生态

1. 前言 在本系列的第 1 部分和第 2 部分中,我们对 eBPF 虚拟机进行了简洁的深入研究。阅读上述部分并不是理解第 3 部分的必修课,尽管很好地掌握了低级别的基础知识确实有助于更好地理解高级别的工具。为了理解这些工具是如何工作的,我们先定义一下 eBPF 程序的高层次组件: 后端:这是在内核 ......
软件开发 生态 部分 软件 eBPF

eBPF 概述:第 2 部分:机器和字节码

1. 前言 我们在第 1 篇文章中介绍了 eBPF 虚拟机,包括其有意的设计限制以及如何从用户空间进程中进行交互。如果你还没有读过这篇文章,建议你在继续之前读一下,因为没有适当的介绍,直接开始接触机器和字节码的细节是比较困难的。如果有疑问,请看第 1 部分开头的流程图。 本系列的第 2 部分对第 1 ......
字节 机器 部分 eBPF

eBPF 概述:第 1 部分:介绍

1. 前言 有兴趣了解更多关于 eBPF 技术的底层细节?那么请继续移步,我们将深入研究 eBPF 的底层细节,从其虚拟机机制和工具,到在远程资源受限的嵌入式设备上运行跟踪。 注意:本系列博客文章将集中在 eBPF 技术,因此对于我们来讲,文中 BPF 和 eBPF 等同,可相互使用。BPF 名字/ ......
部分 eBPF

android ebpf实现栈回溯

栈回溯原理 利用栈帧 x86通常会使用ebp来保存栈帧,在函数头部首先会将ebp即调用者对应的栈帧保存,而调用者的返回地址就保存在此ebp对应的栈地址+4的栈地址中。这样经过多层函数调用,在内存中就会形成一个ebp链,只要知道当前ebp的值并遍历ebp链就可以找到每一层调用的返回地址,这样就可以完成 ......
android ebpf

odigos 基于ebpf 以及OpenTelemetry 的分布式tracing 解决方案

按照odigos 官方的介绍是不需要进行代码的修改就可以实现方便的跨应用的分布式trace,目前支持java,python,net,go,js 等语言目前看官方的介绍,安装是比较简单的(核心基于了k8s),目前官方文档比较清晰可以试用下 说明 目前开源分布式trace 的工具是越来越多了,同时基于e ......

android ebpf之uprobe原理和检测方法

uprobe通过内核层对用户层进程的指定地址的原指令copy到其他位置,然后写入指定类型中断指令,然后内核中设置对应的中断处理程序,中断处理程序中执行uprobe设置的回调过滤函数,然后设置单步执行copy的原指令后恢复寄存器状态继续执行。ida查看被uprobehook的函数头部,指令被修改为了中 ......
原理 android 方法 uprobe ebpf

android ebpf中CO-RE的学习

CO-RE原理 因为不同的内核版本的系统内部结构体会有差异,例如struct user_arg_ptr,当内核编译配置中存在CONFIG_COMPAT=y的时候,会在native成员之前增加一个布尔变量is_compat,这样native的偏移就发生的变化。 如果编写的ebpf内核程序需要访问str ......
android CO-RE ebpf CO RE

android ebpf捕获https数据包

ecapture ebpf利用uprobe/uretprobe可以hook用户层函数,通过对https SSL层的SSL_write和SSL_read进行hook可以拦截明文数据信息。大佬的开源项目:ecapturehttps://github.com/gojue/ecapture,编译参考:htt ......
android 数据 https ebpf

android ebpf初体验实现文件重定位

之前通过修改内核插桩并编写内核模块的方式hookdo_sys_open函数(这种方式有点像tracepoint,都属于静态探测),这种方式优点是可以hook内核中的任意函数,但是需要编译内核和驱动模块较为麻烦。 eBPF相当于在内核中定义了一个虚拟机,能够加载eBPF字节码并依赖kprobe,upr ......
android 文件 ebpf

Cilium & Calico eBPF

Cilium架构 Cilium 是一个开源项目,旨在为 Kubernetes 集群和其他容器编排平台等云原生环境提供网络、安全性和可观察性。 Cilium 的基础是一种名为 eBPF 的新 Linux 内核技术,它可以将强大的安全性、可见性和网络控制逻辑动态插入到 Linux 内核中。eBPF 用于 ......
Cilium Calico eBPF amp

eBPF(Linux内核安全方案)教程1简介

1 eBPF简介 eBPF(extended Berkeley Packet Filter)是一种革命性的内核技术,它允许开发人员编写可动态加载到内核中的自定义代码,从而改变内核的运行方式。(如果你对内核还不太了解,不用担心,本章很快就会讲到)。 这使得新一代高性能网络、可观察性和安全工具成为可能。 ......
内核 方案 简介 教程 Linux

Grafana 开源了一款 eBPF 采集器 Beyla

eBPF 的发展如火如荼,在可观测性领域大放异彩,Grafana 近期也发布了一款 eBPF 采集器,可以采集服务的 RED 指标,本文做一个尝鲜介绍,让读者有个大概了解。 eBPF 基础介绍可以参考我之前的文章《eBPF Hello world》。理论上,eBPF 可以拿到服务收到的请求信息,比如 ......
采集器 Grafana Beyla eBPF

ebpf-使用内核编译开发一个程序(ubuntu20.04)

前不久正好工作中使用到了这个方面的知识,这里写一下我的总结 我对ebpf的理解 ebpf(extended Berkeley Packet Filter)是一种虚拟机,通常我们使用的vmware是一种大型的虚拟机,vmware里面可以模拟cpu、显卡、网卡、硬盘等硬件,而ebpf这种的虚拟机是只模拟 ......
内核 程序 ubuntu 20.04 ebpf

Cilium系列-6-从地址伪装从IPtables切换为eBPF

## 系列文章 * [Cilium 系列文章](https://ewhisper.cn/tags/Cilium/) ## 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, 可以进一步提 ......
IPtables 地址 Cilium eBPF

LizRice--Learning EBPF

> 主要参考Liz Rice主讲的youtube视频:https://www.youtube.com/watch?v=TJgxjVTZtfw > 这里做lab记录,持续更新ing > 线上实验环境:https://play.instruqt.com/isovalent/invite/miht6dgd ......
Learning LizRice EBPF

推荐一款轻量级 eBPF 前端工具 ply

## 1 Overview ply 是 eBPF 的 front-end 前端工具之一,专为 embedded Linux systems 开发,采用 C 语言编写,只需 libc 和内核支持 BPF 就可以运行,不需要外部 kernel 模块,不需要 LLVM,不需要 python。 ply 由瑞 ......
轻量 轻量级 前端 工具 eBPF

falco如何使用eBPF探针感知事件

Falco是一个开源的云原生安全工具,使用C++编写,主要用于监控、检测和响应运行中的容器环境中的安全事件。官方GitHub仓库(https://github.com/falcosecurity/falco). Falco可以检测和警告涉及Linux系统调用的任何行为。Falco的原理如下图所示,F ......
探针 事件 falco eBPF

ebpf 单行程序学习

# ebpf 单行程序学习 ## 背景 ``` 公司方神借给我一本: 《BPF之巅:洞悉linux系统和应用性能》纸质书 拿回家晚上在沙发上看了几天。 感觉书很厚看的不是很系统。 仅能凭自己的感觉总结一下这些天的读书感悟。 本来计划是2023年的春节 7 天长假系统的学习ebpf 但是因为学习Lin ......
程序 ebpf

eBPF学习笔记(二)开发一个程序

### eBPF程序开发过程 首先你要了解Linux的基本知识,知道Linux有哪些系统调用,这些调用时干什么用的,以及你着重关注哪些系统操作,在Linux系统中可以到/proc/kallsyms中查询所有的内核系统调用函数,可以参考这个网页 http://blog.chinaunix.net/ui ......
笔记 程序 eBPF

linux eBPF

linux eBPF reference: 万字干货,eBPF 经典入门指南 1. linux tracing system 2. eBPF简介 3. ubuntu20.04下eBPF纯C程序的环境搭建与示例 ......
linux eBPF
共34篇  :1/2页 首页上一页1下一页尾页