def runAttack(self, targetList):
# targetList = [{'ipaddress:':'127.0.0.1', 'port':53, 'payload':'blablabla']
for counter in range(0, self.replayCount):
for port in self.bindPorts:
requestPool = Pool(processes=self.maxProcesses)
sharedSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sharedSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sharedSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
#sharedSocket.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 64)
try:
sharedSocket.bind(('', port))
print("Sending packets from port %s" % port)
taskList = [(sharedSocket, targetParams.get('ipaddress'), targetParams.get('port'), targetParams.get('payload')) for targetParams in targetList]
results = requestPool.starmap(asyncSendPayload, taskList)
except Exception as e:
print("Failed binding port %s: %s" % (port, e))
print("Closing process pool")
requestPool.close()
print("Joining process pool")
requestPool.join()
print("Closing shared socket")
sharedSocket.close()
return True
评论列表
文章目录