An intrusion detection system (IDS) is designed to monitor network traffic and detect potential threats.
The project goals are as follows: 1. Capture and process network packets in real-time. The system should intercept traffic on the selected network interface, extract the headers and payload of packets, and perform initial classification based on TCP, UDP, and ICMP; 2. Analyze network packets for signs of threats. To achieve this goal, it is necessary to implement a packet verification mechanism based on behavioral characteristics that indicate anomalies and typical signs of suspicious activity, such as port scanning and unusual TCP flags; 3. Provide visualization of the received data. The program should display the main parameters of network packets; 4. Record the analysis results and save the traffic history. To successfully implement these requirements, you will need a technical implementation plan and a structural diagram of the system being developed, which will describe the main mechanisms for intercepting network packets and detecting threats.
Development tools used: Visual Studio, pcap library, and Qt framework.
- Language: C++ (C++17 or higher)
- IDE: Visual Studio 2022
- Framework: Qt 6.x
- Library: Npcap SDK (modern alternative to WinPcap)
To compile and run the project in Visual Studio, follow these steps:
- Install the Npcap Driver on your system.
- Download and extract the Npcap SDK to a local folder.
Open your project properties (Project Properties -> VC++ Directories):
- Include Directories: Add the path to the
Includefolder from the Npcap SDK. - Library Directories: Add the path to the
Lib(orLib/x64) folder from the Npcap SDK. - Linker -> Input: Add
wpcap.libandPacket.libto Additional Dependencies.
- Open the
.slnxor.vcxprojfile in Visual Studio. - Build the solution (Build -> Build Solution).
- Important: Run the application as Administrator to allow the driver to access network interfaces.
- Launch the application with administrative privileges.
- Select your active network adapter from the list.
- Click the Start button to begin monitoring.
- View real-time packet data and traffic statistics in the main window.
This project is intended for educational and ethical testing purposes only. Use it only on net