简体中文 | English
Effortlessly capture TLS encrypted traffic in a cross-platform GUI using eBPF, without configuring CA certificates or performing Man-in-the-Middle (MITM) attacks.
eCaptureQ is a cross-platform GUI for eCapture, visualizing its eBPF-powered packet capturing capabilities: capture TLS plaintext at the kernel level without needing a CA certificate or MITM.
This means you can debug and analyze the encrypted communications of any program in a simpler, more efficient, and non-intrusive way.
eCaptureQ.Demo.mp4
Certificate-Free Capture with eBPF: Directly capture and decrypt TLS traffic from the kernel without configuring CA certificates or a man-in-the-middle proxy.
Real-time & Responsive View: Displays network requests in real-time and automatically switches between a desktop table view and a mobile card view based on the device.
Cross-Platform & Dual-Mode: Runs as an all-in-one tool on Linux/Android, and as a remote client on Windows/macOS/Linux to connect to a server.
Secure, Lightweight, and Native Experience: Built with Rust on the backend for memory safety and native performance.
eCaptureQ offers two main operating modes to suit different user needs.
This is the standard, all-in-one mode. In this mode, the ecapture binary is bundled directly within the eCaptureQ application.
- Supported Platforms: Linux, Android
Important
The integrated Linux build must be compiled from source.
- Features:
- Out-of-the-Box: No need to manually install or configure
ecapture. - Automated Management:
eCaptureQautomatically manages the lifecycle of the capture process. - Simple and Convenient: Ideal for quick traffic analysis on a local device.
- Out-of-the-Box: No need to manually install or configure
- Requirements:
- On Linux and Android, this mode requires root privileges to run the eBPF program.
In this mode, eCaptureQ runs as a standalone client without the bundled ecapture binary. It connects remotely via WebSocket to an ecapture instance that is manually run by the user.
- Client-Supported Platforms: Linux, Windows, macOS
- Features:
- High Flexibility: Run
ecaptureon a Linux server and monitor it remotely from a Windows or macOS machine. - No Root Required: The
eCaptureQclient itself does not require root privileges. - Secure Isolation: Suitable for scenarios where the capture process and the analysis interface need to have separate permissions.
- High Flexibility: Run
- Requirements:
- The user must download and run
ecaptureseparately on the target device. ecapturemust be started with the--ecaptureqflag to activate the WebSocket service.
- The user must download and run
- Download and install the standard version of
eCaptureQ. - (Linux only) Run the application with
sudo:sudo /path/to/ecaptureq
- Click "Start" in the application interface to begin capturing.
- On the target Linux machine, download and start
ecapturewith the--ecaptureqflag. Ensure the WebSocket address is accessible from youreCaptureQclient.# Run on the target server (requires root privileges) sudo ./ecapture tls --ecaptureq ws://0.0.0.0:28257 - On your Windows/macOS/Linux machine, download and run the
decoupledversion ofeCaptureQ. - Go to the settings page in
eCaptureQ. - Configure the "WebSocket Server URL" to the address
ecaptureis listening on (e.g.,ws://<SERVER_IP>:28257). - Return to the main page and click "Start" to begin receiving data.
- Core Engine: ecapture (The underlying eBPF capture tool)
- Framework: Tauri (A framework for building cross-platform applications with Rust)
- Backend: Rust (with Tokio for asynchronous processing and Polars for high-performance data handling)
- Frontend: React with TypeScript, Tailwind CSS