23得票4回答
eBPF能够修改系统调用的返回值或参数吗?

我想要模拟一些行为,需要在系统调用中添加探针,并在传递某些参数时修改返回值。另外,在处理这些参数之前修改函数的参数也足够了。 使用BPF是否可以实现这一功能?

14得票2回答
谁在BPF中创建地图?

阅读了man bpf和其他一些文档后,我认为只有用户进程才能创建map。但是下面这个小程序似乎神奇地创建了bpf映射表: struct bpf_map_def SEC("maps") my_map = { .type = BPF_MAP_TYPE_ARRAY, ...

11得票2回答
我该如何获取适用于我的Linux内核的bpf_helpers.h头文件?

我正在一台Ubuntu机器上开发一个eBPF程序: $ uname -a Linux ubuntu-bionic 4.18.0-16-generic #17~18.04.1-Ubuntu SMP Tue Feb 12 13:35:51 UTC 2019 x86_64 x86_64 x86_6...

9得票4回答
本地程序的未加密HTTPS请求正文是否可以被拦截?

是否可以编写一个通用的EBPF程序,以便读取所有用户空间程序的未加密的HTTPS请求和响应正文? 据我所知,EBPF与网络的第2、3和4层数据包一起工作。 HTTPS有效载荷被加密在这些数据包中,因此EBPF可以读取数据包元数据,但无法读取构成HTTPS请求/响应的有效载荷。 唯一的方法是...

9得票1回答
不同ebpf程序类型之间的映射共享

能否在不同的程序类型之间共享ebpf映射?我需要在tc-bpf程序和cgroup bpf程序之间共享一个映射。如果将该映射固定到充当全局命名空间的文件系统中,则应该可以实现此目的。但是,我还没有使其正常工作。 该映射由tc-bpf程序创建并固定到全局命名空间。由于它是tc-bpf程序,因此该...

8得票3回答
为什么拥有用户空间版本的eBPF很有趣?

我看到开发了ebpf的用户空间版本(运行时、汇编器、反汇编器)(uBPF, rbpf)。 为什么拥有ebpf的用户空间版本很有意思? 这些替代方案是否专注于与eBPF程序类型(网络、可观测性和安全性)相同的目标?

8得票2回答
如何使用eBPF和seccomp过滤器?

我正在寻找一个eBPF的示例,用于编写seccomp过滤器,但我找不到任何信息。请问有人能告诉我是否可以使用eBPF来编写seccomp过滤器吗?

8得票2回答
Linux的BPF程序中允许使用循环吗?

我正在思考在内核中复制数据包并进行向5个主机(单播)的转发的解决方案。计划利用eBPF/XDP实现。 我正试图循环5次,并在循环体内计划克隆数据包、修改目标IP地址、更新校验和并将数据包通过同一接口转发。 我在某处看到XDP中不能使用循环,所以不确定这是否可行? 需要专家的建议。

7得票1回答
bpf_printk()的输出

在运行samples/bpf中的一些示例时,我注意到bpf_printk输出前面有一些额外的信息,例如: telnet-470 [001] .N.. 419421.045894: 0x00000001: BPF command: 2 BPF命令:2 是在bpf程序中传递给bpf_pr...