Source code for CS 798 Final Project "A comprehensive study of DDoS Attacks Detection Scheme for SDN Environment"
- Download and install a fresh Ubuntu 18 in VM
- Git clone this repo
- Install mininet, Ryu and all dependencies by
sudo ./install.sh
- Run the controller with
./run_monitor.sh
if you are using large topology also run another switch with
./run_switch.sh
- Run the RESTFUL API monitor with
./run_mitigation.sh
we support the following flags- --mitigation
- None: no mitigation will be run.
- entropy: Entropy indicator will be used.
- pca: PCA indicator will be used
- svm : Machine Learning will be used.
- --mitigation
- Run the topology with
./run_topo.sh
we support the following flags- --topo
- basic: basic topology
- large: large topology
- --traffic
- empty: no traffic will be run
- normal: normal ping traffic auto-run
- ddos: ddos hping3 flood traffic auto-run
- mix: first normal then ddos (loop)
- --topo
- Monitor should be run at first
- See the script
src/attack.py
for changin the attacker time of operation. - For collecting data run the monitor without any mitigation strategy
--mitigation='None'
and run step 3 before step 2. - !!! mitigation.py line 136 is hard code for topology. Need to change when using large topo !!!