plugins

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Plugins = make(map[Protocol][]Plugin)

Functions

func RegisterPlugin

func RegisterPlugin(p Plugin)

This function must not be run concurrently. This function should only be run once per plugin.

Types

type FingerprintConn added in v1.0.1

type FingerprintConn struct {
	net.Conn
	// contains filtered or unexported fields
}

func Connect added in v1.0.1

func Connect(ctx context.Context, target Target, dialTimeout time.Duration) (*FingerprintConn, error)

func (*FingerprintConn) TLS added in v1.0.1

func (*FingerprintConn) Upgrade added in v1.0.1

func (c *FingerprintConn) Upgrade()

type Plugin

type Plugin interface {
	Run(*FingerprintConn, time.Duration, Target) (*Service, error)
	Name() string
	Type() Protocol
	Priority() int
	Ports() []uint16
}

type PluginID

type PluginID struct {
	// contains filtered or unexported fields
}

func CreatePluginID

func CreatePluginID(p Plugin) PluginID

func (PluginID) String

func (p PluginID) String() string

type Protocol

type Protocol uint64

Protocol type SupportedIPVersion uint64

const (
	IP Protocol = iota + 1
	UDP
	TCP
)

func (Protocol) String

func (p Protocol) String() (s string)

type Service

type Service struct {
	Host     string `json:"host,omitempty"`
	IP       string `json:"ip"`
	Port     int    `json:"port"`
	Protocol string `json:"protocol"`

	Transport string          `json:"transport"`
	SSL       *sslx.SSLInfo   `json:"ssl,omitempty"`
	Metadata  json.RawMessage `json:"metadata,omitempty"`
}

func CreateServiceFrom

func CreateServiceFrom(target Target, protocol string, metadata any, ssl *tls.ConnectionState) *Service

CreateServiceFrom initializes and returns a new Service object based on the provided Target, metadata, SSL, and transport. The Service object includes host, IP, port, protocol, transport layer, SSL settings, and raw JSON metadata.

type Target

type Target struct {
	Address   netip.AddrPort
	Host      string
	Transport Protocol
}

Target represents a network connection target that includes an address, host, and transport protocol.

func (Target) String added in v1.0.1

func (t Target) String() string

Directories

Path Synopsis
services
chromadb
ChromaDB HTTP API Fingerprinting
ChromaDB HTTP API Fingerprinting
couchdb
CouchDB HTTP API Fingerprinting
CouchDB HTTP API Fingerprinting
db2
dns
firebird
Package firebird implements Firebird SQL database server fingerprinting.
Package firebird implements Firebird SQL database server fingerprinting.
ftp
javarmi
Package javarmi provides fingerprinting for Java RMI (Remote Method Invocation) services using the JRMP (Java Remote Method Protocol) wire protocol.
Package javarmi provides fingerprinting for Java RMI (Remote Method Invocation) services using the JRMP (Java Remote Method Protocol) wire protocol.
memcached
Package memcached implements fingerprinting for Memcached distributed memory cache servers.
Package memcached implements fingerprinting for Memcached distributed memory cache servers.
ntp
rdp
smb
smpp
Package smpp implements fingerprinting for the SMPP (Short Message Peer-to-Peer) protocol.
Package smpp implements fingerprinting for the SMPP (Short Message Peer-to-Peer) protocol.
ssh
sybase
Package sybase implements fingerprinting for Sybase ASE (Adaptive Server Enterprise), now known as SAP ASE.
Package sybase implements fingerprinting for Sybase ASE (Adaptive Server Enterprise), now known as SAP ASE.
vnc

Jump to

Keyboard shortcuts

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