Skip to content

Latest commit

ย 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›ก๏ธ Project Sentinel: DoS Attack & Defense Visualizer

Project Sentinel Banner Status License

An Interactive Real-Time Dashboard for Simulating and Visualizing DDoS Attacks & Defense Mechanisms

๐Ÿš€ Demo โ€ข ๐Ÿ“‹ Features โ€ข ๐Ÿ› ๏ธ Installation โ€ข ๐Ÿ“– Usage โ€ข ๐Ÿ—๏ธ Architecture


๐Ÿ“ธ Demo

Dashboard Screenshot

๐ŸŽฏ Overview

Project Sentinel is a comprehensive cybersecurity education tool that provides a real-time, interactive dashboard for simulating Distributed Denial of Service (DDoS) attacks and their mitigation strategies within a secure, sandboxed virtual network environment.

Perfect for cybersecurity students, network administrators, and security researchers who want to understand attack patterns and defense mechanisms in a controlled environment.

โœจ Features

๐Ÿ”ฅ Real-Time Visualization

  • Dynamic CPU Load Monitoring with interactive line charts
  • Live Network Traffic Analysis
  • Attack Impact Visualization with color-coded severity indicators

๐ŸŽฎ Interactive Control Panel

  • One-Click Attack Simulation (SYN Flood, UDP Flood)
  • Defense Mechanism Activation (Firewall rules, Rate limiting)
  • Simulation State Management with intelligent UI controls

๐Ÿ“Š Live Event Logging

  • Timestamped Event Stream with real-time updates
  • Attack Pattern Analysis
  • Defense Effectiveness Metrics

๐Ÿ›๏ธ Professional Architecture

  • Decoupled Frontend/Backend design
  • WebSocket Real-Time Communication
  • Sandboxed Network Environment using Mininet

๐Ÿ› ๏ธ Technology Stack

Layer Technology Purpose
Frontend React Vite Interactive Dashboard
Backend Python Flask API & WebSocket Server
Simulation Linux Network Virtualization
Visualization Chart.js Real-time Metrics

๐Ÿ—๏ธ Architecture

graph TB
    A[React Frontend] -->|WebSocket| B[Flask Backend]
    B -->|Python API| C[Mininet Engine]
    C -->|Virtual Network| D[Attack Simulation]
    C -->|Defense Rules| E[Firewall/iptables]
    B -->|Real-time Data| A
Loading

๐Ÿ”„ Data Flow

  1. User Interaction โ†’ React sends commands via WebSocket
  2. Backend Processing โ†’ Flask validates and executes commands
  3. Network Simulation โ†’ Mininet creates virtual environment
  4. Real-time Feedback โ†’ Metrics streamed back to dashboard

๐Ÿš€ Installation

Prerequisites

# System Requirements
- Ubuntu 20.04+ (or compatible Linux distribution)
- Python 3.8+
- Node.js 16+
- sudo privileges

๐Ÿ“ฆ Quick Setup

# 1. Clone the repository
git clone https://github.com/yourusername/project-sentinel.git
cd project-sentinel

# 2. Install Mininet (if not already installed)
sudo apt update
sudo apt install mininet

# 3. Backend Setup
cd backend
sudo apt install python3-flask python3-flask-cors python3-flask-socketio
# or using pip
pip3 install flask flask-cors flask-socketio

# 4. Frontend Setup
cd ../frontend
npm install

๐Ÿ“– Usage

๐Ÿ–ฅ๏ธ Running the Application

You'll need 3 terminal windows:

Terminal 1: Backend Server

cd backend
sudo python3 app.py

๐ŸŸข Server running on http://localhost:5000

Terminal 2: Frontend Server

cd frontend
npm run dev

๐ŸŸข Dashboard available at http://localhost:5173

Terminal 3: Testing (Optional)

# Test API endpoints
curl -X POST http://localhost:5000/api/start-simulation
curl -X POST http://localhost:5000/api/launch-attack

๐ŸŽฎ Using the Dashboard

  1. ๐Ÿš€ Start Simulation - Initialize the virtual network
  2. โš”๏ธ Launch Attack - Begin DDoS simulation
  3. ๐Ÿ›ก๏ธ Activate Defense - Deploy countermeasures
  4. ๐Ÿ“Š Monitor Metrics - Watch real-time impact
  5. ๐Ÿ›‘ Stop Simulation - Clean up resources

๐Ÿ”ง Configuration

Environment Variables

# Backend Configuration
FLASK_HOST=localhost
FLASK_PORT=5000
MININET_CLEANUP=true

# Frontend Configuration
VITE_API_URL=http://localhost:5000

Attack Parameters

# Customize in backend/simulation_manager.py
ATTACK_DURATION = 30  # seconds
ATTACK_RATE = 1000    # packets/second
TARGET_PORT = 80      # HTTP port

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Team Member Ayush Rathi(23BCE1509), Harjyot Singh Sehgal(23BCE1609), Rohit(23BCE1982)

Made with โค๏ธ for Cybersecurity Education

About

DoS-Attack-Defense-Visualizer :- Ayush Rathi(23BCE1509), Harjyot Singh Sehgal(23BCE1609), Rohit(23BCE1982)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages