Skip to main content

IoT DDoS detection and simulation framework.

Project description

NSDDOS

PyPI CI Python License

Production-grade AI-powered DDoS detection and mitigation platform for software-defined networks and IoT environments.

NSDDOS packages telemetry collection, live attack simulation, SDN-aware mitigation, runtime verification, and SOC-style observability into one operator-facing workflow. It is built for local labs, demos, research validation, and repeatable release engineering around Floodlight, sFlowRT, Mininet, and Open vSwitch.

Features

  • Real-time DDoS attack detection
  • Floodlight SDN controller integration
  • sFlowRT telemetry engine
  • Mininet virtual topology orchestration
  • Open vSwitch programmable mitigation
  • Live SOC-style operator dashboard
  • ML-based anomaly detection engine
  • Automated attack simulation
  • Runtime health, doctor, and verification commands
  • Public demo sharing through Cloudflare Tunnel

Installation

Install from PyPI:

pip install nsddos

Install from source for development:

git clone https://github.com/ns7523/nsddos.git
cd nsddos
python -m venv .venv
source .venv/bin/activate
pip install -e .[dev]

Requirements:

  • Python 3.11+
  • Docker Engine
  • Docker Compose v1 (docker-compose) or v2 (docker compose)
  • Local runtime assets bundled in repo or downloaded through nsddos bootstrap download

Full setup notes: docs/installation.md

Quick Start

nsddos setup
nsddos start
nsddos health --verbose

Run live end-to-end showcase:

nsddos demo

Expose dashboard publicly for demos:

nsddos ui expose

Architecture

flowchart TD
    user["User / Operator"] --> dash["NSDDOS Dashboard"]
    dash --> flood["Floodlight Controller"]
    dash --> sflow["sFlowRT Telemetry"]
    dash --> detector["Detection + ML"]
    flood --> ovs["Open vSwitch Mitigation Plane"]
    sflow --> detector
    detector --> ovs
    ovs --> mininet["Mininet Topology"]
    mininet --> h1["h1"]
    mininet --> h2["h2"]
    mininet --> h3["h3"]

More detail: docs/architecture.md

Commands

Core workflow:

nsddos health
nsddos doctor
nsddos start
nsddos demo
nsddos ui start
nsddos ui expose
nsddos lab start
nsddos runtime attack-live

CLI reference: docs/cli-reference.md

Screenshots

Overview

NSDDOS Overview

Lab Console

NSDDOS Lab Console

Topology

NSDDOS Topology

Documentation

License

MIT. See LICENSE.

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.0b5.tar.gz (731.4 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.0b5-py3-none-any.whl (831.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nsddos-0.9.0b5.tar.gz
  • Upload date:
  • Size: 731.4 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.0b5.tar.gz
Algorithm Hash digest
SHA256 cd7fdeca572449dab27a113c1e7815e5a2122aa2a6e33735882c9bfc6360adac
MD5 4019d3758e8905fd8346ae8428ffce81
BLAKE2b-256 604eaea86bc4aae099433b4bdd2aaa597a4cb8480205e9dc4bd9a23c483d43dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for nsddos-0.9.0b5.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.0b5-py3-none-any.whl.

File metadata

  • Download URL: nsddos-0.9.0b5-py3-none-any.whl
  • Upload date:
  • Size: 831.6 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.0b5-py3-none-any.whl
Algorithm Hash digest
SHA256 208464442b83df38c77cdabcb60f5b6652329357f592b50e8d6bed6ab2b7ef21
MD5 ef43255c6e7f914842de25b1d204a00c
BLAKE2b-256 5c60ccf8b54858e45f5d201a5bb5a2729a3a75b7dceb5419f04dd70f7a0c2966

See more details on using hashes here.

Provenance

The following attestation bundles were made for nsddos-0.9.0b5-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