3分钟上手eCapture:2025版TLS明文抓包神器安装指南

3分钟上手eCapture:2025版TLS明文抓包神器安装指南

【免费下载链接】ecapture Capture SSL/TLS text content without a CA certificate using eBPF. This tool is compatible with Linux/Android x86_64/aarch64. 【免费下载链接】ecapture 项目地址: https://gitcode.com/gh_mirrors/eca/ecapture

还在为HTTPS抓包需要配置CA证书而烦恼?面对静态编译的Go程序束手无策?eCapture让你告别证书欺骗,无需侵入应用即可捕获TLS明文流量。本文将带你3分钟完成从安装到捕获的全流程,轻松应对各类加密通讯监控场景。

📋 准备工作

系统要求

  • 内核版本:Linux 4.18+(x86_64)或5.5+(aarch64)
  • 架构支持:x86_64/aarch64(兼容Android GKI)
  • 必要权限:需要root权限执行

环境检查

# 检查内核版本
uname -r
# 验证BTF支持(可选)
cat /boot/config-$(uname -r) | grep CONFIG_DEBUG_INFO_BTF

eCapture工作原理

⚡ 快速安装

方法1:直接下载二进制(推荐)

访问Release页面获取对应架构的预编译包,解压后即可使用:

# 以x86_64为例
wget https://link.gitcode.com/i/359887cf54db6e1e4b1ecc07d17db83a/download/v0.7.4/ecapture_v0.7.4_linux_x86_64.tar.gz
tar zxvf ecapture_v0.7.4_linux_x86_64.tar.gz
sudo cp ecapture /usr/local/bin/

方法2:源码编译

# 克隆仓库
git clone --recurse-submodules https://link.gitcode.com/i/acca064ad956db65030142d79e02e1dc.git
cd ecapture

# 设置国内代理加速依赖下载
export GOPROXY=https://goproxy.cn

# 编译(支持BTF的系统)
make

# 无BTF支持的系统
make nocore

# 交叉编译(如arm64)
CROSS_ARCH=arm64 make

# 安装到系统路径
sudo make install

⚠️ 编译依赖:golang 1.21+、clang 9.0+、cmake 3.18+,Ubuntu用户可通过builder/init_env.sh一键配置环境

🚀 基础使用示例

1. 捕获OpenSSL明文(Text模式)

sudo ecapture tls -m text -p 443

此命令将监控443端口的TLS流量,直接输出解密后的明文内容到终端。

2. 生成Wireshark可解析的PCAP文件

sudo ecapture tls -m pcapng -i eth0 --pcapfile capture.pcapng tcp port 443

使用Wireshark打开生成的capture.pcapng即可查看完整解密流量。

eCapture命令帮助

3. 监控Golang程序TLS通讯

sudo ecapture gotls --elfpath=/path/to/go程序

针对静态编译的Go程序,可直接指定程序路径进行捕获。

4. 数据库审计(以MySQL为例)

sudo ecapture mysqld

自动捕获MySQL 5.6+/8.0的SQL查询语句,无需修改数据库配置。

🧩 核心功能模块

模块名功能说明支持版本
tlsOpenSSL全版本捕获1.0.x/1.1.x/3.0.x+
gotlsGolang TLS库监控Go 1.11+
bashShell命令审计所有bash版本
mysqldMySQL查询捕获5.6/5.7/8.0
postgresPostgreSQL审计10+
gnutlsGnuTLS库支持3.5+

📊 高级配置

密钥日志模式(Keylog)

sudo ecapture tls -m keylog --keylogfile=ssl_keys.log

生成的ssl_keys.log可导入Wireshark(编辑→首选项→Protocols→TLS→(Pre)-Master-Secret log filename)实现动态解密。

进程过滤

# 按进程ID过滤
sudo ecapture tls -p 1234

# 按进程名过滤
sudo ecapture tls --comm=nginx

🏗️ 系统架构

eCapture采用eBPF技术实现用户态/内核态双重监控,通过Uprobe/TC等机制Hook关键函数:

eCapture系统架构

核心模块位于user/module/目录,各探针实现如下:

❓ 常见问题

Q:捕获不到流量怎么办?

A:检查以下几点:

  1. 目标程序是否使用静态编译(需指定--libssl参数)
  2. 是否使用了不支持的TLS库(如BoringSSL需单独配置)
  3. 内核版本是否满足最低要求

Q:支持Docker容器内的程序吗?

A:完全支持,可通过--pid参数指定容器PID命名空间:

sudo ecapture tls --pid $(docker inspect -f {{.State.Pid}} 容器ID)

📌 下期预告

  • 📱 Android平台抓包实战(支持Android 12+ GKI设备)
  • 🕵️‍♂️ 高级过滤规则编写指南
  • 📈 性能优化与大规模部署方案

如果你觉得这个工具对你有帮助,请点赞收藏并关注项目更新!遇到问题欢迎在Issues反馈。


官方文档README_CN.md
源码地址https://link.gitcode.com/i/acca064ad956db65030142d79e02e1dc
技术交流:项目提供贡献指南,欢迎提交PR和Issue

【免费下载链接】ecapture Capture SSL/TLS text content without a CA certificate using eBPF. This tool is compatible with Linux/Android x86_64/aarch64. 【免费下载链接】ecapture 项目地址: https://gitcode.com/gh_mirrors/eca/ecapture

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值