Skip to content

niksu/dosarray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DoSarray

DoSarray is an extensively documented system that facilitates carrying out experiments involving Denial-of-Service (DoS) attacks and mitigations. Find out more by reading our paper on DoSarray.

DoStbin is a sister project that shares the results from DoSarray experiments. Both DoSarray and DoStbin are developed at the University of Pennsylvania as part of the DeDOS project.

You can also 3D-print the 3D graphs produced by DoSarray. We have documented how to do this. The photo below shows an example from one of the archived result graphs in DoStbin:

3D-printed 3D graph from DoSarray

Getting started...

For a quick peek take a look at an example experiment. When run, this script generates the following output:

$ export DOSARRAY_SCRIPT_DIR=`pwd`
$ ./experiments/dosarray_slowloris_experiment.sh
Started HTTP experiment at Wed Jun  6 23:06:27 EDT 2018: apache_worker, slowloris, Default config
  Writing to /Users/nik/dosarray/example_experiment/
DoSarray stdout was collected in: /tmp/dosarray.stdout.yb39PO
DoSarray stderr was collected in: /tmp/dosarray.stderr.2QAwjY
Finished at Wed Jun  6 23:08:57 EDT 2018

The various logs and graphs generated by DoSarray could then be found in the example_experiment/ directory. The output from this experiment can be seen in the DoStbin archive.

Configuration checking

Prior to running an experiment make sure to check that your cluster is configured correctly. The configuration checker script gives you informative break-down of the findings, which can be made more detailed to help with diagnosing problems: DoSarray configuration checking script

Configuration and Usage

Please see our usage guide which explains how to set DoSarray's two levels of configuration: DoSarray-wide and experiment-specific (such as in the example above).

We also have an FAQ and a trouble-shoot checklist.

Multi-run experiments

Multiple runs of an experiment can be made by giving an additional parameter to specify the number of runs required, as shown in our example experiment. The output is similar to that seen above, except that it shows which run is being processed, and stores the output in a separate subdirectory for each run:

Starting run 1 of 4
Started HTTP experiment at Wed Jun  6 23:56:35 EDT 2018: apache_worker, slowloris, Default config
  Writing to /Users/nik/dosarray/example_experiment_X4/1/
DoSarray stdout was collected in: /tmp/dosarray.stdout.OWUhaR
DoSarray stderr was collected in: /tmp/dosarray.stderr.nPCkjj
Finished at Wed Jun  6 23:59:05 EDT 2018
Starting run 2 of 4
Started HTTP experiment at Wed Jun  6 23:59:05 EDT 2018: apache_worker, slowloris, Default config
...
Finished at Thu Jun  7 00:01:34 EDT 2018
Starting run 3 of 4
Started HTTP experiment at Thu Jun  7 00:01:34 EDT 2018: apache_worker, slowloris, Default config
...
Finished at Thu Jun  7 00:04:02 EDT 2018
Starting run 4 of 4
Started HTTP experiment at Thu Jun  7 00:04:02 EDT 2018: apache_worker, slowloris, Default config
...
Finished at Thu Jun  7 00:06:30 EDT 2018

The output from this experiment can be seen in the DoStbin archive.

Contributors

Nik Sultana, Shilpi Bose.

Current version

DoSarray 0.5

View CHANGELOG

License

DoSarray is released under the Apache 2.0 license