def zmap_scan_order(self, order_uuid=None):
"""
Perform Zmap scans for all necessary ports for the given order.
:param order_uuid: The UUID of the order to scan.
:return: None
"""
port_tuples = get_ports_to_scan_for_scan_config(
config_uuid=self.scan_config.uuid,
db_session=self.db_session,
)
logger.info(
"Now scanning order %s for %s total ports."
% (order_uuid, len(port_tuples))
)
task_signatures = []
scan_signatures = []
network_scan = create_network_scan_for_organization(
db_session=self.db_session,
org_uuid=self.org_uuid,
)
self.commit_session()
for port, protocol in port_tuples:
scan_signatures.append(zmap_scan_order_for_port.si(
port=port,
protocol=protocol,
order_uuid=order_uuid,
network_scan_uuid=network_scan.uuid,
))
task_signatures.append(group(scan_signatures))
task_signatures.append(update_zmap_scan_completed.si(
scan_uuid=network_scan.uuid,
org_uuid=self.org_uuid,
order_uuid=order_uuid,
))
logger.info("Kicking off Zmap subtasks now.")
canvas_sig = chain(task_signatures)
canvas_sig.apply_async()
#USED
评论列表
文章目录