forked from p15670423/monkey
Island: Extract method to improve readablility
This commit is contained in:
parent
c06d06edc4
commit
2aa79331e3
|
@ -38,13 +38,9 @@ class handle_ping_scan_event:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
dest_machine = self._get_destination_machine(event)
|
dest_machine = self._get_destination_machine(event)
|
||||||
self._update_destination_machine(dest_machine, event)
|
|
||||||
src_machine = self._get_source_machine(event)
|
|
||||||
|
|
||||||
# Update or create the node
|
self._update_destination_machine_os(dest_machine, event)
|
||||||
self._node_repository.upsert_communication(
|
self._update_nodes(dest_machine, event)
|
||||||
src_machine.id, dest_machine.id, CommunicationType.SCANNED
|
|
||||||
)
|
|
||||||
except (RetrievalError, StorageError, TypeError, UnknownRecordError):
|
except (RetrievalError, StorageError, TypeError, UnknownRecordError):
|
||||||
logger.exception("Unable to process ping scan data")
|
logger.exception("Unable to process ping scan data")
|
||||||
|
|
||||||
|
@ -60,11 +56,19 @@ class handle_ping_scan_event:
|
||||||
self._machine_repository.upsert_machine(machine)
|
self._machine_repository.upsert_machine(machine)
|
||||||
return machine
|
return machine
|
||||||
|
|
||||||
def _get_source_machine(self, event: PingScanEvent) -> Machine:
|
def _update_destination_machine_os(self, machine: Machine, event: PingScanEvent):
|
||||||
agent = self._agent_repository.get_agent_by_id(event.source)
|
|
||||||
return self._machine_repository.get_machine_by_id(agent.machine_id)
|
|
||||||
|
|
||||||
def _update_destination_machine(self, machine: Machine, event: PingScanEvent):
|
|
||||||
if event.os is not None and machine.operating_system is None:
|
if event.os is not None and machine.operating_system is None:
|
||||||
machine.operating_system = event.os
|
machine.operating_system = event.os
|
||||||
self._machine_repository.upsert_machine(machine)
|
self._machine_repository.upsert_machine(machine)
|
||||||
|
|
||||||
|
def _update_nodes(self, dest_machine, event):
|
||||||
|
src_machine = self._get_source_machine(event)
|
||||||
|
|
||||||
|
# Update or create the node
|
||||||
|
self._node_repository.upsert_communication(
|
||||||
|
src_machine.id, dest_machine.id, CommunicationType.SCANNED
|
||||||
|
)
|
||||||
|
|
||||||
|
def _get_source_machine(self, event: PingScanEvent) -> Machine:
|
||||||
|
agent = self._agent_repository.get_agent_by_id(event.source)
|
||||||
|
return self._machine_repository.get_machine_by_id(agent.machine_id)
|
||||||
|
|
Loading…
Reference in New Issue