Skip to content

Probe Reference

Relevant source files

The following files were used as context for generating this wiki page:

eCapture utilizes eBPF uprobes to intercept plaintext data at the boundary of user-space libraries and applications. This reference provides an index of the specialized probe modules available in eCapture, categorized by their target protocols and applications.

Each probe follows a standardized lifecycle managed by the internal/probe framework, implementing the Probe interface to handle initialization, eBPF manager setup, and event dispatching internal/probe/openssl/openssl_probe.go:45-58, internal/probe/bash/bash_probe.go:39-49.

Probe Categories and Modules

The following table summarizes the available probes and their primary targets:

CategoryModule NameTarget Libraries / Applications
TLS/SSLtlsOpenSSL, BoringSSL, LibreSSL
TLS/SSLgotlsGo native crypto/tls
TLS/SSLgnutlsGnuTLS
TLS/SSLnssNSS (Network Security Services) / NSPR
DatabasemysqldMySQL (5.6, 5.7, 8.0), MariaDB
DatabasepostgresPostgreSQL (10+)
ShellbashBash Shell
ShellzshZsh Shell

Technical Architecture Mapping

The diagram below illustrates how userspace probe definitions in Go map to their corresponding eBPF kernel implementations and the functions they hook.

System to Code Entity Mapping

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


Module Details

TLS/SSL Plaintext Capture

These probes target various cryptographic libraries to extract plaintext before encryption or after decryption.

Database Traffic Capture

These probes audit database queries by hooking the command dispatching logic within the database server process.

Shell Auditing

Used for security compliance and host auditing by capturing user input at the shell level.

Probe Execution Flow

The following diagram shows the common execution path for any probe module initialized via the CLI.

Probe Lifecycle and Data Path

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

Common Caveats

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

Probe Reference has loaded