
HULK DoS tool ported to Go with some additional features.
HULK DoS-Tool portiert von Python nach Go. Ursprüngliches Python-Dienstprogramm von Barry Shteiman http://www.sectorix.com/2012/05/17/hulk-web-server-dos-tool/ Ich habe den Code einfach schnell und schmutzig portiert. Die ursprünglichen Funktionsnamen wurden beibehalten und die ursprüngliche Logik größtenteils ebenfalls.
Der Hauptunterschied zur Python-Version liegt in der Golang-Architektur für Nebenläufigkeit: den Goroutinen. hulk.py startet einen neuen Thread für jede Verbindung im Verbindungspool, wodurch hunderte und tausende Threads verwendet werden. hulk.go verwendet lediglich leichte Goroutinen, die nur dutzende Threads benötigen (normalerweise startet die Golang-Laufzeitumgebung einen Thread pro CPU-Kern plus einige Service-Threads). Diese Architektur ermöglicht es der Golang-Version, Ressourcen besser zu nutzen und einen viel höheren Verbindungspool auf derselben Hardware zu erreichen, als es die Python-Version kann.
Dieses Tool ist für Belastungstests gedacht und kann einen schlecht konfigurierten Server oder eine schlecht gemachte App wirklich lahmlegen. Verwenden Sie es mit Vorsicht.
Beispiele:
$ hulk -site http://example.com/test/ 2>/dev/null
$ HULKMAXPROCS=4096 hulk -site http://example.com 2>/tmp/errlog
Nützliche Umgebungsvariablen:
Weitere Details: http://old.siberian.laika.name/node/7
Update: Nun, ich habe dieses Dienstprogramm für eine einmalige Aufgabe erstellt, als ich nur ein bisschen mit Golang herumgespielt habe. Überraschenderweise habe ich festgestellt, dass dieses Dienstprogramm von anderen Leuten verwendet wird, ein paar Sterne auf GitHub bekommen hat und sogar in BlackArch Linux Distro aufgenommen wurde. Also habe ich den Code ein wenig aufgeräumt.
Ich denke, es könnte gemeinfrei sein, da es sich um ein einfaches und kurzes Stück Code handelt, aber aus einem Grund, an den ich mich nicht mehr erinnere, habe ich GPL dafür gewählt. Okay. Also, die Go-Version von HULK ist unter GPLv3 lizenziert. Siehe LICENSE.
Ich habe nichts mit dem ursprünglichen HULK-Dienstprogramm in Python zu tun. Das ursprüngliche HULK-Dienstprogramm ist Eigentum von Barry Shteiman (http://sectorix.com). Es gibt keine Verweise auf eine Lizenz im Originalquellcode, daher ist es nicht unter GPL. Fragen Sie den Autor des ursprünglichen Dienstprogramms nach der Lizenz.