Skip to content
FFA37CB2E90xFFA37CB2E90xFFA37C
8F1D5E924BCA8F1D5E924BCA8F1D5E
D76CF18E2F3AD76CF18E2F3AD76CF1
🔒基于 eBPF 的 TLS 明文捕获

当局者迷旁观者清尽收眼底

无需安装 CA 证书,在 TLS 库边界观察明文,不必修改目标程序。
Linux x86_64Linux ARM64Linux LoongArch64Android x86_64 / ARM64LoongArch64 需要 Linux 6.6+ 内核;Android 暂不支持 loong64。

观看eCapture旁观者使用演示 演示视频 使用方法下载

⚡无需自定义 CA
🛡️内核级捕获
🔍实时观察

主仓库 v2.8 · 2026 年 10 月

Linux 新增 LoongArch64 架构

v2.8 代码还为 GnuTLS 增加文本、Keylog、PCAPNG 三种模式,并将捕获事件与程序运行日志分开。

查看主仓库更新记录

核心能力

三种 TLS 明文捕获模块

01

TLS

在库函数边界捕获 OpenSSL、LibreSSL 和 BoringSSL 明文。可指定动态库路径,也可定位静态链接的目标程序。

OpenSSL · LibreSSL · BoringSSL
02

GoTLS

观察 Go 程序的 TLS 通信。通过 --elfpath 指定目标可执行文件,供 eCapture 解析 Go TLS 符号。

Go TLS · 可执行文件路径
03

GnuTLS

通过适配库版本的探针捕获 GnuTLS 明文与会话密钥。当前模块支持文本、Keylog 和 PCAPNG 三种模式。

GnuTLS · text · keylog · pcapng

三个模块均支持文本、Keylog 和 PCAPNG 模式。--eventaddr 将捕获事件送往 stdout、文件、TCP 或 WebSocket;程序运行日志由 --logaddr 单独配置。

快速开始

运行一次 TLS 捕获

使用已发布的对应架构构建产物,或从源码编译。以 root 或所需 Linux capabilities 启动 eCapture,再从另一终端发起 TLS 请求。

terminal
$ sudo ecapture tls

# 在另一终端
$ curl https://example.com

默认文本模式将捕获事件写到 stdout,程序日志写到 stderr;--logaddr 用于配置单独的日志目的端。

平台支持

选择匹配的架构与内核

系统架构最低内核
Linuxx86_64 / amd644.18+
LinuxAArch64 / arm645.5+
LinuxLoongArch64 / loong646.6+
Androidx86_64 / amd644.18+
AndroidAArch64 / arm645.5+

暂不支持 Android/loong64、Windows 和 macOS。下载前请核对发行页是否已有 LoongArch64 产物;构建流程包含交叉编译和用户态冒烟检查,eBPF 捕获仍应在目标硬件上验证。

最小权限要求 ↗ LoongArch64 构建指南 ↗

Released under the MIT License.

eCapture - 基于 eBPF 的内核级 TLS 明文捕获 has loaded
下载