eCapture v0.7.3新版性能提升10倍,支持OpenSSL 3.2

eCapture v0.7.3新版性能提升10倍,支持OpenSSL 3.2

💡 原文中文,约2700字,阅读约需7分钟。
📝

内容提要

eCapture是一个无需CA证书的HTTPS/TLS明文抓包工具,支持Linux和Android。最新版本提升了性能10倍,支持OpenSSL 3.2。

🔎

延伸解读

性能优化:从30秒到7秒的突破

文章提到,用户反馈在TLS模式下,执行一千万次SSL_write操作,开启eCapture后耗时从6秒增加到30秒。作者通过分析OpenSSL源码,针对Server和Client模式选择合适的HOOK函数,减少SSL_write和SSL_read高频调用的触发机制,最终将耗时降低到7秒。这表明性能优化主要源于HOOK函数的选择,而非底层架构的大改。

OpenSSL 3.2支持:快速响应社区需求

OpenSSL 3.2.0于2023年11月底发布,其核心ssl_st结构体发生较大变化,导致eCapture捕获TLS通讯密钥的功能失效。作者在确认后迅速重新实现密钥提取代码,并在v0.7.3版本中提供支持。尽管该版本可能尚未被大型应用广泛采用,但eCapture的快速适配体现了对社区反馈的重视。

未来计划:QUIC TLS明文捕获

文章透露,eCapture计划支持QUIC TLS的明文内容捕获,预计在春节后安排。目前,OpenSSL 3.2.0已新增对QUIC TLS的支持,但eCapture尚未实现。届时,eCapture将能在无需CA证书的情况下捕获QUIC TLS的明文内容,进一步扩展其应用场景。

❓

Q&A

eCapture是什么工具?它支持哪些平台?

eCapture是一个无需CA证书、无侵入的HTTPS/TLS明文抓包工具,支持Linux 4.18以上版本和Android arm64 5.5以上版本。

eCapture v0.7.3版本有哪些主要更新?

eCapture v0.7.3版本性能提升10倍,支持OpenSSL 3.2,千万次调用仅增加2秒耗时。

eCapture在TLS模式下对性能有什么影响?如何优化的?

在TLS模式下,开启eCapture后,执行一千万次SSL_write写数据,耗时从6秒增加到30秒,性能影响显著。通过分析OpenSSL类库,选择合适的HOOK函数(如SSL_get_wbio、SSL_in_before等),减少SSL_write和SSL_read高频调用下的触发机制,将耗时从30秒降低到7秒。

eCapture为什么需要更新以支持OpenSSL 3.2?

因为OpenSSL 3.2.0中核心ssl_st结构体发生很大变化,导致eCapture捕获TLS通讯密钥的功能无法使用,所以需要更新以适配新版本。

eCapture未来有什么计划?

eCapture计划支持QUIC TLS的明文内容捕获,预计春节后安排。

eCapture在GitHub上的星数增长情况如何?

eCapture在GitHub上的星数从7K增加到7.8K,未能达到年底1万颗星的目标。

🏷️

标签

➡️

继续阅读