简体中文 | 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.
Advanced Packet Filtering: Filter captured packets using custom SQL queries with support for simple conditions or complex full SQL statements. Perfect for focusing on specific traffic patterns, processes, or payload content.
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
eCaptureQ provides powerful SQL-based packet filtering capabilities to help you focus on specific network traffic patterns.
Simple Filtering (Recommended for beginners)
Write simple conditions to filter packets quickly:
dst_port = 443 AND pname = 'chrome'Advanced SQL Filtering (For power users)
Use full SQL queries for complex filtering logic:
SELECT * FROM packets WHERE dst_port IN (80, 443)
UNION
SELECT * FROM packets WHERE pname LIKE 'python%'- Filter by port:
dst_port IN (80, 443)- Show only HTTP/HTTPS traffic - Filter by process:
pname = 'curl'- Show traffic from specific applications - Filter by IP:
src_ip LIKE '192.168.1.%'- Focus on specific network segments - Search payload:
payload_utf8 LIKE '%password%'- Find packets containing sensitive data
For detailed filtering syntax, examples, and best practices:
- 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


