L'outil HULK DOS portait pour aller la langue de Python. Utilitaire Python d'origine par Barry Shteiman http://www.sectorix.com/2012/05/17/hulk-web-server-dos-tool/ Je viens de porter le code comme c'est rapide et sale. Les noms de fonctions d'origine sont maintenus et la logique originale est également maintenue.
La principale différence par rapport à la version Python posée dans l'architecture de Golang pour la concurrence: les Goroutines. Hulk.py exécute un nouveau thread pour chaque connexion dans le pool de connexion afin qu'il utilise des centaines et des milliers de threads. Hulk.go utilise simplement des goroutines légers qui n'utilisaient que des dizaines de threads (généralement le runtime de Golang a commencé un thread pour CPU Core + plusieurs threads de service). Cette architecture permet à la version Golang de mieux consommer des ressources et a obtenu un pool de connexion beaucoup plus élevé sur le même matériel que la version Python peut.
Cet outil cible pour les tests de contrainte et peut vraiment baisser le serveur mal configuré ou l'application mal fabriquée. Utilisez-le avec soin.
Exemples:
$ hulk -site http://example.com/test/ 2>/dev/null
$ HULKMAXPROCS=4096 hulk -site http://example.com 2>/tmp/errlog
Environnement utile VARS:
Plus de détails: http://old.siberian.laika.name/node/7
MISE À JOUR: Eh bien, j'ai créé cet utilitaire pour une tâche à une heure lorsque je n'ai joué qu'un peu avec Golang. Étonnamment, j'ai constaté que cet utilitaire utilisé par d'autres personnes, a obtenu des étoiles sur Github et même inclus dans Blackarch Linux Distro. J'ai donc un peu nettoyé le code.
Je pense que c'est peut-être le domaine public car il s'agit simplement d'un morceau de code simple et court, mais pour raison, je ne me souviens pas déjà que j'ai choisi GPL pour cela. Bien. Donc, Go Version de Hulk sous licence sous GPLV3. Voir la licence.
Je ne suis pas lié à un utilitaire Hulk original à Python. L'utilitaire Hulk d'origine est l'autorité de Barry Shteiman (http://sectorix.com). Il n'y a pas de références à la licence dans la source d'origine, alors elle n'est pas sous GPL. Demandez à l'auteur de l'utilitaire d'origine sur la licence.