Hulk DOS -Tool portiert für die Sprache von Python. Originales Python-Dienstprogramm von Barry Shteiman http://www.sectorix.com/2012/05/17/hulk-web-server-dos-tool/ Ich habe den Code gerade so portiert, wie es schnell und schmutzig ist. Originalfunktionsnamen werden aufbewahrt und die ursprüngliche Logik wird größtenteils auch aufbewahrt.
Der Hauptunterschied von der Python -Version, die in der Golang -Architektur für die Parallelität gelegt wurde: die Goroutinen. Hulk.py führt einen neuen Thread für jede Verbindung im Verbindungspool aus, sodass Hunderte und Tausende von Threads verwendet werden. Hulk.go verwendet nur leichte Goroutinen, bei denen nur Zehnfäden verwendet wurden (üblicherweise Golang -Laufzeit startete einen Thread für CPU Core + mehrere Service -Threads). Diese Architektur ermöglicht die Golang -Version besser Ressourcen und hat einen viel höheren Verbindungspool auf derselben Hardware als die Python -Version.
Dieses Tool zielt auf Stresstests ab und kann einen schlecht konfigurierten Server oder eine schlecht hergestellte App wirklich herunterfahren. Verwenden Sie es sorgfältig.
Beispiele:
$ hulk -site http://example.com/test/ 2>/dev/null
$ HULKMAXPROCS=4096 hulk -site http://example.com 2>/tmp/errlog
Nützliche Umgebung Vars:
Weitere Details: http://old.siberian.laika.name/node/7
UPDATE: Nun, ich habe dieses Dienstprogramm zu einer Zeitaufgabe erstellt, wenn ich nur ein bisschen mit Golang gespielt habe. Überraschenderweise stellte ich fest, dass dieses Dienstprogramm von anderen Menschen ein paar Sterne auf Github bekam und sogar in Blackarch Linux -Distribution aufgenommen wurde. Also habe ich Code ein wenig aufgeräumt.
Ich denke, es mag öffentlich zugänglich sein, da es einfach einfach und kurzer Code ist, aber aus Gründen, an die ich mich nicht bereits erinnere, habe ich mich für GPL dafür entschieden. Okey. GO -Version von Hulk lizenziert unter GPLV3. Siehe Lizenz.
Ich bin nicht mit dem ursprünglichen Hulk -Dienstprogramm in Python verwandt. Das ursprüngliche Hulk -Dienstprogramm ist die Autorität von Barry Shteiman (http://sectorix.com). Es gibt keine Verweise auf Lizenz in der ursprünglichen Quelle, dann steht sie nicht unter GPL. Fragen Sie den Autor des ursprünglichen Dienstprogramms nach Lizenz.