Skip to content

探针参考手册

相关源文件

以下文件被用作生成此维基页面的上下文:

eCapture 利用 eBPF uprobes 在用户态库和应用程序的边界处拦截明文数据。本参考手册提供了 eCapture 中可用专用探针模块的索引,并按其目标协议和应用程序进行了分类。

每个探针都遵循由 internal/probe 框架管理的标准化生命周期,通过实现 Probe 接口来处理初始化、eBPF 管理器(manager)设置和事件分发 internal/probe/openssl/openssl_probe.go:45-58, internal/probe/bash/bash_probe.go:39-49

探针分类与模块

下表总结了可用的探针及其主要目标:

分类模块名称目标库 / 应用程序
TLS/SSLtlsOpenSSL, BoringSSL, LibreSSL
TLS/SSLgotlsGo 原生 crypto/tls
TLS/SSLgnutlsGnuTLS
TLS/SSLnssNSS (Network Security Services) / NSPR
数据库mysqldMySQL (5.6, 5.7, 8.0), MariaDB
数据库postgresPostgreSQL (10+)
ShellbashBash Shell
ShellzshZsh Shell

技术架构映射

下图展示了 Go 语言中的用户态探针定义如何映射到其对应的 eBPF 内核实现以及它们挂钩(hook)的函数。

系统到代码实体的映射

Sources: internal/probe/openssl/openssl_probe.go:45-68, internal/probe/bash/bash_probe.go:39-59, internal/probe/mysql/mysql_probe.go:37-50


模块详情

TLS/SSL 明文捕获

这些探针针对各种加密库,在加密前或解密后提取明文。

数据库流量捕获

这些探针通过挂钩数据库服务器进程中的命令分发逻辑来审计数据库查询。

Shell 审计

用于安全合规和主机审计,通过在 Shell 层级捕获用户输入。

探针执行流程

下图展示了通过 CLI 初始化的任何探针模块的通用执行路径。

探针生命周期与数据路径

Sources: main.go:9-11, internal/probe/openssl/openssl_probe.go:101-159, internal/probe/mysql/mysql_probe.go:88-136

常见注意事项

Sources: README.md:12-13, internal/probe/openssl/openssl_probe.go:43-159, internal/probe/bash/bash_probe.go:39-127, internal/probe/mysql/mysql_probe.go:37-136, internal/probe/postgres/postgres_probe.go:37-111, internal/probe/zsh/zsh_probe.go:37-121

探针参考手册 has loaded