gopalkarn / DDoSAttackMitigationSystem

Python based DDoS attack detection and mitigation system built over Ryu controllers and Mininet SDN,

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This repo is for a python based sdn controllers that can detect a DDoS attack on target hosts.
Further, the controllers can mitigate the attack by limiting the bandwidth between the target and the attacker node.

Team Members - 
Ankit Mishra
Gouthaman Kumarappan
Simon Wimmer


Instructions- 
1. Run custom controller 1 (for domain A)
sudo python ./ryu/bin/ryu-manager --ofp-tcp-listen-port 6633 ryu/ryu/app/Controller1.py | tee log1.txt

2. Run custom controller 2 (for domain B)
sudo python ./ryu/bin/ryu-manager --ofp-tcp-listen-port 6634 ryu/ryu/app/Controller2.py | tee log2.txt

Note - The above 2 commands display the controller outputs on the console and also log them to log1.txt and log2.txt
	   In order to not log the outputs, please use the following commands - 

sudo python ./ryu/bin/ryu-manager --ofp-tcp-listen-port 6633 ryu/ryu/app/Controller1.py

sudo python ./ryu/bin/ryu-manager --ofp-tcp-listen-port 6634 ryu/ryu/app/Controller2.py
	   
3. Run the custom topology
sudo python customTopology.py

(Protected nodes are AAh1 and AAh2 only)
4. To start inter domain attack
BBh1 hping3 --flood --udp AAh1 &
BBh1 hping3 --flood --udp AAh2 &
BAh1 hping3 --flood --udp AAh1 &
BAh1 hping3 --flood --udp AAh2 &
.. etc.

5. To start intra domain attack 

ABh1 hping3 --flood --udp AAh1 &
ABh1 hping3 --flood --udp AAh2 &
ABh2 hping3 --flood --udp AAh1 &
ABh2 hping3 --flood --udp AAh2 &
.. etc.

6. Monitor the controller A and B consoles to see the results and the effective bandwidth on the links.

About

Python based DDoS attack detection and mitigation system built over Ryu controllers and Mininet SDN,


Languages

Language:Python 99.2%Language:Shell 0.8%