Most cybersecurity tools are too complicated and can't keep up with modern attacks. People often don't understand what's going on or what to do when a threat happens. NopeNet fixes this with a simple and clear dashboard, and an AI assistant that explains things in plain language. It uses machine learning to catch new threats and reaches over 99% average accuracy.
- Attack Classification: Identify and categorize different types of network attacks
- Interactive Dashboard: Visualize network traffic and detected threats
- Test using real attacks: Generate and test with randomized sampled network traffic attacks
- Security Recommendations: Receive detailed security recommendations based on scan results
- NopeNet AI Chat Assistant: Engage with our intelligent chat interface that understands your network context, answers security questions, and helps investigate potential threats in real-time
- Results Visualization: View detailed analysis results and visualizations
- NopeNet Resources Page: Explore different types of network attacks from the KDD dataset and learn about intrusion detection techniques.
- Articles & Research: Provides academic papers used to build this project.
- Next.js
- TypeScript
- Tailwind CSS
- shadcn/ui
- Lucide React
- Node.js (v16 or higher)
- Python (v3.8 or higher)
- npm or yarn
- OpenAI API (optional for basic detection, required for the chat feature)
-
Clone the repository:
git clone https://github.com/CodeByGirum/NopeNet-Network-Intrusion-Detection cd NopeNet-Network-Intrusion-Detection -
Install dependencies:
npm install pip install -r server/requirements.txt -
Set up your OpenAI API key (optional for basic features, required for chat): Create a
.env.localfile in the root directory with:OPENAI_API_KEY=your-api-key-here NEXT_PUBLIC_APP_URL=http://localhost:3000 NODE_ENV=development
Run the application using our simple Python script that handles everything:
python run-nopenet.py
-
Start the backend:
python server/app.py -
In another terminal, start the frontend:
npm run dev -
Open your browser and navigate to http://localhost:3000
GET /: API status checkPOST /predict: Submit network traffic data for analysisPOST /validate: Validate KDD format of input dataGET /sample: Retrieve a sample of network traffic data generated from a large collection of previously gathered real network attack packets.
NopeNet processes network traffic data formatted according to the KDD Cup 1999 standard, which includes 41 features for each network packet. Example format:
0,tcp,http,SF,215,45076,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00,0,0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,normal
The system uses an XGBoost classifier trained on the KDD Cup 1999 dataset to detect and classify network attacks into categories:
- Normal traffic
- DOS (Denial of Service)
- Probe (Surveillance/scanning)
- R2L (Unauthorized access from remote machine)
- U2R (Unauthorized access to root privileges)
- Integration with real-time network monitoring tools
- Continuous model retraining with new attack patterns
- Ensemble methods for higher accuracy
- Anomaly detection for zero-day attack identification
- Expanded visualization options for security analysts
