Denial-Of-Service (Dos) Attacks in An SDN Environment
Denial-Of-Service (Dos) Attacks in An SDN Environment
SDN Environment
Contents
Experiment Task Design:.............................................................................................................................. 3
Submission: .................................................................................................................................................. 3
Start the Experiment ................................................................................................................................... 3
Conduct the Experiment .............................................................................................................................. 6
Section 1.1: Installing Dependencies ...................................................................................................... 6
Section 1.2: Installing Mininet ................................................................................................................ 8
Section 1.3: Installing Hping3 ................................................................................................................. 8
Section 2: Running Floodlight ................................................................................................................. 9
Conclusions ................................................................................................................................................ 15
Experiment Task Design:
In this lab, students are able to launch a DoS attack on the SDN data plane and explain
the attack consequences. This lab provides step-by-step instructions to assist students in
setting up the profile, creating the experimental topology and conducting the DoS attack in the
data plane of SDN.
Submission:
Students should submit screenshots of step 1 and step 2 and explain each screenshot in
a paragraph.
In the page, search the profile “DoSServer” and click the name to select it. Then Click
“Select Profile”.
Proceed by click “Next”. Before finalize the configuration, choose a cluster. E.g., choose
“Emulab” as the cluster.
Below is the configuration of the profile for your reference. You may also be able to
create your own profile by following the instructions in Lab 1.
Conduct the Experiment
Section 1.1: Installing Dependencies
Mininet
https://github.com/mininet/ mininet
Floodlight
https://github.com/floodlight/floodlight) with its pre-requisites
hping3
(Note) These installations will not be saved when the Cloudlab Experiment has been terminated.
Cloudlab allows users to request additional leasing time through of the ‘Extend’ button.
1) Open a new terminal. Click the icon and choose “Shell”
10) Run ‘sudo chmod 777 /var/lib/floodlight’ to provide proper Linux File execution
permissions to be able to run Floodlight properly
Note: You can download and run our script (set_floodlight.sh) to execute the above commands
automatically.
Run ‘wget https://people.cs.clemson.edu/~hongdal/set_floodlight.sh .’ to download the
script.
Run ‘sudo /bin/sh set_floodlight.sh; cd floodlight’ to build Floodlight.
6) cd out of the Mininet directory and install Mininet by running ‘mininet/util/install.sh -a’.
Choose “Yes” if an option is prompted.
Note: You can download and run our script (set_mininet.sh) to execute the above commands
automatically.
Run ‘wget https://people.cs.clemson.edu/~hongdal/set_mininet.sh .’ to download the script.
Run ‘sudo /bin/sh set_mininet.sh’ to install Mininet.
Note: The command in step 5 has the following parameters and explanations:
Task 1: What can be seen after running this command? Take a screenshot. This screenshot
will be needed to refer to further observations with outputs in the future steps.
9) On the Mininet terminal, run ‘h1 hping3 h2 -c 10000 -S –flood –rand-source -V’ to flood a
lot of packets to h2.
Every packet sent to h2 will invoke an OFPT_PACKET_IN which will forward the first incoming
packet to the controller. After receiving the packet-in message, the controller then sends an
OFPT_FLOW_MOD message to the switch to install a new flow-rule.
Task 2: What can be seen observed in the flow-table now that hping3 is running? Any
noticeable differences in output?
11) On the Mininet terminal, stop hping3 by using ctrl + C.