V2EX 8小时前
[分享创造] 一个开箱即用的 HTTPS 流量明文分析 Linux 工具
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了一款创新的Linux工具,无需手动安装根证书即可捕获特定进程的HTTPS流量。该工具利用隔离的命名空间和自定义DNS服务器,将HTTPS请求转发至内置的443端口服务。它能在首次运行时自动生成并信任自签名证书,从而绕过目标进程的证书验证,且不污染系统环境。此外,该工具还支持开启HTTP镜像,方便Wireshark用户在不安装证书密钥的情况下实时预览HTTPS流量。该项目的代码开发借助了Claude Code和Gemini CLI,作者在其中扮演了提供想法、测试和反馈的关键角色。

🌐 **隔离命名空间与自定义DNS解析:** 该工具的核心技术在于创建一个隔离的命名空间,并利用自定义DNS服务器解析域名,将HTTPS流量引导至工具内置的443端口服务。这种方法有效地隔离了目标进程,确保了流量捕获的精确性和安全性,同时避免了对系统整体环境的影响。

🔑 **自动生成与信任自签名证书:** 为了顺利捕获HTTPS流量并绕过目标进程的证书验证,该工具在首次运行时会自动生成一个自签名证书,并将其添加到隔离命名空间内的系统信任证书列表中。这一机制确保了捕获过程的无缝进行,且不会对宿主系统造成任何污染。

📊 **Wireshark实时预览HTTP镜像:** 为了提升用户体验,该工具提供了开启HTTP镜像的功能。这使得Wireshark用户无需安装额外的证书密钥,仅需捕获HTTP镜像流量,即可实现对HTTPS流量的实时预览,极大地简化了流量分析的流程。

💻 **Claude Code与Gemini CLI辅助开发:** 该工具的开发过程充分利用了AI辅助编程的优势,主要代码由Claude Code生成,并辅以Gemini CLI进行调试。作者在整个开发周期中扮演了至关重要的角色,负责提供创意构思、进行严格测试以及提供反馈以修正和完善代码。

我创建了一个无需手动安装根证书即可捕获用它启动的进程的 HTTPS 流量的 Linux 工具。

原理是通过创建一个隔离的命名文件空间,挂载 /etc/resolv.conf 相关的 DNS 配置文件,使用一个自定义的 DNS 服务器来解析域名,让 HTTPS 请求转发到这个工具内置的 443 端口的服务上去。为了通过启动的进程的证书验证,这个工具在首次运行时会自动生成一个自签名证书,并将其挂载到隔离空间的系统的受信任证书列表中,整个过程只影响进程的命名空间,对系统无污染。后面就是传统的 MITM 流程了。

为了方便让 Wireshark 不安装证书密钥也能实时预览 HTTPS 流量,还可以通过这个工具开启一个 HTTP 镜像,这样 Wireshark 只要捕获到这个 HTTP 镜像的流量就能实时预览 HTTPS 流量。

另外,代码基本都是通过 Claude Code 开发的,期间也用 gemini cli debug 了一下,我的主要角色是提供想法、测试、反馈、修正。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Linux HTTPS流量捕获 网络工具 AI辅助开发 Wireshark
相关文章