Source code for gatenet.service_detectors

from typing import Optional
from abc import ABC, abstractmethod

[docs] class ServiceDetector(ABC): """ Abstract base class for service detection strategies. """
[docs] @abstractmethod def detect(self, port: int, banner: str) -> Optional[str]: pass
from .banner_keyword import BannerKeywordDetector from .coap import CoAPDetector from .fallback import FallbackDetector from .ftp import FTPDetector from .generic import GenericServiceDetector from .http import HTTPDetector from .imap import IMAPDetector from .mqtt import MQTTDetector from .pop3 import POP3Detector from .port_mapping import PortMappingDetector from .sip import SIPDetector from .smtp import SMTPDetector from .ssh import SSHDetector __all__ = [ "ServiceDetector", "BannerKeywordDetector", "CoAPDetector", "FallbackDetector", "FTPDetector", "GenericServiceDetector", "HTTPDetector", "IMAPDetector", "MQTTDetector", "POP3Detector", "PortMappingDetector", "SIPDetector", "SMTPDetector", "SSHDetector", ]