CyberHound is a real-time Intrusion Detection System (IDS) built with machine learning. It captures and analyzes live network traffic to detect suspicious activity such as DoS attacks, Brute Force, and Port Scans, then displays the results in a live web dashboard with PDF reporting.
- π§ Trained ML model using CIC-IDS2017 dataset
- π Real-time packet sniffing with Scapy
- π Live traffic visualization with Flask dashboard
- π₯ PDF export of recent threats
- π Filter results by time range and IP address
- π¦ Lightweight and easy to deploy
CyberHound/ β βββ dashboard/ # Flask web dashboard β βββ app.py # Main Flask app β βββ static/style.css # Stylesheet β βββ templates/dashboard.html β βββ sniffer.py # Live traffic sniffer with model inference βββ traffic.db # SQLite database storing traffic logs βββ randomforest_model.joblib # Trained ML model βββ selected_features.joblib # Top prediction features used while sniffing the network to determinate βββ README.md # Youβre here
-
Clone the repository
git clone https://github.com/FIRSTGODOFCYBER/Cyber-Hound-v1.0.git cd CyberHound
-
Set up a virtual environment python3 -m venv venv source venv/bin/activate
-
Install dependencies pip install -r requirements.txt
This project uses a pre-trained 'randomforest_model.joblib' (60MB).
To download it: python download_model.py
- Run the sniffer and dashboard on seperate terminals for easy analysis of output python sniffer.py # Start traffic monitoring
cd dashboard python app.py # Start the dashboard
Dashboard URL: http://localhost:5000
Filters: Use the dashboard to filter by time range or IP address.
Export: Click the Download PDF button to export results with timestamps and a custom header.
Dataset: CIC-IDS2017
Algorithms used: RandomForestClassifier
Accuracy: ~99% on test data
Supports: BENIGN, DoS, BruteForce, PortScan (expandable)