discover

package
v0.0.65 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2025 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package discover implements network discovery functionality for finding live hosts and services.

Package discover implements network discovery functionality for finding live hosts and services.

Package discover implements network discovery functionality for finding live hosts and services.

Package discover implements network discovery functionality for finding live hosts and services.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTLSInfo

GetTLSInfo retrieves TLS configuration and certificate details for a list of target addresses. It establishes TLS connections to each target and extracts information about the TLS version, cipher suite, and certificates. Returns a report containing the TLS details and any errors encountered.

func RunDomainDiscovery added in v0.0.54

RunDomainDiscovery performs enhanced domain discovery: 1. Try LDAP/SMB to get domain name 2. DNS lookup to find all domain controllers 3. Return domain details with all DCs

func RunHostDiscovery

func RunHostDiscovery(ctx context.Context, target string, scantype discoverfern.HostScanType) (discoverfern.DiscoverHostReport, error)

RunHostDiscovery performs host discovery on the specified target using the given scan type. It returns a report containing discovered hosts and any errors encountered during the process. The target can be a single IP, hostname, or CIDR range.

func RunServiceFingerprint

RunServiceFingerprint fingerprints the service at target:port.

  1. Let fingerprintx try first.
  2. If it cannot decide, run the custom modules in order until one hits.

Types

type Fingerprinter added in v0.0.48

type Fingerprinter interface {
	Name() string
	Detect(ctx context.Context, ip net.IP, cfg discoverfern.DiscoverServiceConfig) (*discoverfern.ServiceDetails, error)
}

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

type Report

type Report struct {
	Run    nmap.Run `json:"run" yaml:"run"`
	Errors []string `json:"errors" yaml:"errors"`
}

Report contains the results of an OS fingerprinting scan, including the nmap run results and any errors encountered during the process.

func RunOsFingerprint

func RunOsFingerprint(ctx context.Context, target string) (Report, error)

RunOsFingerprint performs OS fingerprinting on the specified target using nmap. It returns a report containing the detected operating system information and any errors encountered.

Directories

Path Synopsis
plugins
service/grpc
Package grpc fingerprints gRPC services by issuing a Server-Reflection ListServices request.
Package grpc fingerprints gRPC services by issuing a Server-Reflection ListServices request.
service/kerberos
Package kerberos provides Kerberos service fingerprinting for fingerprintx
Package kerberos provides Kerberos service fingerprinting for fingerprintx

Jump to

Keyboard shortcuts

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