service

package
v0.0.107 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package service implements service fingerprinting functionality for discovering running services.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunServiceFingerprint

RunServiceFingerprint fingerprints the service at target:port.

  1. If UDP mode is enabled, scan common UDP ports on the target host.
  2. If stealth mode is enabled, use targeted fingerprinting for the specified service type.
  3. Otherwise, for TCP (port-priority system): Phase 1: Run custom fingerprinters ONLY if port matches their default ports Phase 2: Run fingerprintx (which has its own port priority) Phase 3: If nothing found, run custom fingerprinters on all ports (comprehensive fallback)

func RunStealthServiceFingerprint

func RunStealthServiceFingerprint(ctx context.Context, config discoverfern.DiscoverServiceConfig, ips []net.IP) (*discoverfern.DiscoverServiceReport, error)

RunStealthServiceFingerprint performs targeted service fingerprinting for a specific service type

Types

type Fingerprinter

type Fingerprinter interface {
	Name() string
	Detect(ctx context.Context, ip net.IP, port int, host string, timeout int) (*discoverfern.ServiceDetails, error)
	// DefaultPorts returns the list of default ports for this service
	// Empty list means the service can run on any port (no port restrictions)
	DefaultPorts() []int
}

Fingerprinter detects **one** specific application protocol (gRPC, MQTT, …). On match: (*ServiceDetails, nil) On "not mine": (nil, nil) On fatal error: (nil, err)

Directories

Path Synopsis
Package plugins provides ARD (Apple Remote Desktop) service fingerprinting
Package plugins provides ARD (Apple Remote Desktop) service fingerprinting

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL