Skip to main content

IoT DDoS detection and simulation framework.

Project description

NS-DDoS

NS-DDoS is Linux-first IoT DDoS lab and runtime verification framework. Standalone repo root is deployment root. No sibling floodlight, ns-ddos, or mininet checkout required.

Quickstart

git clone https://github.com/ns7523/nsddos.git
cd nsddos
python -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
cp .env.example .env
docker-compose up --build -d
python -m nsddos health
python -m nsddos verify

docker compose up --build -d works too. Canonical deploy entrypoint is repo-root docker-compose.yml.

Bundled Runtime Assets

Repo carries runtime payload required for clean-clone deployment:

  • external/floodlight/floodlight.jar
  • external/floodlight/logback.xml
  • external/floodlight/floodlightdefault.properties
  • external/sflowrt/start.sh
  • external/sflowrt/lib/
  • external/sflowrt/app/
  • external/sflowrt/resources/
  • external/sflowrt/store/

Runtime Surfaces

Primary commands:

nsddos health
nsddos verify
nsddos lab start
nsddos lab stop
nsddos lab logs
nsddos api routes
nsddos api explain
nsddos api start
nsddos runtime install-guide
nsddos runtime validate-bootstrap
nsddos runtime export-environment

Runtime services:

  • labhost
  • floodlight
  • sflowrt
  • detector

Runtime state persists under .nsddos-home/ by default, or NSDDOS_HOME when set.

Requirements

  • Python 3.11+
  • Docker Engine
  • Docker Compose v1 (docker-compose) or v2 (docker compose)

Environment Overrides

  • NSDDOS_HOME
  • NSDDOS_CONFIG
  • NSDDOS_COMPOSE_FILE
  • NSDDOS_MININET_BIN

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nsddos-0.9.0b2.tar.gz (593.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nsddos-0.9.0b2-py3-none-any.whl (698.3 kB view details)

Uploaded Python 3

File details

Details for the file nsddos-0.9.0b2.tar.gz.

File metadata

  • Download URL: nsddos-0.9.0b2.tar.gz
  • Upload date:
  • Size: 593.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nsddos-0.9.0b2.tar.gz
Algorithm Hash digest
SHA256 7644abb9c9668cf52e5bdf417d1c18a257c04b0d81700d8a4364246a96b503e6
MD5 e1c2865f5d20a02b24b66952af5b3461
BLAKE2b-256 5814cd27752b0092b400d887b00781285fe426b69eab04ac007d98262d3d4033

See more details on using hashes here.

Provenance

The following attestation bundles were made for nsddos-0.9.0b2.tar.gz:

Publisher: publish.yml on ns7523/nsddos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nsddos-0.9.0b2-py3-none-any.whl.

File metadata

  • Download URL: nsddos-0.9.0b2-py3-none-any.whl
  • Upload date:
  • Size: 698.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nsddos-0.9.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 a2aee055bb8e6b5d78ebae057160b2ea6110f64d1cffc822607a2e4914402773
MD5 d782e885cb71c82f39af14f341e69d5a
BLAKE2b-256 10e5914d2a4d9ca5fcf62c47249849e818f3672422c66263f620a1e8054d0442

See more details on using hashes here.

Provenance

The following attestation bundles were made for nsddos-0.9.0b2-py3-none-any.whl:

Publisher: publish.yml on ns7523/nsddos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page