最新资讯

  • eBPF综合指南

eBPF综合指南

2026-01-30 16:13:12 栏目:最新资讯 0 阅读

eBPF 综合指南

目录

  1. 简介
  2. 历史与演进
  3. eBPF 工作原理
  4. eBPF 架构
  5. eBPF 程序
  6. eBPF Maps
  7. 应用场景
  8. 工具与生态系统
  9. 安全考虑
  10. 性能特性
  11. 快速入门
  12. 未来发展方向

简介

eBPF(Extended Berkeley Packet Filter) 是一项革命性技术,它允许在 Linux 内核中安全、高效、可编程地执行沙盒程序,而无需开发内核模块或修改内核源代码。

eBPF 使开发者能够动态扩展内核功能,提供前所未有的可观测性、安全性和网络功能,同时通过验证过程确保安全性。

核心特性

  • 安全性:程序在执行前经过验证,确保不会导致内核崩溃
  • 高效性:通过 JIT(即时编译)编译为本地机器码,实现接近原生的性能
  • 可扩展性:可挂载到各种内核子系统,无需修改内核代码
  • 可移植性:通过 CO-RE(Compile Once, Run Everywhere)支持在不同内核版本上运行
  • 可编程性:使用熟悉的编程模型,支持 C 或 Rust 语言

历史与演进

起源:BPF(1992年)

Berkeley Packet Filter 由 Steven McCanne 和 Van Jacobson 于 1992 年创建,作为 BSD 操作系统中高效的数据包过滤机制。BPF 使用虚拟机在内核空间过滤数据包,然后再将其复制到用户空间,相比之前的方法显著提高了性能。

演进为 eBPF(2014年)

2014年,Alexei Starovoitov 扩展了 BPF,引入了新功能,创建了 eBPF:

  • 扩展的寄存器集(从2个扩展到10个64位寄存器)
  • 新的数据类型和指令
  • 支持 maps(键值存储)
  • 能够挂载到除数据包之外的各种内核事件
  • JIT 编译支持

重要里程碑

年份里程碑
1992原始 BPF 引入
1997BPF 集成到 Linux 内核
2011Seccomp-BPF 用于安全计算
2014eBPF 合并到 Linux 内核(v3.18)
2017XDP(eXpress Data Path)引入
2019CO-RE(Compile Once, Run Everywhere)支持
2020LSM(Linux Security Modules)钩子
2021eBPF 成为 CNCF 孵化项目
2023Windows eBPF 预览版发布

eBPF 工作原理

执行流程

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│  eBPF 字节  │     │   验证器     │     │   JIT/VM    │
│    代码     │────▶│  (安全性     │────▶│  编译器     │
│             │     │   检查)      │     │             │
└─────────────┘     └──────────────┘     └─────────────┘
       │                                       │
       │                                       ▼
       │                              ┌──────────────┐
       │                              │  本地        │
       │                              │  执行        │
       └─────────────────────────────▶│  在内核中    │
                                      └──────────────┘

逐步流程

  1. 程序编译:eBPF 程序使用 C(受限子集)或 Rust 编写,通过 LLVM/Clang 编译为 eBPF 字节码

  2. 加载:通过 bpf() 系统调用将字节码加载到内核

  3. 验证:内核验证器执行静态分析:

    • 确保程序终止(无无限循环)
    • 检查越界内存访问
    • 验证寄存器使用和类型
    • 验证只调用允许的内核函数
  4. JIT 编译:验证后的字节码被编译为主机架构的本地机器码

  5. 挂载:程序被挂载到特定的钩子点(tracepoint、kprobe、socket 等)

  6. 执行:当钩子被触发时,eBPF 程序在该事件的上下文中执行


eBPF 架构

组件

┌─────────────────────────────────────────────────────────────┐
│                        用户空间                              │
├─────────────────────────────────────────────────────────────┤
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐   │
│  │  libbpf  │  │  Cilium  │  │  bcc     │  │  bpftrace│   │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘   │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐                  │
│  │  bpftool │  │  P4/eBPF │  │  XDP     │                  │
│  └──────────┘  └──────────┘  └──────────┘                  │
└─────────────────────────────────────────────────────────────┘
                              │
                        bpf() 系统调用
                              │
┌─────────────────────────────────────────────────────────────┐
│                         内核空间                             │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐        │
│  │  验证器      │  │  JIT 引擎   │  │   Maps      │        │
│  └─────────────┘  └─────────────┘  └─────────────┘        │
│                                                             │
│  ┌──────────────────────────────────────────────────────┐  │
│  │                   钩子点                              │  │
│  ├─────────┬──────────┬─────────┬─────────┬─────────────┤  │
│  │ Kprobes │ Tracepts │ Network │  LSM    │   Socket    │  │
│  └─────────┴──────────┴─────────┴─────────┴─────────────┘  │
│                                                             │
│  ┌─────────────────────────────────────────────────────┐  │
│  │              eBPF 程序 (JITed)                       │  │
│  └─────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

钩子点类型

钩子类型描述使用场景
Kprobes动态内核函数入口/返回函数跟踪、性能分析
Uprobes用户空间函数跟踪应用程序分析
Tracepoints静态内核检测点事件跟踪、调试
Socket FiltersSocket 上的数据包过滤网络监控、防火墙
XDPeXpress Data Path(最早的数据包处理)高性能网络、DDoS 防护
TC(流量控制)QoS 和数据包操作网络策略、负载均衡
cGroup每个 cgroup 的钩子资源监控、安全策略
LSM(Linux 安全模块)安全钩子访问控制、运行时安全
Perf Events性能监控事件CPU 分析、硬件计数器
Socket OperationsSocket 创建、连接等网络可观测性

eBPF 程序

程序类型

eBPF 支持多种程序类型,每种都为特定目的而设计:

