DNS-based DDoS attack simulation and solution using SDN flow monitoring
This repository is created to support the publication at this link.
This repository uses many simple tools to:
- Simulate a Domain-Name-Server
- Simulate a DDoS attack using one adversary node
- Contain its adverse effect on network resources
All files in the repository are commented wherever necessary.
Description of Files:
- dns.py: Contains the script to run the Domain Name Server at 10.0.0.100:53
- client.py: Contains the script to run the client nodes 3. adversary.py: Contains the script to run the adversary at a node and start the DDoS.
- topo.py: This file runs the network and starts the simulation.
- sec_switch.py: This is a Ryu based SDN controller, with the KarmaNet solution in it.
- simple_switch.py: This is a simple Ryu based SDN controller, which already comes with the Ryu package. It works through normal L2 switching.
- topologies: This folder contains topologies made in miniedit.py
- run.sh: bash script to run the complete simulation