⚠️ This is a learning project. Since the core implementation relies on WinDivert, this project only supports the Windows platform. Additionally, this project does not provide production-level performance optimizations or long-term community support
Net-Assist is based on the WinDivert driver, enabling seamless network packet sniffing directly at the Windows kernel level (without occupying listening ports). It uses a fully asynchronous, highly decoupled design to ensure UI responsiveness and efficient data processing under high load
- Packet Sniffing: Based on the
WinDivertdriver, it directly sniffs TCP/UDP packets at the kernel level, providing the lowest-level packet sniffing without occupying any listening ports - Fully Asynchronous I/O Architecture: Uses
Asiofor a high-performance, event-driven model, with all network and file operations executed in background threads - Modular Design: The core network service (
Net) and the user interface (GUI) are completely decoupled through dependency injection - Lightweight GUI: Built with
ImGuifor an efficient, fast-rendering, and low-resource-consumption interface
- Language: C++17
- Build System: CMake
- Dependency Management: vcpkg
- Core Networking: WinDivert, Asio
- GUI: ImGui, GLFW, OpenGL
- Other Dependencies: GLAD
-
Clone the repository
git clone https://github.com/ELDment/Net-Assist.git cd Net-Assist -
Configure the project (CMake will handle dependencies automatically via vcpkg)
cmake --preset debug
-
Build the project
cmake --build --preset debug
- This project was inspired by nicedayzhu/netAssist, and its UI design was referenced
- This project uses the 山海江南隶45W font
