CyberSentinel is a robust, modern, and user-friendly security operations platform designed for real-time network monitoring and incident management. Built with a focus on high-performance packet analysis and streamlined security workflows, it provides security analysts with the tools they need to detect, investigate, and resolve threats efficiently.
- Live Packet Capture: Monitor incoming and outgoing traffic in real-time using
Pcap4j. - Traffic Analysis: Detailed breakdown of protocols (TCP, UDP, etc.), source/destination IPs, ports, and MAC addresses.
- Suspicious Activity Detection: Identify potentially malicious traffic patterns and security flags.
- End-to-End Tracking: Create, update, and manage security incidents from detection to resolution.
- Categorization & Severity: Classify incidents by type (Phishing, Malware, DDoS, etc.) and priority.
- Advanced Search: Quickly find incidents using filters like ID, Title, Severity, or Status.
- Evidence Logging: Attach network traffic data directly to incidents as forensic evidence.
- Port Scanner: Identify open ports on target systems and evaluate associated risk levels.
- Reporting & Export: Generate detailed incident reports and export data to CSV for external analysis.
- Futuristic Design: A beautiful, responsive interface built with JavaFX featuring glassmorphism aesthetics, gradients, and interactive feedback.
- Interactive Dashboard: At-a-glance view of security metrics and quick-access action cards.
- Admin Role: Full access to all system features including incident management and advanced tools.
- Analyst Role: Access to monitoring and investigation tools with restricted administrative capabilities.
- Language: Java 17+
- UI Framework: JavaFX 21+ with Custom CSS (Glassmorphism)
- Database: MySQL 8.0+
- Network Library: Pcap4j (wrapped around Npcap/Libpcap)
- Utilities: SLF4J (Logging), JNA, Apache POI (for future excel expansions)
- Java JDK 17 or higher
- MySQL Server
- Npcap (Required for packet capture on Windows): Download here
- JavaFX SDK (if not using a build tool like Maven/Gradle)
- Import the provided SQL script to set up the database schema:
mysql -u your_username -p < cyber_incident_db.session.sql - Update the database credentials in
src/db.properties:db.url=jdbc:mysql://localhost:3306/cyber_incident_db db.username=your_username db.password=your_password
- Ensure the libraries in the
libfolder are added to your project's classpath. - Run
JavaFXUI/MainApp.javafor the Graphical Interface. - Run
CyberSentinel_Main/Main.javafor the Command Line Interface.
CyberSentinel/
├── src/
│ ├── DAO/ # Data Access Objects (Database logic)
│ ├── JavaFXUI/ # GUI Views, Controllers, and CSS Styles
│ ├── Model/ # Data Models (Incident, User, PacketData)
│ ├── Npcap/ # Packet Capture and Port Scanning logic
│ ├── util/ # Shared utilities (DB Connection)
│ └── db.properties # Configuration file
├── lib/ # External Jar dependencies
└── README.md # You are here!
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Faizan Ali - GitHub
Project Link: https://github.com/fazy777/CyberSentinel
Developed with ❤️ for the Security Community