Bonjour à tous (et à toutes ?),
Je poste un petit script que j'ai fait et qui permet de faire des Benchmarks de serveurs Web en HTTP.
N'hésitez surtout pas à me faire des remarques dessus, je suis loin d'être expertisé en python !
Par contre, je serai très heureux de l'améliorer.
Voici le script :
Dans un pastebin : http://ift.tt/1RM6daR
Sur le forum :
L'utilisation se fait via la ligne de commande et de la manière suivante :
WebBenchmark.py http://monsite.com 80 10
Dans cet exemple, on envoie au site http://monsite.com 80 requêtes toutes les 10 secondes.
On pourra ainsi voir le temps nécessaire pour chaque requête. Il peut également être intéressant de combiner ça avec un petit htop sur la machine ciblée.
Pour stopper l'utilisation un simple CTRL+C suffit.
Petit Disclaimer:
L'utilisation de ce script peut s'apparenter à du Déni de Service, utilisez le donc uniquement sur vos machines ou avec une autorisation préalable
Je poste un petit script que j'ai fait et qui permet de faire des Benchmarks de serveurs Web en HTTP.
N'hésitez surtout pas à me faire des remarques dessus, je suis loin d'être expertisé en python !
Par contre, je serai très heureux de l'améliorer.
Voici le script :
Dans un pastebin : http://ift.tt/1RM6daR
Sur le forum :
Code:
#!/usr/bin/python
from threading import Thread
import urllib2
from Queue import *
import time
import sys
class HttpRequest(Thread):
def __init__(self,queue,name,url):
print ("Creation de la requete {}".format(name))
self.queue=queue
self.creation=time.time()
Thread.__init__(self,name=name)
def run(self):
content = urllib2.urlopen(url).read()
print("Requete {} terminee : {} secondes écoulées".format(self.getName(),(time.time()-self.creation)))
self.queue.task_done()
def usage():
print("Usage : {} URL nbReqParSeconde nbSec".format(sys.argv[0]))
sys.exit()
def atoi(chaine):
retour=0
try:
retour=int(chaine)
except:
usage()
return retour
if __name__ == '__main__':
if(len(sys.argv)==4):
nbReqParSeconde=atoi(sys.argv[2])
nbSec=atoi(sys.argv[3])
url=sys.argv[1]
queues = list()
cpt=0
try:
while(True):
q=Queue(nbReqParSeconde)
for i in range(0,nbReqParSeconde):
http=HttpRequest(q,"%d"%cpt,url)
http.start()
q.put(http)
cpt+=1
queues.append(q)
time.sleep(nbSec)
except KeyboardInterrupt:
print("Fermeture des queues")
cpt=1
for qu in queues:
print("Fermeture de la queue %d"%cpt)
q.join()
cpt+=1
else:
usage()
WebBenchmark.py http://monsite.com 80 10
Dans cet exemple, on envoie au site http://monsite.com 80 requêtes toutes les 10 secondes.
On pourra ainsi voir le temps nécessaire pour chaque requête. Il peut également être intéressant de combiner ça avec un petit htop sur la machine ciblée.
Pour stopper l'utilisation un simple CTRL+C suffit.
Petit Disclaimer:
L'utilisation de ce script peut s'apparenter à du Déni de Service, utilisez le donc uniquement sur vos machines ou avec une autorisation préalable
from Hackademics : Forum de hacking hackers white hat cours de securite informatique, apprendre langage python, tutoriels de reverse engineering http://ift.tt/1C217pp
via IFTTT
Aucun commentaire:
Enregistrer un commentaire