forked from p15670423/monkey
Agent: Convert PingScanData to dataclass
This commit is contained in:
parent
6f095eb0c1
commit
dd5b796bfe
|
@ -5,6 +5,7 @@ from dataclasses import dataclass
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Dict, Iterable, Mapping, Optional, Sequence
|
from typing import Dict, Iterable, Mapping, Optional, Sequence
|
||||||
|
|
||||||
|
from common import OperatingSystem
|
||||||
from common.credentials import Credentials
|
from common.credentials import Credentials
|
||||||
from infection_monkey.model import VictimHost
|
from infection_monkey.model import VictimHost
|
||||||
|
|
||||||
|
@ -31,7 +32,12 @@ class ExploiterResultData:
|
||||||
error_message: str = ""
|
error_message: str = ""
|
||||||
|
|
||||||
|
|
||||||
PingScanData = namedtuple("PingScanData", ["response_received", "os"])
|
@dataclass
|
||||||
|
class PingScanData:
|
||||||
|
response_received: bool
|
||||||
|
os: Optional[OperatingSystem]
|
||||||
|
|
||||||
|
|
||||||
PortScanData = namedtuple("PortScanData", ["port", "status", "banner", "service"])
|
PortScanData = namedtuple("PortScanData", ["port", "status", "banner", "service"])
|
||||||
FingerprintData = namedtuple("FingerprintData", ["os_type", "os_version", "services"])
|
FingerprintData = namedtuple("FingerprintData", ["os_type", "os_version", "services"])
|
||||||
PostBreachData = namedtuple("PostBreachData", ["display_name", "command", "result"])
|
PostBreachData = namedtuple("PostBreachData", ["display_name", "command", "result"])
|
||||||
|
|
|
@ -78,11 +78,8 @@ def _process_ping_command_output(ping_command_output: str) -> PingScanData:
|
||||||
# match at all if the group isn't found or the contents of the group are not only digits.
|
# match at all if the group isn't found or the contents of the group are not only digits.
|
||||||
ttl = int(ttl_match.group(1))
|
ttl = int(ttl_match.group(1))
|
||||||
|
|
||||||
operating_system = None
|
# could also be OSX/BSD, but lets handle that when it comes up.
|
||||||
if ttl <= LINUX_TTL:
|
operating_system = OperatingSystem.LINUX if ttl <= LINUX_TTL else OperatingSystem.WINDOWS
|
||||||
operating_system = OperatingSystem.LINUX
|
|
||||||
else: # as far we we know, could also be OSX/BSD, but lets handle that when it comes up.
|
|
||||||
operating_system = OperatingSystem.WINDOWS
|
|
||||||
|
|
||||||
return PingScanData(True, operating_system)
|
return PingScanData(True, operating_system)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue