2022年美团技术年货 合辑
Storage、Network 等与内核交互之间; 2. 也可以在内核中的功能模块交互之间; 3. 又可以在内核态与用户态交互之间; 4. 更可以在用户态进程空间。 eBPF 的功能覆盖 XDP、TC、Probe、Socket 等,每个功能点都能实现内核态的 篡改行为,从而使得用户态完全致盲,哪怕是基于内核模块的 HIDS,一样无法感知 到这些行为。 基于 eBPF 的功能函数,从业 技术上,会如何实现呢? XDP/TC 层修改 TCP 包 为了让后门隐藏的更好,最好是不开进程,不监听端口(当前部分我们只讨论网络层 隐藏)。而 eBPF 技术在 XDP、TC、Socket 等内核层的功能,能够实现流量信息修 改,这些功能常被应用在 L3、L4 的网络负载均衡上。比如 Cilium 的网络策略都是 基于 eBPF XDP 实现。eBPF hook 了 XDP 点后,更改了 TCP 内核再将该数据包转发出去。 按照 XDP 与 TC 在 Linux 内核中,处理 ingress 与 egress 的位置,可以更准确地 确定 hook 点。 ● XDP 的 BPF_PROG_TYPE_XDP 程序类型,可以丢弃、修改、重传来自 ingress 的流量,但无法对 egress 起作用。 ● TC 的 BPF_PROG_TYPE_SCHED_CLS 除了拥有 XDP“BPF_PROG_0 码力 | 1356 页 | 45.90 MB | 1 年前305. 李枫 用于 Linux 内核调试的 Python
sched.com/event/BCsg/making-the-kernels-networking-data- path-programmable-with-bpf-and-xdp-daniel-borkmann-covalent GCC (GCC support for eBPF is on the way) https://www.phoronix.com/scan0 码力 | 63 页 | 4.07 MB | 1 年前3Reference guide for RTL units. Document version 3.2.2
= 9 Address family Reserved for X.25 project 1234 CHAPTER 72. REFERENCE FOR UNIT ’SOCKETS’ AF_XDP = 44 EsockADDRINUSE = ESysEADDRINUSE EsockADDRINUSE is the error reported by fpBind (1265) when the Protocol family: Wanpipe API Sockets PF_X25 = AF_X25 Protocol family: Reserved for X.25 project PF_XDP = AF_XDP SCM_CREDENTIALS = $02 SCM_RIGHTS = $01 1249 CHAPTER 72. REFERENCE FOR UNIT ’SOCKETS’ SCM_SECURITY level SOL_TCP = 6 SOL_TIPC = 271 SOL_TLS = 282 SOL_UDP = 17 SOL_UDPLITE = 136 SOL_X25 = 262 SOL_XDP = 283 SOMAXCONN = 4096 Maximum queue length specifiable by listen. 1252 CHAPTER 72. REFERENCE FOR0 码力 | 2191 页 | 4.93 MB | 1 年前3
共 3 条
- 1