███╗ ██╗███████╗████████╗██████╗ ██████╗ ██████╗ ████████╗███████╗ ██████╗████████╗ ██████╗ ██████╗ ████╗ ██║██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██╔═══██╗╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗ ██╔██╗ ██║█████╗ ██║ ██████╔╝██████╔╝██║ ██║ ██║ █████╗ ██║ ██║ ██║ ██║██████╔╝ ██║╚██╗██║██╔══╝ ██║ ██╔═══╝ ██╔══██╗██║ ██║ ██║ ██╔══╝ ██║ ██║ ██║ ██║██╔══██╗ ██║ ╚████║███████╗ ██║ ██║ ██║ ██║╚██████╔╝ ██║ ███████╗╚██████╗ ██║ ╚██████╔╝██║ ██║ ╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
Real-time Intrusion Detection System (IDS) built with Java & JavaFX for comprehensive network threat monitoring.
NetProtector is a desktop-based Intrusion Detection System (IDS) developed in Java and JavaFX that captures, analyzes, and alerts on real-time network threats. With 15+ built-in detection rules, an interactive dashboard, and persistent historical data logging, it’s designed to assist security analysts and network administrators in monitoring suspicious activities and generating actionable insights.
- 🔴 Live Packet Sniffing via
pcap4j
- ⚙️ Multithreaded Detection Engine running over 15 security rules
- 📊 Interactive JavaFX Dashboard with real-time graphs and logs
- 🚨 Alerts System: Desktop pop-ups and email notifications
- 🕓 Historical Tracking: Alerts saved in a local SQLite database
- DDoS Attack Detection
- Brute Force Monitoring
- SQL Injection
- DNS Tunneling
- Malicious IP Tracking
- Port Scanning
- Suspicious Traffic Heuristics
- And more...
- PDF Report Generation (
iTextPDF
) - CSV Export (
OpenCSV
) - Real-time Email Notifications (
Jakarta Mail
) - Detailed Logs & Desktop Alerts
IDS_NetProtector/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/NetProtector/
│ │ │ ├── controllers/ # UI Controllers
│ │ │ ├── models/ # Data Models
│ │ │ ├── services/ # IDS Logic & Detection
│ │ │ ├── utils/ # Helper Utilities
│ │ │ └── Main.java # Entry Point
│ │ └── resources/
│ │ ├── fxml/ # FXML UI Layouts
│ │ ├── css/ # Stylesheets
│ │ └── images/ # Icons and Assets
├── docs/images/ # Screenshots
├── pom.xml # Maven Config
└── README.md # This File
Key Components
File/Folder | Description |
---|---|
Main.java |
Application launcher and JavaFX entry point |
controllers/ |
Handles GUI interactions |
services/ |
Core IDS functionality and rule engine |
utils/ |
Email, Logging, and PDF Export Utilities |
notification.properties |
Email settings (requires setup) |
pom.xml |
Maven dependencies and plugins |
- Java 17+
- Maven 3.8+
- Administrative privileges (for raw packet capture)
- Supported OS: Windows, macOS, or Linux
- Access to network interfaces
- Clone the repository
git clone https://github.com/K4YR0/IDS_NetProtector.git
cd IDS_NetProtector
- Install dependencies
mvn clean install
- Run the application
mvn javafx:run
# Or launch the JAR directly
java -jar target/IDS_NetProtector-1.0.jar
- Launch the application with administrator/root privileges
- Choose the appropriate network interface
- Adjust detection rules in the Settings panel
- Click Start IDS to begin monitoring
- Watch real-time alerts populate the dashboard
- Use the Export tab for PDF/CSV reports
Main Dashboard with Live Monitoring
- Copy the template file:
cp notification_placeholder.properties notification.properties
- Update SMTP settings:
notification.email.username=your-email@gmail.com
notification.email.recipient=alerts@yourdomain.com
# Use an app-specific password if using Gmail
You can fine-tune detection thresholds directly via the Settings panel in the UI or modify rule constants in services/
.
- Fork this repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add amazing feature'
- Push the branch
git push origin feature/amazing-feature
- Open a Pull Request
Made with ❤️ by the Open Source Community.
This project is licensed under the MIT License. See the LICENSE file for details.
- Machine Learning-based Anomaly Detection
- Web-based Dashboard Interface
- Integration with Threat Intelligence Feeds
- REST API for third-party tools
- Advanced Traffic Visualizations
- Multi-node IDS Cluster Support
⭐ If you found NetProtector helpful, please consider giving it a ⭐ on GitHub!