IoT DDoS detection and simulation framework.
Project description
NSDDOS
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
Lab Console
Topology
Documentation
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0bc9b1c7535017fda0596f11bf947e24cfbe10c0b94701943982f5f22928816
|
|
| MD5 |
3c6993bca12b78a5ba2e27a8efd7efa5
|
|
| BLAKE2b-256 |
19f8ac40e26fe3a99e015d71e41646a5dffa707f0a4a1bfec713176704ad4741
|
Provenance
The following attestation bundles were made for nsddos-0.9.0b6.tar.gz:
Publisher:
publish.yml on ns7523/nsddos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nsddos-0.9.0b6.tar.gz -
Subject digest:
e0bc9b1c7535017fda0596f11bf947e24cfbe10c0b94701943982f5f22928816 - Sigstore transparency entry: 1956465756
- Sigstore integration time:
-
Permalink:
ns7523/nsddos@eda63525d7eadb280158d9fc4445290faf9b83f5 -
Branch / Tag:
refs/tags/v0.9.0b6 - Owner: https://github.com/ns7523
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eda63525d7eadb280158d9fc4445290faf9b83f5 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24e923b8f8e473239b83570ea2819531fe5dc5fa408cd79c46d223b5aaec8ed9
|
|
| MD5 |
4c105b909cf0163d98172183a3cea477
|
|
| BLAKE2b-256 |
e8b78550d69a954a40311c44550342d547e042ca21ac717f992ae16b3c8b322f
|
Provenance
The following attestation bundles were made for nsddos-0.9.0b6-py3-none-any.whl:
Publisher:
publish.yml on ns7523/nsddos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nsddos-0.9.0b6-py3-none-any.whl -
Subject digest:
24e923b8f8e473239b83570ea2819531fe5dc5fa408cd79c46d223b5aaec8ed9 - Sigstore transparency entry: 1956465903
- Sigstore integration time:
-
Permalink:
ns7523/nsddos@eda63525d7eadb280158d9fc4445290faf9b83f5 -
Branch / Tag:
refs/tags/v0.9.0b6 - Owner: https://github.com/ns7523
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eda63525d7eadb280158d9fc4445290faf9b83f5 -
Trigger Event:
push
-
Statement type: