usualmente para esto escribes un script que lo haga automáticamente, si tardas más de 3 segundos en responder usualmente el cliente envía otra peticion y cancela la anterior (por lo que la respuesta sería ignorada)
te recomiendo estudiar python con su librería sockets, eso si, estudia
bien el modelo osi, el protocolo tcp/ip, y el protocolo capa 4 a atacar, porque si no, quedarás en la luna
para que te hagas una idea y solo sacando un codigo que tengo a mano justo ahorita... esto valida y procesa un paquete DNS e indica cual host se solicitó (y la data)
def processQuery(data):
if (data[2] & 252) != 0: # not standard query
return data, False
if data[4] != 0 and data[5] > 1: # no accept more than single query... maybe in future
return data, False
host = ""
section = data[12] # length first piece
pointer = 1
while section > 0:
host += chr(data[12+pointer])
section -= 1
pointer += 1
if section == 0:
section = data[12+pointer]
if section != 0:
host += "."
else:
break
pointer += 1
pointer += 1
if data[12+pointer] == 0 and (data[12+pointer+1] == 1 or data[12+pointer+1] == 28): # if A or AAAA
if data[12+pointer+1] == 28:
data[12+pointer+1] = 1 # override AAAA as A
else: # if not
return data, False
pointer += 2
if data[12+pointer] != 0 or data[12+pointer+1] != 1: # if not IN
return data, False
return data, host