Skip to main content

IoT DDoS detection and simulation framework.

Project description

NSDDOS

PyPI 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.0b6.tar.gz (731.2 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.0b6-py3-none-any.whl (831.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nsddos-0.9.0b6.tar.gz
  • Upload date:
  • Size: 731.2 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.0b6.tar.gz
Algorithm Hash digest
SHA256 e0bc9b1c7535017fda0596f11bf947e24cfbe10c0b94701943982f5f22928816
MD5 3c6993bca12b78a5ba2e27a8efd7efa5
BLAKE2b-256 19f8ac40e26fe3a99e015d71e41646a5dffa707f0a4a1bfec713176704ad4741

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: nsddos-0.9.0b6-py3-none-any.whl
  • Upload date:
  • Size: 831.5 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.0b6-py3-none-any.whl
Algorithm Hash digest
SHA256 24e923b8f8e473239b83570ea2819531fe5dc5fa408cd79c46d223b5aaec8ed9
MD5 4c105b909cf0163d98172183a3cea477
BLAKE2b-256 e8b78550d69a954a40311c44550342d547e042ca21ac717f992ae16b3c8b322f

See more details on using hashes here.

Provenance

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