https://github.com/visheshc14/electric-funeral
A Combination of Software Defined Network (SDN) And A Multi-Layer Perceptron (MLP) Neural Network That Results In The Mitigation of DDoS Attacks.
https://github.com/visheshc14/electric-funeral
machine-learning multilayer-perceptron-network python python-3 rust rust-crate rust-lang rust-library sdn-controller sdn-network sdn-switch shell-script
Last synced: about 1 month ago
JSON representation
A Combination of Software Defined Network (SDN) And A Multi-Layer Perceptron (MLP) Neural Network That Results In The Mitigation of DDoS Attacks.
- Host: GitHub
- URL: https://github.com/visheshc14/electric-funeral
- Owner: visheshc14
- Created: 2021-09-01T10:20:45.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-09-23T13:33:56.000Z (over 3 years ago)
- Last Synced: 2025-03-25T03:41:35.127Z (about 2 months ago)
- Topics: machine-learning, multilayer-perceptron-network, python, python-3, rust, rust-crate, rust-lang, rust-library, sdn-controller, sdn-network, sdn-switch, shell-script
- Language: Python
- Homepage:
- Size: 43.9 KB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Electric-Funeral
A Combination of Software Defined Network (SDN) And A Multi-Layer Perceptron (MLP) Neural Network That Results In The
Mitigation of DDoS Attacks.## References
[A dynamic MLP-based DDoS attack detection method using feature selection and feedback](https://www.sciencedirect.com/science/article/pii/S0167404819301890)[Deep Learning-based Slow DDoS Attack Detection in SDN-based Networks](https://ieeexplore.ieee.org/document/9289894)
[SDN-Based Intrusion Detection System for Early Detection and Mitigation of DDoS Attacks](https://arxiv.org/ftp/arxiv/papers/2104/2104.07332.pdf)
[A Flexible SDN-Based Architecture for Identifying and Mitigating Low-Rate DDoS Attacks Using Machine Learning](https://ieeexplore.ieee.org/abstract/document/9177002)



## Requirements
- python3
- pip
- rust
- cargo## Installation
```
setup.sh
```## Generating data
First start the controller in generate data mode:
```
./network_controller.py --gen-data
```Then start the network in normal interactions training mode (this uses mininet
so it will probably require root privileges to run):
```
./create_network --normal
```Once done, train for the attack state. Start the controller in generate attack
data mode:
```
./network_controller.py --attack --gen-data
```Then start the network in attack interactions training mode:
```
./create_network --all-attack
```## Training the MLP
Simply run the following:
```
./network_controller.py --train
```## Run DDoS Mitigation
Start the controller in detection mode:
```
./network_controller.py --detect
```Then start the network in attack and CLI mode:
```
./create_network --attack --cli
```The user should be able to ping the attack target with the following command:
```
u0 ping t0
```