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.0b7.tar.gz (740.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.0b7-py3-none-any.whl (839.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nsddos-0.9.0b7.tar.gz
  • Upload date:
  • Size: 740.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.0b7.tar.gz
Algorithm Hash digest
SHA256 efd1c0d35c92c9b3bc16aa4ec21fa091d9c1728db9ba51e10c15dd4d1d21fb18
MD5 6726b8a7ef597cb49e2fdb298113021a
BLAKE2b-256 7049bf62edce1b8e6466a4f3880e3fb1533e00cd43ccd979dca99f15fb99e546

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: nsddos-0.9.0b7-py3-none-any.whl
  • Upload date:
  • Size: 839.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.0b7-py3-none-any.whl
Algorithm Hash digest
SHA256 c23f2464b2302ec0bac9a3ccb3d46ccd895224339cc1ccdd0759024466d33935
MD5 8266f24f4fb9e1ad0d35d4b6c5720866
BLAKE2b-256 8e1e2043575f2cf327169399250b7a71312b32d1fd701284a6a40cd54506aa68

See more details on using hashes here.

Provenance

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