Ecapture Versions Save

Capture SSL/TLS text content without a CA certificate using eBPF. This tool is compatible with Linux/Android x86_64/aarch64.

v0.7.7

2 weeks ago

Full Changelog: https://github.com/gojue/ecapture/compare/v0.7.7...v0.7.7

What's Changed

New Contributors

Full Changelog: https://github.com/gojue/ecapture/compare/v0.7.6...v0.7.7

v0.7.6

1 month ago

What's Changed

Full Changelog: https://github.com/gojue/ecapture/compare/v0.7.5...v0.7.6

v0.7.5

2 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gojue/ecapture/compare/v0.7.4...v0.7.5

v0.7.4

2 months ago

🚀 Breaking Changes

eCapture supports Pcap Filter Syntax, and you can use the pcap filter expression to filter network packets like tcpdump.

In the tls\gotls module, when the running mode is pcap, the pcap filter expression is supported, which can be set in the last parameter of the command line, for example:

ecapture tls -m pcap -i wlan0 -w save.pcapng host 192.168.1.1 and tcp port 443

What's Changed

New Contributors

Full Changelog: https://github.com/gojue/ecapture/compare/v0.7.3...v0.7.4

v0.7.3

3 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gojue/ecapture/compare/v0.7.2...v0.7.3

v0.7.2

4 months ago

What's Changed

Full Changelog: https://github.com/gojue/ecapture/compare/v0.7.1...v0.7.2

v0.7.1

4 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gojue/ecapture/compare/v0.7.0...v0.7.1

v0.7.0

5 months ago

🚀 Breaking Changes

  • Split nss/gnutls/openssl into three separate submodules. Corresponding to the ./ecapture nss, ./ecapture gnutls, ecapture tls commands.
  • Support keylog mode, equivalent to the functionality of the SSLKEYLOGFILE environment variable. Captures SSL/TLS communication keys directly without the need for changes in the target process.
  • Refactor the mode parameters supported by the openssl(aka tls) module using the -mparameter, with values text, pcap,keylog.
    • pcap mode: Set with -m pcap or -m pcapng parameters. When using this mode, it is necessary to specify --pcapfile and -i parameters. The default value for the --pcapfile parameter is ecapture_openssl.pcapng.
    • keylog mode: Set with -m keylog or -m key parameters. When using this mode, it is necessary to specify --keylogfile, defaulting to ecapture_masterkey.log.
    • text mode: Default mode when -m parameter is unspecified. Outputs all plaintext packets in text form. (As of v0.7.0, no longer captures communication keys, please use keylog mode instead.)
  • Refactor the mode parameters supported by the gotls module, similar to the openssl module, without further details.
  • Optimize the memory size of eBPF Map, specify with the --mapsize parameter, defaulting to 5120 KB.
  • Remove the -w parameter, use --pcapfile parameter instead.
  • Change log-addr parameter to logaddr, with unchanged functionality.

Thanks to the genius idea from @blaisewang.


  • 将nss/gnutls/openssl拆分为独立的三个子模块。分别对应./ecapture nss./ecapture gnutlsecapture tls三个子命令。
  • 支持keylog模式,等同于SSLKEYLOGFILE环境变量的功能,无需目标进程改动,直接捕获SSL/TLS通信密钥。
  • 重构openssl(aka tls)模块支持的模式参数,使用-m参数指定,分别为text,pcap,keylog三个值。
    • pcap模式:-m pcap-m pcapng参数来设定。当使用本模式时,必需指定--pcapfile-i这两个参数才能使用。 其中--pcapfile参数的默认值为ecapture_openssl.pcapng
    • keylog模式:-m keylog-m key参数来设定。当使用本模式时,必需指定--keylogfile,默认为ecapture_masterkey.log
    • text模式:-m参数不指定时,默认为本模式。将以文本形式输出所有的明文数据包。(自v0.7.0起,不再捕获通讯密钥,请使用keylog模式代替)
  • 重构gotls模块支持的模式参数,与openssl模块一样,不再赘述。
  • 优化eBPF Map的内存大小,使用--mapsize参数指定,默认为5120 KB。
  • 移除-w参数,请使用--pcapfile参数代替。
  • 更改log-addr参数为logaddr,功能含义不变。

感谢 @blaisewang 的天才思路。

What's Changed

Full Changelog: https://github.com/gojue/ecapture/compare/v0.6.6...v0.7.0

v0.6.6

5 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gojue/ecapture/compare/v0.6.5...v0.6.6

v0.6.5

6 months ago

What's Changed

Full Changelog: https://github.com/gojue/ecapture/compare/v0.6.4...v0.6.5