Program Arguments
Jens Keim edited this page 6 years ago

usage: CLI.py [-h] -i FILEPATH [-c FILEPATH] [-e] [-a ATTACKNAME [ATTACKNAME ...]] [-r] [-s] [-q [QUERY]]

optional arguments:

  • -h, --help
    show the available arguments with a short description and exits.

  • -c FILEPATH, --config FILEPATH
    takes the path to the configuration file containing the program arguments. This can be used to provide a predefined configuration instead of supplying the arguments directly in the command line. As an example, see the file config_example in the repository.

  • -e, --export
    exports the statistics as a text file into the dataset directory. The file is named equal as the input dataset but with ending .stat.

  • -a ATTACKNAME [ATTACKNAME ...], --attack ATTACKNAME [ATTACKNAME ...]
    injects a new attack into the given dataset. After the ATTACKNAME a list of parameters can follow, e.g., -a PortscanAttack ip.src=10.2.2.4 mac.src=FD:72:69:16:79:13. Multiple attacks can be provided by using the parameter -a multiple times.

  • -r, --recalculate
    forces to recalculate the statistics even if there is an already existing statistics database generated at an earlier program run. This is helpful during development, e.g., if the statistics calculation changed or the database was manually modified.

  • -s, --statistics
    print general file statistics to stdout.

  • -q [QUERY], --query [QUERY]
    executes the provided QUERY to retrieve values from the statistics database. If no query is provided, the application enters into an interactive query mode allowing the user to provide multiple queries in a REPL-like manner.

  • -p format=pdf, --plot format=pdf
    plots the dataset statistics prior attack injection. Saves the resulting file as pdf if format=pdf is given, otherwise the plot is saved as png file.

  • -S RNGSEED [RNGSEED ...], --rndSeed RNGSEED [RNGSEED ...]
    sets rng seed for testing or benchmarking

  • -T, --time
    measures packet generation time

required arguments:

  • -i FILEPATH, --input FILEPATH
    takes the path to the input PCAP dataset and collects statistics from it. Stores the statistics for each dataset in a statistics database located at ~/home/ID2T_data/db/.