关于新版本,笔者想聊聊两件事:跑上龙芯,以及更省心的 HTTPS 明文分析。

龙芯用户,这次安排上了

v2.8.0 开始,eCapture 增加 Linux/LoongArch64 支持,发行包认准 linux-loong64,提供 tar.gz 和 deb 两种格式。

龙芯用户也能沿用熟悉的 TLS 抓包方式,无需安装 CA 证书。

龙芯要求 Linux 内核 6.6 及以上,下载前先用 uname -r 看看。目前已完成交叉构建和模拟启动检查,真机完整抓包仍待验证,欢迎有设备的同学反馈。适配说明

text 模式,少一点“人工拼包”

以前看 text 输出,一个 HTTP 请求可能拆成好几段,内容抓到了,排查还得自己拼,多少有点费眼睛。

v2.9.0 给 tls、gotls、gnutls 增加了 pcapng 数据源,依赖 ecapture_decryptor 实时解密,重组完整 HTTP 消息。

时间、方向、两端 IP 和端口一起输出,HTTP/2 还有流标识,多连接交织时更容易定位。以 OpenSSL 为例:

sudo ecapture tls -m text --text-source=pcapng -i eth0 'tcp port 443'

把 eth0 换成实际网卡,明文直接输出到终端。加上 --pcapfile capture.pcapng,还能留给 Wireshark 复查。

hook 仍是默认数据源;新链路目前支持 TCP 上的 HTTP/1.1、HTTP/2,尚不支持 HTTP/3。使用说明

其他修复

  • pcapng:修复突发流量下因用户态队列造成的丢包,退出时排空待写入的网络包和密钥。
  • 配置与加载:重载时保留事件输出地址、轮转设置,统一 CO-RE/非 CO-RE 字节码选择。v2.8.0 记录
  • Android:v2.8.2 补回发行包中缺少的可执行文件,避免解压之后找不到程序。v2.8.2 记录

eCapture Decryptor,解密能力也能单独用

前面提到的 ecapture_decryptor,就是这条实时解密链路的关键:eCapture 负责抓包、提取密钥,它负责解密、重组 HTTP 消息。

下图能直观看到两种数据源的区别:

它也能独立解密抓包文件,作为 Go SDK 接入自己的工具,示例提供 JSON/HAR 导出。做流量分析平台的同学,欢迎试试,也顺手点个 Star。

新版下载:eCapture v2.9.0。