enum bpf_prog_type {
    BPF_PROG_TYPE_SOCKET_FILTER,
    BPF_PROG_TYPE_KPROBE,
    BPF_PROG_TYPE_SCHED_CLS,
    BPF_PROG_TYPE_SCHED_ACT,
    BPF_PROG_TYPE_TRACEPOINT,
    BPF_PROG_TYPE_XDP,
    BPF_PROG_TYPE_PERF_EVENT,
    BPF_PROG_TYPE_CGROUP_SKB,
    BPF_PROG_TYPE_CGROUP_SOCK,
    BPF_PROG_TYPE_LWT_IN,
    BPF_PROG_TYPE_LWT_OUT,
    BPF_PROG_TYPE_LWT_XMIT,
    BPF_PROG_TYPE_SOCK_OPS,
    BPF_PROG_TYPE_SK_SKB,
    BPF_PROG_TYPE_CGROUP_DEVICE,
    BPF_PROG_TYPE_SK_MSG,
    BPF_PROG_TYPE_RAW_TRACEPOINT,
    BPF_PROG_TYPE_CGROUP_SOCK_ADDR,
    BPF_PROG_TYPE_LWT_SEG6LOCAL,
    BPF_PROG_TYPE_LIRC_MODE2,
    BPF_PROG_TYPE_SK_REUSEPORT,
    BPF_PROG_TYPE_FLOW_DISSECTOR,
    BPF_PROG_TYPE_CGROUP_SYSCTL,
    BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE,
    BPF_PROG_TYPE_CGROUP_SOCKOPT,
    BPF_PROG_TYPE_TRACING,
    BPF_PROG_TYPE_STRUCT_OPS,
    BPF_PROG_TYPE_EXT,
    BPF_PROG_TYPE_LSM,
    BPF_PROG_TYPE_SK_LOOKUP,
    BPF_PROG_TYPE_SYSCALL,
};

示例:简单的 XDP 程序

// xdp_drop.c
#include 
#include 

SEC("xdp")
int xdp_drop_prog(struct xdp_md *ctx)
{
    void *data_end = (void *)(long)ctx->data_end;
    void *data = (void *)(long)ctx->data;
    
    // 丢弃所有数据包
    return XDP_DROP;
}

char _license[] SEC("license") = "GPL";

示例:Kprobe 程序

// trace_open.c
#include 
#include 
#include 

SEC("kprobe/do_sys_open")
int trace_do_sys_open(struct pt_regs *ctx)
{
    // 记录文件打开事件
    bpf_printk("File opened: %s", PT_REGS_PARM1(ctx));
    return 0;
}

char _license[] SEC("license") = "GPL";

eBPF Maps

Map 类型

eBPF maps 是键值数据结构,允许在 eBPF 程序之间以及内核和用户空间之间共享数据:

enum bpf_map_type {
    BPF_MAP_TYPE_HASH,
    BPF_MAP_TYPE_ARRAY,
    BPF_MAP_TYPE_PERCPU_HASH,
    BPF_MAP_TYPE_PERCPU_ARRAY,
    BPF_MAP_TYPE_LRU_HASH,
    BPF_MAP_TYPE_LRU_PERCPU_HASH,
    BPF_MAP_TYPE_LPM_TRIE,
    BPF_MAP_TYPE_ARRAY_OF_MAPS,
    BPF_MAP_TYPE_HASH_OF_MAPS,
    BPF_MAP_TYPE_DEVMAP,
    BPF_MAP_TYPE_SOCKMAP,
    BPF_MAP_TYPE_CPUMAP,
    BPF_MAP_TYPE_XSKMAP,
    BPF_MAP_TYPE_SOCKHASH,
    BPF_MAP_TYPE_CGROUP_STORAGE,
    BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
    BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,
    BPF_MAP_TYPE_QUEUE,
    BPF_MAP_TYPE_STACK,
    BPF_MAP_TYPE_SK_STORAGE,
    BPF_MAP_TYPE_DEVMAP_HASH,
    BPF_MAP_TYPE_STRUCT_OPS,
    BPF_MAP_TYPE_RINGBUF,
    BPF_MAP_TYPE_INODE_STORAGE,
    BPF_MAP_TYPE_TASK_STORAGE,
    BPF_MAP_TYPE_BLOOM_FILTER,
};

常用 Map 操作

// 创建一个哈希表
struct bpf_map_def SEC("maps") {
    .type = BPF_MAP_TYPE_HASH,
    .key_size = sizeof(__u32),
    .value_size = sizeof(__u64),
    .max_entries = 1024,
} my_map;

// eBPF 程序中的 map 操作
__u32 key = 1;
__u64 value = 42;

// 查找
bpf_map_lookup_elem(&my_map, &key);

// 更新
bpf_map_update_elem(&my_map, &key, &value, BPF_ANY);

// 删除
bpf_map_delete_elem(&my_map, &key);

Map 对比

Map 类型描述使用场景
HASH通用哈希表通用查找
ARRAY固定大小数组索引数据、计数器
PERCPU_HASH每个 CPU 的哈希表无锁统计
LPM_TRIE最长前缀匹配树IP 路由、CIDR 匹配
RINGBUF环形缓冲区高吞吐量事件流
PERF_EVENT_ARRAY每个 CPU 的 perf 事件性能监控
SOCKMAPSocket 映射Socket 重定向、连接跟踪

应用场景

1. 可观测性和监控

eBPF 提供对系统行为的深度可见性,且开销极小:

  • 函数跟踪:跟踪任何内核或用户空间函数
  • 性能分析:CPU、内存、I/O 分析,开销极低
  • 网络监控:数据包级可见性、连接跟踪
  • 应用监控:无需修改代码即可跟踪应用行为

工具:bpftrace、bcc、Bumblebee、Parca

2. 网络

eBPF 彻底改变了网络数据包处理:

  • XDP(eXpress Data Path):在最早阶段处理数据包,实现高达 20M+ PPS
  • 负载均衡:实现自定义负载均衡算法
  • DDoS 防护:以线速过滤恶意流量
  • 服务网格:在内核中实现服务网格功能
  • 网络策略:实施细粒度的网络安全策略

项目:Cilium、Katran、Cilium Enterprise、Facebook Katran

3. 安全

eBPF 提供强大的安全功能:

  • 运行时安全:实时检测和阻止可疑行为
  • 文件系统监控:跟踪文件访问和修改
  • 进程跟踪:监控进程创建、执行和终止
  • 网络安全:实施入侵检测和防护
  • 容器安全:保护容器化环境

工具:Falco、Tracee、Tetragon、BPF Observer

