A robust machine learning-based system designed to detect anomalies in encrypted network traffic using a variety of detection algorithms, including Autoencoder, One-Class SVM, and K-means clustering.
- Real-time Analysis: Processes live network traffic or analyzes PCAP files.
- Versatile Detection: Supports multiple anomaly detection algorithms:
- Autoencoder: Powered by TensorFlow.js.
- One-Class SVM: Custom implementation tailored for network anomalies.
- K-means Clustering: Efficient clustering to identify outliers.
- Encrypted Traffic Insights: Specializes in analyzing TLS/SSL encrypted traffic.
- Feature Extraction: Extracts meaningful features from raw network packets.
- Interactive Visualizations: Visualize anomalies for better insights.
Clone the repository:
git clone https://github.com/yourusername/network-anomaly-detection.git
cd network-anomaly-detection
Install dependencies:
npm install
To start the system with pre-configured mock data:
npm start
Analyze network traffic from a PCAP file:
npm start /path/to/your/capture.pcap
If you want to use Supabase for this project, create a .env
file in the root directory and include the following variables:
VITE_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
VITE_SUPABASE_URL=https://YOUR_SUPABASE_URL
Replace YOUR_SUPABASE_ANON_KEY
and YOUR_SUPABASE_URL
with your actual Supabase credentials. Keep this file secure and do not share it publicly.
src/
├── capture/ # Modules for packet capture and PCAP file reading
├── detection/ # Core anomaly detection algorithms
├── features/ # Feature extraction logic
├── utils/ # Helper functions and utilities
├── visualization/ # Anomaly visualization components
└── index.js # Application entry point
Run the test suite:
npm test
We welcome contributions to enhance the system:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your descriptive commit message"
- Push to your forked repository:
git push origin feature/your-feature-name
- Submit a Pull Request to the main repository.
- Node.js: Version 18.0.0 or higher
- NPM: Version 9.0.0 or higher
This project is licensed under the MIT License. See the LICENSE file for more details.
There may be some errors in this system. Please report any issues you encounter so they can be addressed.