
Outil de test de charge et de stress en Go avec modes L7 HTTP et L4 TCP/UDP brut, workers multi-threadés, graphique de débit en temps réel, et une interface graphique Windows ainsi qu'une CLI multiplateforme.
Outil de test de charge écrit en go. Pointez-le vers une cible, choisissez la force de frappe, observez un graphique en direct. Il s'exécute depuis une fenêtre sous Windows et depuis le terminal partout ailleurs.
Cibles autorisées uniquement. Lancez-le contre des machines que vous possédez ou pour lesquelles vous avez une autorisation écrite de test. Une charge non sollicitée contre le service de quelqu'un d'autre est un délit dans la plupart des pays et ce n'est pas ce à quoi cet outil est destiné.
Récupérez un binaire depuis la page des releases :
| plateforme | fichier |
|---|---|
| Windows | ddossnake-windows-amd64.exe — la fenêtre |
| Linux | ddossnake-linux-amd64 |
| macOS (Intel / Apple silicon) | ddossnake-darwin-amd64 / ddossnake-darwin-arm64 |
| FreeBSD / OpenBSD | ddossnake-freebsd-amd64 / ddossnake-openbsd-amd64 |
Celui pour Windows est une fenêtre native, sans console. Les autres sont le CLI — même moteur, pas de toolkit GUI.
Sous linux/mac/bsd, rendez-le d'abord exécutable :
chmod +x ddossnake-linux-amd64
./ddossnake-linux-amd64 -target http://10.0.0.5 -threads 400 -duration 30

TARGET url, ip, or ip:port e.g. 10.0.0.5:8080
REQUESTS cap for the run
MODE dos (L7 http) or ddos (multi source)
THREADS workers
DURATION seconds
FAST MODE keep-alive, no delay
LAYER 4 raw tcp/udp instead of http (ddos mode)
Start le lance, Stop le tue, le graphique suit les paquets par seconde.
ddossnake -target <url|ip|ip:port> [flags]
-target target to hit
-mode l7 (http) or l4 (raw tcp/udp) [l7]
-proto l4 protocol: tcp or udp [tcp]
-threads concurrent workers [400]
-duration seconds to run [30]
-requests request cap [1000000]
-source worker source, see -list [local]
-fast keep-alive, no delay [true]
-list list worker sources and exit
-version print version
exemples :
# http load at a box you own
ddossnake -target http://10.0.0.5 -threads 400 -duration 30
# raw udp at a game/voice port
ddossnake -target 10.0.0.5:3478 -mode l4 -proto udp -threads 200
# what pools are available
ddossnake -list
ctrl-c l'arrête. une ligne en cours affiche envoyés / erreurs / paquets / débit.
les cibles peuvent être une url (http://host:port), une ip nue, ou ip:port. l4
nécessite que le port soit explicite — il ne devinera pas 80 pour vous.
| source | ce que c'est |
|---|---|
local | les sockets de cette machine. la valeur par défaut. |
redirects | relais open-redirect intégrés, pour que les sauts proviennent d'autres IP |
ufonet | pont vers un clone local de UFONet, si vous en avez un |
vps-pool | vos propres nœuds exécutant un agent (remplissez la liste des nœuds) |
stress-api | une API de test payante pour laquelle vous détenez une clé |
local et redirects n'ont besoin de rien d'autre. Les autres servent lorsque
vous disposez de votre propre infrastructure ou d'un compte quelque part.
Nécessite go 1.21+. Pas de cgo nulle part.
git clone https://gitlab.com/vqkro/ddossnake
cd ddossnake
# cli - any platform
go build -o ddossnake ./cmd/ddossnake
# the window - windows only, walk is a native win32 toolkit
go build -o ddossnake.exe ./cmd/ddossnake-gui
La compilation croisée du cli est du go pur, sans jonglage de toolchain :
GOOS=linux GOARCH=amd64 go build -o ddossnake-linux-amd64 ./cmd/ddossnake
GOOS=freebsd GOARCH=amd64 go build -o ddossnake-freebsd-amd64 ./cmd/ddossnake
GOOS=darwin GOARCH=arm64 go build -o ddossnake-darwin-arm64 ./cmd/ddossnake
La fenêtre est par nature réservée à Windows — elle dessine avec le toolkit walk. Partout ailleurs, le CLI est l'outil, et c'est le même moteur en dessous.
cmd/ddossnake cli entry
cmd/ddossnake-gui windows window
internal/ddos the engine both of them use
go test ./...
MIT, voir LICENSE.