4. 性能优化

  • TCP 拥塞控制:实现自定义拥塞控制算法
  • Socket 优化:优化 socket 缓冲区管理
  • Cgroup 感知调度:实现自定义调度策略
  • I/O 优化:优化块设备操作

5. 故障排除和调试

  • 内核跟踪:跟踪内核事件和函数
  • 应用调试:无需重启即可调试应用程序
  • 延迟分析:识别延迟瓶颈
  • 资源分析:跟踪资源使用模式

工具:bpftrace、bcc、drgn


工具与生态系统

核心库和工具

libbpf

用于加载和与 eBPF 程序交互的官方 C 库。提供:

  • eBPF 程序加载
  • Map 操作
  • CO-RE 支持
  • 骨架生成
# 安装 libbpf
sudo apt install libbpf-dev  # Ubuntu/Debian
sudo yum install libbpf-devel  # RHEL/CentOS
bpftool

用于检查和管理 eBPF 程序和 maps 的官方工具:

# 列出所有 eBPF 程序
sudo bpftool prog list

# 显示程序详细信息
sudo bpftool prog show id 123

# 转储程序指令
sudo bpftool prog dump xlated id 123

# 列出 maps
sudo bpftool map list

# 转储 map 内容
sudo bpftool map dump id 456
bcc(BPF Compiler Collection)

基于 Python 的框架,用于编写带有嵌入式 C 的 eBPF 程序:

from bcc import BPF

# 定义 eBPF 程序
bpf_text = """
#include 

BPF_HASH(start, u32);

int do_entry(struct pt_regs *ctx) {
    u32 pid = bpf_get_current_pid_tgid();
    u64 ts = bpf_ktime_get_ns();
    start.update(&pid, &ts);
    return 0;
}
"""

# 加载和挂载
b = BPF(text=bpf_text)
b.attach_kprobe(event="do_sys_open", fn_name="do_entry")
bpftrace

用于 eBPF 的高级跟踪语言:

# 按进程统计系统调用
bpftrace -e 'tracepoint:syscalls:sys_enter_* { @[comm] = count(); }'

# 分析 CPU
bpftrace -e 'profile:hz:99 { @[stack] = count(); }'

# 跟踪文件打开
bpftrace -e 'tracepoint:syscalls:sys_enter_openat { printf("%s %s
", comm, str(args->filename)); }'

现代框架

Cilium

基于 eBPF 的 Kubernetes 网络、安全和可观测性:

  • 使用 eBPF 的网络策略
  • 服务网格功能
  • 负载均衡
  • 可观测性(Hubble)
# 安装 Cilium
cilium install --cluster-name my-cluster
libbpf-bootstrap

使用 libbpf 和 CO-RE 开发 eBPF 应用程序的模板和示例:

git clone https://github.com/libbpf/libbpf-bootstrap
cd libbpf-bootstrap
make
Aya

基于 Rust 的 eBPF 框架,专注于开发者体验:

use aya::{Bpf, programs::KProbe};

#[no_mangle]
pub unsafe extern "C" fn try_to_wake_up(_ctx: *mut c_void) -> i32 {
    0
}

// 加载和挂载
let mut bpf = Bpf::load(&[])?;
let program: &mut KProbe = bpf.program_mut("try_to_wake_up")?;
program.load()?;
program.attach("try_to_wake_up", 0)?;

可观测性工具

工具语言使用场景
bpftracebpftrace临时跟踪和分析
bccPython复杂跟踪工具
BumblebeeGoKubernetes 可观测性
ParcaGo持续分析
PixieC++Kubernetes 可观测性
Ebpf-exporterGo从 eBPF 生成 Prometheus 指标

安全工具

工具描述
Falco运行时安全监控
TraceeLinux 安全可观测性
Tetragon安全可观测性和执行
BPF Observer安全监控平台

安全考虑

验证器

eBPF 验证器是 eBPF 安全的基石。它执行:

  1. 控制流分析:确保所有路径都终止
  2. 内存安全:验证所有内存访问
  3. 类型检查:强制类型安全
  4. 权限检查:验证只调用允许的辅助函数
  5. 指针跟踪:跟踪指针来源和边界

安全特性

  • 沙盒执行:程序在受限环境中运行
  • 无无限循环:保证有界执行
  • 无内核内存损坏:只有安全的内存访问
  • 权限分离:CAP_BPF 能力用于加载程序
  • 命名空间隔离:程序可以感知命名空间

最佳实践

  1. 使用最新内核:较新的内核具有增强的验证器功能
  2. 最小化复杂性:更简单的程序更容易验证
  3. 使用 CO-RE:确保跨内核版本的可移植性
  4. 遵循辅助函数限制:只使用允许的辅助函数
  5. 彻底测试:首先在安全环境中验证程序

安全顾虑

  • 信息泄露:程序可能泄露内核内存
  • 拒绝服务:复杂的程序可能减慢验证速度
  • 侧信道:在某些情况下可能存在时序攻击
  • 权限提升:谨慎使用 CAP_BPF 权限

性能特性

性能优势

  • 接近原生速度:JIT 编译产生高效的本地代码
  • 零拷贝:XDP 可以在不复制的情况下处理数据包
  • 低开销:内核和用户空间之间的上下文切换最少
  • 可扩展:每个 CPU 的 maps 实现无锁操作

性能基准

使用场景性能备注
XDP Drop20-40 MPPS以线速丢弃数据包
Socket Filter10-20 Gbps数据包过滤
Kprobe Tracing<1% 开销最小的性能影响
Hash Map Lookup~50ns快速键值操作

优化技术

  1. 使用每个 CPU 的 Maps:消除锁争用
  2. 批量操作:尽可能使用批量辅助函数
  3. 提前退出:尽可能提前返回
  4. 避免循环:首选展开代码或有界循环
  5. 使用环形缓冲区:高吞吐量事件流

快速入门

前置条件

# 检查内核版本(推荐 4.10+)
uname -r

# 安装所需工具
sudo apt update
sudo apt install -y 
    clang 
    llvm 
    libbpf-dev 
    linux-headers-$(uname -r) 
    bpfcc-tools 
    linux-tools-$(uname -r) 
    bpftool

Hello World 示例

1. 创建 eBPF 程序(hello.bpf.c
#include "vmlinux.h"
#include 
#include 

SEC("tp/syscalls/sys_enter_execve")
int handle_execve(void *ctx)
{
    char comm[16];
    bpf_get_current_comm(&comm, sizeof(comm));
    bpf_printk("Hello, eBPF! Process: %s", comm);
    return 0;
}

char LICENSE[] SEC("license") = "GPL";
2. 创建加载器(hello.c
#include 
#include 
#include 
#include 

int main() {
    struct bpf_object *obj;
    struct bpf_program *prog;
    int err;

    // 打开 eBPF 对象文件
    obj = bpf_object__open_file("hello.bpf.o", NULL);
    if (libbpf_get_error(obj)) {
        fprintf(stderr, "Failed to open eBPF object
");
        return 1;
    }

    // 加载 eBPF 程序
    err = bpf_object__load(obj);
    if (err) {
        fprintf(stderr, "Failed to load eBPF object
");
        return 1;
    }

    // 查找程序
    prog = bpf_object__find_program_by_name(obj, "handle_execve");
    if (!prog) {
        fprintf(stderr, "Program not found
");
        return 1;
    }

    // 挂载程序
    err = bpf_program__attach(prog);
    if (err) {
        fprintf(stderr, "Failed to attach program
");
        return 1;
    }

    printf("eBPF program loaded! Press Ctrl+C to exit.
");

    // 保持程序运行
    for (;;) {
        sleep(1);
    }

    return 0;
}
3. 编译和运行
# 编译 eBPF 程序
clang -g -O2 -target bpf -D__TARGET_ARCH_x86 -c hello.bpf.c -o hello.bpf.o

# 编译加载器
clang -g -O2 hello.c -o hello -lbpf -lelf

# 运行
sudo ./hello

# 在另一个终端,查看日志
sudo cat /sys/kernel/debug/tracing/trace_pipe

使用 bpftrace 进行快速实验

# 按进程统计系统调用
sudo bpftrace -e 'tracepoint:syscalls:sys_enter_* { @[comm] = count(); }'

# 分析 CPU 使用情况
sudo bpftrace -e 'profile:hz:99 { @[stack] = count(); }'

# 跟踪文件打开
sudo bpftrace -e 'tracepoint:syscalls:sys_enter_openat { printf("%s opened %s
", comm, str(args->filename)); }'

未来发展方向

新兴趋势

  1. Windows eBPF:Microsoft 正在开发 Windows 的 eBPF 支持
  2. 用户空间 eBPF:在用户空间运行 eBPF 程序(ubpf)
  3. 硬件卸载:将 eBPF 卸载到 NIC 和其他硬件
  4. 基于 eBPF 的服务:更多完全基于 eBPF 构建的服务
  5. 改进的工具:更好的开发工具和调试支持

活跃开发领域

  • CO-RE 改进:更好的跨内核版本可移植性
  • 新的钩子点:更多用于各种用例的挂载点
  • 增强的验证器:更快、功能更强的验证
  • Map 增强:新的 map 类型和操作
  • 文档:改进的文档和学习资源

行业采用

eBPF 正被主要公司采用:

  • Meta:使用 eBPF 进行负载均衡(Katran)和监控
  • Google:在 GKE 中使用 eBPF 进行安全和网络
  • Netflix:使用 eBPF 进行可观测性和安全
  • Cloudflare:使用 eBPF 进行 DDoS 防护和网络
  • Isovalent:由 Cilium 创始人创立,推动 eBPF 采用

资源

官方文档

  • Linux Kernel eBPF 文档
  • libbpf GitHub
  • Cilium 文档

学习资源

  • eBPF.io - eBPF 官方社区网站
  • BPF 性能工具书籍
  • Linux Observability with BPF

工具和项目

  • bcc - BPF 编译器集合
  • bpftrace - 高级跟踪语言
  • Cilium - 基于 eBPF 的网络和安全
  • libbpf-bootstrap - libbpf 入门指南

社区

  • eBPF Slack
  • eBPF 峰会
  • CNCF eBPF 工作组

结论

eBPF 代表了我们与 Linux 内核交互方式的范式转变。通过提供安全、高效和可编程的内核内部接口,eBPF 使我们在可观测性、网络、安全和性能优化方面能够实现前所未有的能力。

随着生态系统的不断成熟和采用的增长,eBPF 注定要成为云原生基础设施的基础技术,使开发者能够在不修改内核代码的情况下构建更高效、安全和可观测的系统。

eBPF 的未来是光明的,持续的开发正在扩展其在操作系统和用例方面的能力。无论您是构建监控工具、保护容器还是优化网络性能,eBPF 都为创新提供了强大的基础。

本文地址:https://www.yitenyun.com/3393.html

搜索文章

Tags

#ios面试 #ios弱网 #断点续传 #ios开发 #objective-c #ios #ios缓存 #服务器 #python #pip #conda #远程工作 香港站群服务器 多IP服务器 香港站群 站群服务器 #kubernetes #笔记 #平面 #容器 #linux #学习方法 #运维 #fastapi #html #css #进程控制 #低代码 #爬虫 #音视频 #cpolar #docker #后端 #数据库 #Trae #IDE #AI 原生集成开发环境 #Trae AI #内网穿透 #网络 #开发语言 #云原生 #iventoy #VmWare #OpenEuler #人工智能 #node.js #Conda # 私有索引 # 包管理 #开源 #RTP over RTSP #RTP over TCP #RTSP服务器 #RTP #TCP发送RTP #MobaXterm #ubuntu #vscode #mobaxterm #深度学习 #计算机视觉 #android #腾讯云 #c# #kylin #物联网 #websocket #tcp/ip #多个客户端访问 #IO多路复用 #回显服务器 #TCP相关API #学习 #算法 #大数据 #web安全 #安全 #数信院生信服务器 #Rstudio #生信入门 #生信云服务器 #nginx #claude #华为 #ModelEngine #架构 #mvp #个人开发 #设计模式 #java #github #git #金融 #大模型 #mcp #金融投资Agent #Agent #我的世界 #n8n #本地部署 #windows #hadoop #hbase #hive #zookeeper #spark #kafka #flink #ssh #qt #C++ #云计算 #我的世界服务器搭建 #minecraft #udp #c++ #c语言 #网络协议 #jar #面试 #http #cpp #项目 #高并发 #NPU #CANN #gemini #gemini国内访问 #gemini api #gemini中转搭建 #Cloudflare #vue.js #前端 #vue #阿里云 #screen 命令 #stm32 #macos #JumpServer #堡垒机 #振镜 #振镜焊接 #ide #AI编程 #单元测试 #集成测试 #pycharm #gpu算力 #DisM++ # GLM-4.6V # 系统维护 #京东云 #性能优化 #SRS #流媒体 #直播 #守护进程 #复用 #screen #YOLOFuse # Base64编码 # 多模态检测 #unity3d #游戏 #服务器框架 #Fantasy #umeditor粘贴word #ueditor粘贴word #ueditor复制word #ueditor上传word图片 #缓存 #mamba #Android #Bluedroid #智能手机 #压力测试 #MCP #科技 #自然语言处理 #神经网络 #todesk #jenkins #unity #游戏引擎 #需求分析 #scala #测试用例 #测试工具 #Dell #PowerEdge620 #内存 #硬盘 #RAID5 #MCP服务器 #flask #spring boot #部署 #GPU服务器 #8U #硬件架构 #智能路由器 #5G #centos #C2000 #TI #实时控制MCU #AI服务器电源 #运维开发 #mysql #东方仙盟 #银河麒麟 #系统升级 #信创 #国产化 #1024程序员节 #嵌入式硬件 #SAP #ebs #metaerp #oracle ebs #编辑器 #DeepSeek #蓝耘智算 #910B #昇腾 #AIGC #ida #ai #搜索引擎 #Anaconda配置云虚拟环境 #pytorch #密码学 #可信计算技术 #华为云 #测评 #CCE #Dify-LLM #Flexus #Nacos #web #微服务 #cursor #elasticsearch #django #web3.py #RustDesk #IndexTTS 2.0 #本地化部署 #麒麟OS #信息与通信 #信号处理 #tcpdump #ms-swift # 大模型 # 模型训练 #毕业设计 #车辆排放 #oracle #PyTorch # Triton # 高并发部署 #transformer #javascript #银河麒麟高级服务器操作系统安装 #银河麒麟高级服务器V11配置 #设置基础软件仓库时出错 #银河麒高级服务器系统的实操教程 #生产级部署银河麒麟服务系统教程 #Linux系统的快速上手教程 #AI #工具集 #epoll #sqlite #php #java-ee #电气工程 #C# #PLC #单片机 #golang #rdp #sql #libosinfo #Dify #ARM架构 #鲲鹏 #jmeter #功能测试 #软件测试 #自动化测试 #职场和发展 #SSH反向隧道 # Miniconda # Jupyter远程访问 #EMC存储 #存储维护 #NetApp存储 #自动化 #maven #gitlab #课程设计 #yum #chatgpt #codex #NAS #Termux #Samba #Linux #三维 #3D #三维重建 #万悟 #联通元景 #智能体 #镜像 #微信小程序 #小程序 #微信 #健身房预约系统 #健身房管理系统 #健身管理系统 #react.js #debian #北京百思可瑞教育 #百思可瑞教育 #北京百思教育 #apache #鸭科夫 #逃离鸭科夫 #鸭科夫联机 #鸭科夫异地联机 #开服 #risc-v #deepseek #SSH公钥认证 # PyTorch # 安全加固 #练习 #基础练习 #数组 #循环 #九九乘法表 #计算机实现 #经验分享 #dynadot #域名 #esb接口 #走处理类报异常 #bug菌问答团队 #vllm #YOLO #ffmpeg #数据分析 #数据挖掘 #CUDA #Triton #交互 #企业开发 #ERP #项目实践 #.NET开发 #C#编程 #编程与数学 #语言模型 #昇腾300I DUO #fiddler #银河麒麟部署 #银河麒麟部署文档 #银河麒麟linux #银河麒麟linux部署教程 #intellij-idea #idea #intellij idea #dify #microsoft #opencv #Qwen3-14B # 大模型部署 # 私有化AI #vnstat #监控 #redis #文心一言 #AI智能体 #vp9 #攻防演练 #Java web #漏洞 #红队 #leetcode #ssl #AI 推理 #NV #fpga开发 #LVDS #高速ADC #DDR #API限流 # 频率限制 # 令牌桶算法 #驱动开发 #chrome #处理器 #黑群晖 #虚拟机 #无U盘 #纯小白 #支付 #数据结构 #SSH跳板机 # Python3.11 #排序算法 #Gunicorn #WSGI #Flask #并发模型 #容器化 #Python #性能调优 #蓝湖 #Axure原型发布 #gitea #screen命令 #jvm #门禁 #梯控 #智能一卡通 #门禁一卡通 #消费一卡通 #智能梯控 #一卡通 #源代码管理 #超时设置 #客户端/服务器 #网络编程 # 目标检测 #管道Pipe #system V #ai编程 #网络安全 #机器人 #llama #muduo库 #uv #uvx #uv pip #npx #Ruff #pytest #YOLO26 #目标检测 #操作系统 #国产化OS #milvus #springboot #知识库 #语音识别 #react native #web server #请求处理流程 #SSH # 批量管理 #ASR #SenseVoice #星图GPU #中间件 #MQTT协议 #交通物流 #C语言 #vivado license #CVE-2025-68143 #CVE-2025-68144 #CVE-2025-68145 #html5 #asp.net #rocketmq #selenium #prometheus #grafana #svn #证书 #scrapy #fabric #postgresql #openHiTLS #TLCP #DTLCP #商用密码算法 #ONLYOFFICE #MCP 服务器 #laravel #tomcat # 双因素认证 # TensorFlow #毕设 #服务器繁忙 #蓝牙 #LE Audio #BAP #serverless #RAID #RAID技术 #磁盘 #存储 #嵌入式编译 #ccache #distcc #puppeteer #adb #连接数据库报错 #链表 #硬件工程 #智能家居 #动态规划 #负载均衡 #pyqt #xlwings #Excel #DNS #dlms #dlms协议 #逻辑设备 #逻辑设置间权限 #安全威胁分析 #仙盟创梦IDE #C #ollama #llm #spring cloud #spring #Spring AI #STDIO传输 #SSE传输 #WebMVC #WebFlux #bootstrap #nfs #iscsi #企业微信 #SPA #单页应用 #visual studio code #prompt #大模型学习 #文件管理 #文件服务器 #swagger #树莓派4b安装系统 #mariadb #STDIO协议 #Streamable-HTTP #McpTool注解 #服务器能力 #wsl #电脑 #LangGraph #CLI #JavaScript #langgraph.json #paddleocr #分布式 #KMS激活 #计算机网络 #jdk #排序 #ddos #系统架构 #CSDN #数据仓库 #numpy #wordpress #雨云 #LobeChat #vLLM #GPU加速 #人脸识别sdk #视频编解码 #人脸识别 #海外服务器安装宝塔面板 #翻译 #开源工具 #ansible #创业创新 #业界资讯 #openlayers #bmap #tile #server #langchain #大模型开发 #程序员 #大模型部署 #mindie #大模型推理 #CosyVoice3 # 语音合成 #机器学习 #Puppet # IndexTTS2 # TTS #TCP #客户端 #嵌入式 #DIY机器人工房 #x86_64 #数字人系统 #windows11 #系统修复 #说话人验证 #声纹识别 #CAM++ #rtsp #转发 #unix #信令服务器 #Janus #MediaSoup #其他 #SQL注入主机 #json #rust #CVE-2025-61686 #路径遍历高危漏洞 #大模型教程 #AI大模型 #结构体 #制造 #webrtc #idm #ping通服务器 #读不了内网数据库 #戴尔服务器 #戴尔730 #装系统 #shell #渗透测试 #黑客技术 #计算机 #文件上传漏洞 #mcu #ThingsBoard MCP # GPU租赁 # 自建服务器 #推荐算法 #devops #HeyGem # 服务器IP访问 # 端口映射 #A2A #GenAI #遛狗 #SSE # AI翻译机 # 实时翻译 #bug #sqlserver #聊天小程序 #心理健康服务平台 #心理健康系统 #心理服务平台 #心理健康小程序 #数据安全 #注入漏洞 # 一锤定音 # 大模型微调 #nodejs #https #SSH密钥 # CUDA #dba # ControlMaster #ETL管道 #RAG #向量存储 #数据预处理 #DocumentReader #硬件 #Fun-ASR # 语音识别 # WebUI #harmonyos #HarmonyOS APP #密码 #firefox #safari #LoRA # RTX 3090 # lora-scripts #Docker #具身智能 #spring ai #oauth2 #数据可视化 #nmodbus4类库使用教程 #docker-compose #目标跟踪 #rtmp #PowerBI #企业 #windbg分析蓝屏教程 #jupyter #AI电商客服 #arm开发 #le audio #低功耗音频 #通信 #连接 #ROS # 局域网访问 # 批量处理 #内存治理 #ui #cosmic #googlecloud #串口服务器 #Modbus #IFix #VibeVoice # 高温监控 #c++20 # 远程连接 #fs7TF #Buck #NVIDIA #算力 #交错并联 #DGX #Miniconda # 环境迁移 #大剑师 #nodejs面试题 #matplotlib #AutoDL #安全架构 #Llama-Factory # 树莓派 # ARM架构 #uni-app #H5 #跨域 #发布上线后跨域报错 #请求接口跨域问题解决 #跨域请求代理配置 #request浏览器跨域 #gerrit #opc ua #opc #npu #WT-2026-0001 #QVD-2026-4572 #smartermail #游戏机 # GLM-TTS # 数据安全 #银河麒麟操作系统 #openssh #华为交换机 #信创终端 #xshell #host key #UDP的API使用 #TTS私有化 # IndexTTS # 音色克隆 #ESP32 # OTA升级 # 黄山派 #内网 #iBMC #UltraISO # 网络延迟 #指针 #anaconda #虚拟环境 #GB28181 #SIP信令 #SpringBoot #视频监控 #远程软件 # Connection refused #系统管理 #服务 #teamviewer #Emby #视频 #代理服务器 #rsync # 数据同步 #ip #bash #Modbus-TCP #blender #设计师 #图像处理 #游戏美术 #技术美术 # ARM服务器 # 大模型推理 #claudeCode #content7 #跳槽 #工作 #挖矿 #Linux病毒 #turn #sql注入 #网安应急响应 #odoo #LLM #chat #微PE # GLM # 服务连通性 #azure #Apple AI #Apple 人工智能 #FoundationModel #Summarize #SwiftUI #大语言模型 #ceph #ambari #arm #多线程 # 高并发 #appche #数据恢复 #视频恢复 #视频修复 #RAID5恢复 #流媒体服务器恢复 #Ubuntu #aws #muduo #TcpServer #accept #高并发服务器 #哈希算法 #远程开发 #uniapp #合法域名校验出错 #服务器域名配置不生效 #request域名配置 #已经配置好了但还是报错 #uniapp微信小程序 #框架搭建 #YOLO识别 #YOLO环境搭建Windows #YOLO环境搭建Ubuntu #状态模式 #AI-native #LangFlow # 轻量化镜像 # 边缘计算 #Tokio #华为od #华为机试 #Java #OpenHarmony #版本控制 #Git入门 #开发工具 #代码托管 #SSH跳转 #TTS #openEuler #go # GPU集群 #Gateway #认证服务器集成详解 #服务器开启 TLS v1.2 #IISCrypto 使用教程 #TLS 协议配置 #IIS 安全设置 #服务器运维工具 #ftp #sftp #samba #RSO #机器人操作系统 #个人博客 #glibc #媒体 #远程连接 #能源 #汽车 #cpu #Socket #套接字 #I/O多路复用 #字节序 #weston #x11 #x11显示服务器 #研发管理 #禅道 #禅道云端部署 #WinSCP 下载安装教程 #SFTP #FTP工具 #服务器文件传输 #计算几何 #斜率 #方向归一化 #叉积 #Ansible # CosyVoice3 # 批量部署 #集成学习 #AI写作 #winscp #AI部署 # ms-swift #PN 结 #后端框架 #服务器线程 # SSL通信 # 动态结构体 #RWK35xx #语音流 #实时传输 #node #超算中心 #PBS #lsf #excel #报表制作 #职场 #信息可视化 #用数据讲故事 #zabbix #手机h5网页浏览器 #安卓app #苹果ios APP #手机电脑开启摄像头并排查 #深度优先 #DFS #语音生成 #lvs # 数字人系统 # 远程部署 #STUN # TURN # NAT穿透 #MCP服务器注解 #异步支持 #方法筛选 #声明式编程 #自动筛选机制 #前端框架 #.net #JNI #CPU #pxe #free #vmstat #sar #KMS #slmgr #宝塔面板部署RustDesk #RustDesk远程控制手机 #手机远程控制 #铁路桥梁 #DIC技术 #箱梁试验 #裂纹监测 #四点弯曲 #rustdesk #p2p #可再生能源 #绿色算力 #风电 #麦克风权限 #访问麦克风并录制音频 #麦克风录制音频后在线播放 #用户拒绝访问麦克风权限怎么办 #uniapp 安卓 苹果ios #将音频保存本地或上传服务器 #express #cherry studio #Node.js # child_process #GLM-4.6V-Flash-WEB # AI视觉 # 本地部署 #网络攻击模型 #进程 #进程创建与终止 #Discord机器人 #云部署 #程序那些事 #AI应用编程 # 自动化运维 #r语言 #mybatis #spine #若依 #TRO #TRO侵权 #TRO和解 #运维工具 #ipmitool #BMC # 黑屏模式 # TTS服务器 #前端开发 #EN4FE #领域驱动 #自由表达演说平台 #演说 #程序员创富 #移动端h5网页 #调用浏览器摄像头并拍照 #开启摄像头权限 #拍照后查看与上传服务器端 #摄像头黑屏打不开问题 #3d #服务器IO模型 #非阻塞轮询模型 #多任务并发模型 #异步信号模型 #多路复用模型 #系统安全 #embedding #IndexTTS2 # 阿里云安骑士 # 木马查杀 #范式 #入侵 #日志排查 #kmeans #聚类 #Karalon #AI Test #YOLOv8 # Docker镜像 #文件IO #输入输出流 #流程图 #论文阅读 #论文笔记 #图论 #国产开源制品管理工具 #Hadess #一文上手 #jetty #蓝桥杯 #工业级串口服务器 #串口转以太网 #串口设备联网通讯模块 #串口服务器选型 #okhttp #代理模式 #Spring AOP #程序人生 #健康医疗 #人大金仓 #Kingbase #小艺 #鸿蒙 #搜索 #word #pdf #Smokeping #工程实践 #策略模式 #pve #GPU #租显卡 #训练推理 #时序数据库 #AI应用 #图像识别 #多进程 #python技巧 #高考 #企业级存储 #网络设备 #iot #软件工程 #生信 #国产操作系统 #麒麟 #V11 #kylinos #大模型应用 #API调用 #PyInstaller打包运行 #服务端部署 #raid #raid阵列 #gpt #API #taro #java大文件上传 #java大文件秒传 #java大文件上传下载 #java文件传输解决方案 #wps #Linux多线程 #bigtop #hdp #hue #kerberos #pencil #pencil.dev #设计 #zotero #WebDAV #同步失败 #轻量化 #低配服务器 #Beidou #北斗 #SSR #Anything-LLM #IDC服务器 #私有化部署 #simulink #matlab #journalctl #aiohttp #asyncio #异步 #信息安全 #信息收集 #Langchain-Chatchat # 国产化服务器 # 信创 #软件 #本地生活 #电商系统 #商城 #高级IO #poll #PyCharm # 远程调试 # YOLOFuse #Playbook #AI服务器 #欧拉 #儿童AI #图像生成 #Qwen #pjsip # 模型微调 #openresty #lua #智能体来了 #传统行业 #AI赋能 #Syslog #系统日志 #日志分析 #日志监控 #生产服务器问题查询 #日志过滤 #Autodl私有云 #深度服务器配置 # 水冷服务器 # 风冷服务器 #.netcore #VoxCPM-1.5-TTS # 云端GPU # PyCharm宕机 #SSH保活 # GLM-4.6V-Flash-WEB # AI部署 #everything #材料工程 #数码相机 #智能电视 #VMware创建虚拟机 #远程更新 #缓存更新 #多指令适配 #物料关联计划 #AI生成 # outputs目录 # 自动化 #挖漏洞 #攻击溯源 #编程 #stl #漏洞修复 #IIS Crypto #warp #n8n解惑 #编程助手 #net core #kestrel #web-server #asp.net-core #elk #rabbitmq #m3u8 #HLS #移动端H5网页 #APP安卓苹果ios #监控画面 直播视频流 #Prometheus #esp32 arduino #决策树 #Zabbix #语音合成 #HistoryServer #Spark #YARN #jobhistory #二值化 #Canny边缘检测 #轮廓检测 #透视变换 #DooTask #ZooKeeper #ZooKeeper面试题 #面试宝典 #深入解析 #Clawdbot #ComfyUI # 推理服务器 #防毒面罩 #防尘面罩 #postman #内存接口 # 澜起科技 # 服务器主板 #eBPF # 显卡驱动备份 #模拟退火算法 #计算机毕业设计 #程序定制 #毕设代做 #课设 #源码 #VMware #简单数论 #埃氏筛法 #Hadoop #wireshark #广播 #组播 #并发服务器 #nacos #银河麒麟aarch64 #MC #MC群组服务器 #uvicorn #uvloop #asgi #event # 服务器迁移 # 回滚方案 #大模型入门 #flutter #select #homelab #Lattepanda #Jellyfin #Plex #Kodi #yolov12 #研究生life #开关电源 #热敏电阻 #PTC热敏电阻 #文件传输 #电脑文件传输 #电脑传输文件 #电脑怎么传输文件到另一台电脑 #电脑传输文件到另一台电脑 #身体实验室 #健康认知重构 #系统思维 #微行动 #NEAT效应 #亚健康自救 #ICT人 #eureka #云服务器 #个人电脑 #KMS 激活 #mongodb #漏洞挖掘 #TensorRT # 推理优化 #SSH别名 #CS2 #debian13 #BoringSSL #企业存储 #RustFS #对象存储 #高可用 #notepad++ #es安装 #远程控制 #云计算运维 #asp.net大文件上传 #asp.net大文件上传下载 #asp.net大文件上传源码 #ASP.NET断点续传 #asp.net上传文件夹 #asp.net上传大文件 #gpu #nvcc #cuda #nvidia #群晖 #音乐 # 鲲鹏 #IntelliJ IDEA #Spring Boot #neo4j #NoSQL #SQL #http头信息 #Coturn #TURN #ci/cd #k8s #log4j #Jetty # 嵌入式服务器 #Windows #模块 #ICE #信创国产化 #达梦数据库 #RXT4090显卡 #RTX4090 #深度学习服务器 #硬件选型 # 服务器IP # 端口7860 #建筑缺陷 #红外 #数据集 #TCP服务器 #开发实战 #SMARC #ARM #全文检索 #银河麒麟服务器系统 #远程桌面 # 代理转发 # 跳板机 #echarts #鸿蒙PC ##租显卡 #树莓派 #温湿度监控 #WhatsApp通知 #IoT #MySQL #无人机 #junit #新人首发 #web服务器 #可撤销IBE #服务器辅助 #私钥更新 #安全性证明 #双线性Diffie-Hellman # 公钥认证 #Reactor #Kylin-Server #服务器安装 #Android16 #音频性能实战 #音频进阶 #短剧 #短剧小程序 #短剧系统 #微剧 # 智能运维 # 性能瓶颈分析 #空间计算 #原型模式 #hibernate #nosql # 云服务器 #数据访问 #CTF #VMWare Tool #I/O模型 #并发 #水平触发、边缘触发 #多路复用 #clickhouse #代理 #CNAS #CMA #程序文件 #SSH复用 # 远程开发 #磁盘配额 #存储管理 #形考作业 #国家开放大学 #系统运维 #自动化运维 #IO #DHCP #网络安全大赛 #C++ UA Server #SDK #跨平台开发 #agent #ai大模型 #FHSS #eclipse #servlet #arm64 #outlook #错误代码2603 #无网络连接 #2603 #mssql #wpf #实时检测 #卷积神经网络 #MOXA #GATT服务器 #蓝牙低功耗 #lucene #DAG #云服务器选购 #Saas #线程 #散列表 #机器视觉 #6D位姿 #UOS #海光K100 #统信 #Proxmox VE #虚拟化 #改行学it #b树 #memory mcp #Cursor #网路编程 #百万并发 #smtp #smtp服务器 #PHP #声源定位 #MUSIC #tensorflow # 远程访问 #Streamlit #AI聊天机器人 #ServBay #memcache #飞牛nas #fnos #ansys #ansys问题解决办法 #ranger #MySQL8.0 #智能体对传统行业冲击 #行业转型 #分布式数据库 #集中式数据库 #业务需求 #选型误 #Socket网络编程 #HarmonyOS #雨云服务器 #Minecraft服务器 #教程 #MCSM面板 # 服务器配置 # GPU # 串口服务器 # NPort5630 #Python办公自动化 #Python办公 #copilot #硬盘克隆 #DiskGenius # 键鼠锁定 #mtgsig #美团医药 #美团医药mtgsig #美团医药mtgsig1.2 #opc模拟服务器 #工程设计 #预混 #扩散 #燃烧知识 #层流 #湍流 #量子计算 #反向代理 #政务 #adobe #数据迁移 #powerbi #个人助理 #数字员工 #参数估计 #矩估计 #概率论 #gmssh #宝塔 #1panel #Exchange #sentinel #系统安装 #MinIO #IPv6 #POC #问答 #交付 #scikit-learn #随机森林 #闲置物品交易系统 #静脉曲张 #腿部健康 #运动 #Minecraft #PaperMC #我的世界服务器 #AI Agent #开发者工具 #kong #Kong Audio #Kong Audio3 #KongAudio3 #空音3 #空音 #中国民乐 #计算机外设 #边缘AI # Kontron # SMARC-sAMX8 #scanf #printf #getchar #putchar #cin #cout #ET模式 #非阻塞 #凤希AI伴侣 #remote-ssh #SA-PEKS # 关键词猜测攻击 # 盲签名 # 限速机制 #产品经理 #就业 #CMake #Make #C/C++ #OpenAI #故障 #优化 #多模态 #微调 #超参 #LLamafactory #vps #docker安装seata #database #AI论文写作工具 #学术写作辅助 #论文创作效率提升 #AI写论文实测 # IndexTTS 2.0 #全链路优化 #实战教程 #数字化转型 #实体经济 #商业模式 #软件开发 #数智红包 #商业变革 #创业干货 #AB包 #Go并发 #高并发架构 #Goroutine #系统设计 #Tracker 服务器 #响应最快 #torrent 下载 #2026年 #Aria2 可用 #迅雷可用 #BT工具通用 #FASTMCP #sglang #UEFI #BIOS #Legacy BIOS #产品运营 #联机教程 #局域网联机 #局域网联机教程 #局域网游戏 #交换机 #三层交换机 #SSH Agent Forwarding # 容器化 #高斯溅射 #Harbor #AI智能棋盘 #Rock Pi S #边缘计算 #云开发 #性能 #RAM #c++高并发 #PTP_1588 #gPTP #FTP服务器 #uip # 权限修复 # HiChatBox # 离线AI #进程等待 #wait #waitpid #SMTP # 内容安全 # Qwen3Guard #X11转发 #平板 #零售 #智能硬件 #vncdotool #链接VNC服务器 #如何隐藏光标 #H5网页 #网页白屏 #H5页面空白 #资源加载问题 #打包部署后网页打不开 #HBuilderX #gateway #Comate #MinIO服务器启动与配置详解 #Deepoc #具身模型 #开发板 #未来 #插件 #开源软件 #算力建设 #tdengine #涛思数据 #服务器解析漏洞 #NFC #智能公交 #服务器计费 #FP-增长