Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterPlugin(p Plugin)
- func TLSVersionName(version uint16) string
- type Metadata
- type NetbiosEntry
- type Plugin
- type PluginID
- type Protocol
- type RPCB
- type SecurityFinding
- type Service
- type ServiceAJP
- type ServiceAMQP
- type ServiceATG
- type ServiceActiveMQOpenWire
- type ServiceAnyDesk
- type ServiceBACnet
- type ServiceBGP
- type ServiceCODESYS
- type ServiceCUPS
- type ServiceCassandra
- type ServiceChromaDB
- type ServiceCitrixICA
- type ServiceCoAP
- type ServiceCouchDB
- type ServiceCrimsonV3
- type ServiceDB2
- type ServiceDHCP
- type ServiceDNP3
- type ServiceDNS
- type ServiceDiameter
- type ServiceDocker
- type ServiceEcho
- type ServiceElasticsearch
- type ServiceEtcd
- type ServiceEtherCAT
- type ServiceEthernetIP
- type ServiceFTP
- type ServiceFirebird
- type ServiceFox
- type ServiceGESRTP
- type ServiceGRPC
- type ServiceGTPC
- type ServiceGTPPrime
- type ServiceGTPU
- type ServiceGit
- type ServiceH323
- type ServiceHARTIP
- type ServiceHTTP
- type ServiceHTTPS
- type ServiceIAX2
- type ServiceIEC104
- type ServiceIKEv2
- type ServiceIMAP
- type ServiceIMAPS
- type ServiceIPMI
- type ServiceIPP
- type ServiceIPSEC
- type ServiceIRC
- type ServiceIRCS
- type ServiceIUA
- type ServiceInfluxDB
- type ServiceJDWP
- type ServiceJetDirect
- type ServiceKNXIP
- type ServiceKafka
- type ServiceKerberos
- type ServiceKubernetes
- type ServiceL2TP
- type ServiceLDAP
- type ServiceLDAPS
- type ServiceLibreChat
- type ServiceLwM2M
- type ServiceM2UA
- type ServiceM3UA
- type ServiceMGCP
- type ServiceMQTT
- type ServiceMSRPC
- type ServiceMSSQL
- type ServiceMegaco
- type ServiceMelsecQ
- type ServiceMemcached
- type ServiceMikroTikWinbox
- type ServiceMilvus
- type ServiceMilvusMetrics
- type ServiceModbus
- type ServiceMongoDB
- type ServiceMySQL
- type ServiceMySQLX
- type ServiceNATS
- type ServiceNFS
- type ServiceNRPE
- type ServiceNTP
- type ServiceNeo4j
- type ServiceNetbios
- type ServiceOMRONFINS
- type ServiceOPCUA
- type ServiceOpenVPN
- type ServiceOpenVPNManagement
- type ServiceOracle
- type ServicePCOM
- type ServicePCWorx
- type ServicePFCP
- type ServicePOP3
- type ServicePOP3S
- type ServicePPTP
- type ServicePROFINET
- type ServicePinecone
- type ServicePostgreSQL
- type ServiceProConOS
- type ServicePulsar
- type ServicePulsarAdmin
- type ServiceQUIC
- type ServiceQdrant
- type ServiceRDP
- type ServiceRDPEUDP
- type ServiceRMI
- type ServiceRPC
- type ServiceRTMP
- type ServiceRedis
- type ServiceRsync
- type ServiceRtsp
- type ServiceS7comm
- type ServiceSCCP
- type ServiceSGsAP
- type ServiceSIP
- type ServiceSIPS
- type ServiceSMB
- type ServiceSMBUDP
- type ServiceSMPP
- type ServiceSMTP
- type ServiceSMTPS
- type ServiceSNMP
- type ServiceSNPP
- type ServiceSOCKS4
- type ServiceSOCKS5
- type ServiceSSH
- type ServiceSSTP
- type ServiceSUA
- type ServiceSVN
- type ServiceSmartInstall
- type ServiceSonarQube
- type ServiceStun
- type ServiceSybase
- type ServiceTFTP
- type ServiceTURN
- type ServiceTeamViewer
- type ServiceTelnet
- type ServiceUnknown
- type ServiceVMware
- type ServiceVNC
- type ServiceWireGuard
- type ServiceX2AP
- type ServiceX11
- type ServiceXMPP
- type ServiceZabbixAgent
- type ServiceZooKeeper
- type Severity
- type Target
Constants ¶
const ( ProtoActiveMQOpenWire = "activemq-openwire" ProtoAJP = "ajp" ProtoATG = "atg" ProtoAMQP = "amqp" ProtoAnyDesk = "anydesk" ProtoBACnet = "bacnet" ProtoBGP = "bgp" ProtoCassandra = "cassandra" ProtoChromaDB = "chromadb" ProtoCitrixICA = "citrix-ica" ProtoCoAP = "coap" ProtoCODESYS = "codesys" ProtoCrimsonV3 = "crimsonv3" ProtoCUPS = "cups" ProtoCouchDB = "couchdb" ProtoDB2 = "db2" ProtoDHCP = "dhcp" ProtoDiameter = "diameter" ProtoDNP3 = "dnp3" ProtoDNS = "dns" ProtoDocker = "docker" ProtoEcho = "echo" ProtoEtherCAT = "ethercat" ProtoElasticsearch = "elasticsearch" ProtoEtcd = "etcd" ProtoEthernetIP = "ethernetip" ProtoFirebird = "firebird" ProtoFox = "fox" ProtoFTP = "ftp" ProtoGESRTP = "gesrtp" ProtoGit = "git" ProtoGTPC = "gtpc" ProtoGTPPrime = "gtpprime" ProtoGRPC = "grpc" ProtoGTPU = "gtpu" ProtoH323 = "h323" ProtoHARTIP = "hartip" ProtoIAX2 = "iax2" ProtoHTTP = "http" ProtoHTTP2 = "http2" ProtoHTTPS = "https" ProtoIEC104 = "iec104" ProtoIKEv2 = "ikev2" ProtoIMAP = "imap" ProtoIMAPS = "imaps" ProtoIRC = "irc" ProtoIRCS = "ircs" ProtoInfluxDB = "influxdb" ProtoIPMI = "ipmi" ProtoIPP = "ipp" ProtoIPSEC = "ipsec" ProtoIUA = "iua" ProtoJetDirect = "jetdirect" ProtoJDWP = "jdwp" ProtoKafka = "kafka" ProtoKerberos = "kerberos" ProtoKNXIP = "knxip" ProtoKubernetes = "kubernetes" ProtoL2TP = "l2tp" ProtoLDAP = "ldap" ProtoLDAPS = "ldaps" ProtoLibreChat = "librechat" ProtoLwM2M = "lwm2m" ProtoM2UA = "m2ua" ProtoM3UA = "m3ua" ProtoMegaco = "megaco" ProtoMGCP = "mgcp" ProtoMemcached = "memcached" ProtoMelsecQ = "melsec-q" ProtoMikroTikWinbox = "mikrotik-winbox" ProtoMilvus = "milvus" ProtoMilvusMetrics = "milvus-metrics" ProtoModbus = "modbus" ProtoMongoDB = "mongodb" ProtoMQTT = "mqtt" ProtoMSRPC = "msrpc" ProtoMSSQL = "mssql" ProtoMySQL = "mysql" ProtoMySQLX = "mysqlx" ProtoNATS = "nats" ProtoNeo4j = "neo4j" ProtoNRPE = "nrpe" ProtoNetbios = "netbios" ProtoNFS = "nfs" ProtoNTP = "ntp" ProtoOMRONFINS = "omron-fins" ProtoOPCUA = "opcua" ProtoOpenVPN = "openvpn" ProtoOpenVPNManagement = "openvpn-management" ProtoOracle = "oracle" ProtoPCOM = "pcom" ProtoPFCP = "pfcp" ProtoPinecone = "pinecone" ProtoPCWorx = "pcworx" ProtoPOP3 = "pop3" ProtoPOP3S = "pop3s" ProtoPPTP = "pptp" ProtoPostgreSQL = "postgresql" ProtoProConOS = "proconos" ProtoPROFINET = "profinet" ProtoPulsar = "pulsar" ProtoPulsarAdmin = "pulsar-admin" ProtoQdrant = "qdrant" ProtoQUIC = "quic" ProtoRDP = "rdp" ProtoRDPEUDP = "rdpeudp" ProtoRedis = "redis" ProtoRedisTLS = "redis" ProtoRMI = "java-rmi" ProtoRPC = "rpc" ProtoRsync = "rsync" ProtoRTMP = "rtmp" ProtoRtsp = "rtsp" ProtoS7comm = "s7comm" ProtoSmartInstall = "smart-install" ProtoSAPNetWeaver = "sap-netweaver" ProtoSCCP = "sccp" ProtoSGsAP = "sgsap" ProtoSIP = "sip" ProtoSIPS = "sips" ProtoSOCKS4 = "socks4" ProtoSOCKS5 = "socks5" ProtoSMB = "smb" ProtoSMBUDP = "smbudp" ProtoSMPP = "smpp" ProtoSMTP = "smtp" ProtoSMTPS = "smtps" ProtoSNMP = "snmp" ProtoSNPP = "snpp" ProtoSonarQube = "sonarqube" ProtoSSH = "ssh" ProtoSSTP = "sstp" ProtoStun = "stun" ProtoSUA = "sua" ProtoSVN = "svn" ProtoSybase = "sybase" ProtoTeamViewer = "teamviewer" ProtoTelnet = "telnet" ProtoTFTP = "tftp" ProtoTURN = "turn" ProtoVNC = "vnc" ProtoVMwareESXi = "vmware-esxi" ProtoVMwareVCenter = "vmware-vcenter" ProtoVMwareVSphere = "vmware-vsphere" ProtoWireGuard = "wireguard" ProtoXMPP = "xmpp" ProtoX11 = "x11" ProtoX2AP = "x2ap" ProtoZabbixAgent = "zabbix-agent" ProtoZooKeeper = "zookeeper" ProtoUnknown = "unknown" )
const TypeService string = "service"
Variables ¶
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.
func TLSVersionName ¶ added in v1.13.0
TLSVersionName returns a human-readable label for a TLS version constant. Exported because HTTP's http.go uses it too.
Types ¶
type NetbiosEntry ¶ added in v1.25.2
type PluginID ¶
type PluginID struct {
// contains filtered or unexported fields
}
Used as a key for maps to plugins. i.e.: map[Service] Plugin
func CreatePluginID ¶
type SecurityFinding ¶ added in v1.2.0
type SecurityFinding struct {
ID string `json:"id"`
Severity Severity `json:"severity"`
Description string `json:"description"`
Evidence string `json:"evidence,omitempty"`
}
SecurityFinding represents a security misconfiguration detected during fingerprinting. Evidence should contain observable protocol-level data (e.g., banner text, response codes, negotiated parameters). Do not include credentials, tokens, or other secrets.
func CheckTLS ¶ added in v1.13.0
func CheckTLS(conn net.Conn) []SecurityFinding
CheckTLS inspects the TLS connection state and returns security findings for weak versions, expired certificates, self-signed certificates, and weak keys. Returns nil if conn is not a *tls.Conn or no issues are found.
type Service ¶
type Service struct {
Host string `json:"host,omitempty"`
IP string `json:"ip"`
Port int `json:"port"`
Protocol string `json:"protocol"`
TLS bool `json:"tls"`
Transport string `json:"transport"`
Version string `json:"version,omitempty"`
Raw json.RawMessage `json:"metadata"`
// AnonymousAccess is the canonical top-level field for anonymous access detection.
// Per-service metadata types (e.g., ServiceSOCKS5) may also have their own AnonymousAccess
// field for protocol-specific context; the Service-level field is authoritative for reporting.
AnonymousAccess bool `json:"anonymous_access,omitempty"`
SecurityFindings []SecurityFinding `json:"security_findings,omitempty"`
}
func CreateServiceFrom ¶
type ServiceAJP ¶ added in v1.4.0
type ServiceAJP struct {
ProtocolVersion string `json:"protocol_version,omitempty"` // AJP wire protocol, e.g. "1.3" (AJPv13)
CPingEnabled bool `json:"cping_enabled,omitempty"` // true when CPong was received
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceAJP) Type ¶ added in v1.4.0
func (e ServiceAJP) Type() string
type ServiceAMQP ¶
type ServiceAMQP struct {
Product string `json:"product,omitempty"` // e.g., "RabbitMQ"
Version string `json:"version,omitempty"` // e.g., "3.12.0"
Platform string `json:"platform,omitempty"` // e.g., "Erlang/OTP 26.0"
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceAMQP) Type ¶
func (e ServiceAMQP) Type() string
type ServiceATG ¶
type ServiceATG struct {
StationName string `json:"station_name,omitempty"`
TankCount int `json:"tank_count,omitempty"`
Products []string `json:"products,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceATG) Type ¶
func (e ServiceATG) Type() string
type ServiceActiveMQOpenWire ¶
type ServiceActiveMQOpenWire struct {
Version int `json:"version,omitempty"` // OpenWire protocol version (1-12)
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceActiveMQOpenWire) Type ¶
func (e ServiceActiveMQOpenWire) Type() string
type ServiceAnyDesk ¶ added in v1.2.0
type ServiceAnyDesk struct {
CertSubject string `json:"certSubject,omitempty"`
SelfSigned bool `json:"selfSigned"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceAnyDesk) Type ¶ added in v1.2.0
func (e ServiceAnyDesk) Type() string
type ServiceBACnet ¶
type ServiceBACnet struct {
DeviceInstance uint32 `json:"device_instance"`
VendorID uint16 `json:"vendor_id"`
VendorName string `json:"vendor_name"`
MaxAPDU uint16 `json:"max_apdu,omitempty"`
Segmentation string `json:"segmentation,omitempty"`
ModelName string `json:"model_name,omitempty"`
FirmwareRev string `json:"firmware_revision,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceBACnet) Type ¶
func (e ServiceBACnet) Type() string
type ServiceBGP ¶
func (ServiceBGP) Type ¶
func (e ServiceBGP) Type() string
type ServiceCODESYS ¶
type ServiceCODESYS struct {
Version string `json:"version,omitempty"`
DeviceName string `json:"device_name,omitempty"`
VendorName string `json:"vendor_name,omitempty"`
OSType string `json:"os_type,omitempty"`
OSName string `json:"os_name,omitempty"`
AuthEnabled bool `json:"auth_enabled,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceCODESYS) Type ¶
func (e ServiceCODESYS) Type() string
type ServiceCUPS ¶
type ServiceCUPS struct {
ServerHeader string `json:"server_header,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceCUPS) Type ¶
func (e ServiceCUPS) Type() string
type ServiceCassandra ¶
type ServiceCassandra struct {
Product string `json:"product,omitempty"` // "Apache Cassandra", "ScyllaDB", "DataStax Enterprise"
CQLVersion string `json:"cql_version,omitempty"` // CQL version from SUPPORTED response (e.g., "3.4.5")
ProtocolVersions []string `json:"protocol_versions,omitempty"` // Native protocol versions (e.g., ["3/v3", "4/v4", "5/v5"])
Compression []string `json:"compression,omitempty"` // Compression algorithms (e.g., ["lz4", "snappy", "zstd"])
Confidence string `json:"confidence,omitempty"` // Version detection confidence ("high", "medium", "low")
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceCassandra) Type ¶
func (e ServiceCassandra) Type() string
type ServiceChromaDB ¶
type ServiceChromaDB struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceChromaDB) Type ¶
func (e ServiceChromaDB) Type() string
type ServiceCitrixICA ¶ added in v1.2.0
type ServiceCitrixICA struct {
BannerMatch bool `json:"banner_match"` // true if double ICA signature matched (high confidence)
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceCitrixICA) Type ¶ added in v1.2.0
func (e ServiceCitrixICA) Type() string
type ServiceCoAP ¶ added in v1.2.0
type ServiceCoAP struct {
Resources string `json:"resources,omitempty"`
}
func (ServiceCoAP) Type ¶ added in v1.2.0
func (e ServiceCoAP) Type() string
type ServiceCouchDB ¶
type ServiceCouchDB struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceCouchDB) Type ¶
func (e ServiceCouchDB) Type() string
type ServiceCrimsonV3 ¶
type ServiceCrimsonV3 struct {
Manufacturer string `json:"manufacturer,omitempty"`
Model string `json:"model,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceCrimsonV3) Type ¶
func (e ServiceCrimsonV3) Type() string
type ServiceDB2 ¶
type ServiceDB2 struct {
ServerName string `json:"server_name,omitempty"` // DB2 instance name
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceDB2) Type ¶
func (e ServiceDB2) Type() string
type ServiceDHCP ¶
type ServiceDHCP struct {
Option string `json:"option"`
}
func (ServiceDHCP) Type ¶
func (e ServiceDHCP) Type() string
type ServiceDNP3 ¶
type ServiceDNP3 struct {
SourceAddress uint16 `json:"source_address,omitempty"` // DNP3 source address
DestinationAddress uint16 `json:"destination_address,omitempty"` // DNP3 destination address
DeviceRole string `json:"device_role,omitempty"` // "master" or "outstation"
FunctionCode uint8 `json:"function_code,omitempty"` // Function code used in detection
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers
}
func (ServiceDNP3) Type ¶
func (e ServiceDNP3) Type() string
type ServiceDNS ¶
type ServiceDNS struct{}
func (ServiceDNS) Type ¶
func (e ServiceDNS) Type() string
type ServiceDiameter ¶
type ServiceDiameter struct {
CPEs []string `json:"cpes,omitempty"`
Version string `json:"version,omitempty"`
Vendor string `json:"vendor,omitempty"`
Product string `json:"product,omitempty"`
}
func (ServiceDiameter) Type ¶
func (e ServiceDiameter) Type() string
type ServiceDocker ¶
type ServiceDocker struct {
ApiVersion string `json:"api_version,omitempty"` // Docker API version (e.g., "1.43")
Os string `json:"os,omitempty"` // Operating system (e.g., "linux")
Arch string `json:"arch,omitempty"` // Architecture (e.g., "amd64")
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers
}
func (ServiceDocker) Type ¶
func (e ServiceDocker) Type() string
type ServiceEcho ¶
type ServiceEcho struct{}
func (ServiceEcho) Type ¶
func (e ServiceEcho) Type() string
type ServiceElasticsearch ¶
type ServiceElasticsearch struct {
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers for vulnerability tracking
}
func (ServiceElasticsearch) Type ¶
func (e ServiceElasticsearch) Type() string
type ServiceEtcd ¶
type ServiceEtcd struct {
CPEs []string `json:"cpes,omitempty"`
ClusterVersion string `json:"cluster_version,omitempty"`
PortType string `json:"port_type,omitempty"` // "client" or "peer"
}
func (ServiceEtcd) Type ¶
func (e ServiceEtcd) Type() string
type ServiceEtherCAT ¶
type ServiceEtherCAT struct {
WorkingCounter uint16 `json:"working_counter"` // Number of slaves that processed the request
DatagramCount int `json:"datagram_count"` // Number of datagrams in response
}
func (ServiceEtherCAT) Type ¶
func (e ServiceEtherCAT) Type() string
type ServiceEthernetIP ¶
type ServiceEthernetIP struct {
VendorID uint16 `json:"vendor_id,omitempty"`
VendorName string `json:"vendor_name,omitempty"`
DeviceType uint16 `json:"device_type,omitempty"`
ProductCode uint16 `json:"product_code,omitempty"`
Revision string `json:"revision,omitempty"`
Serial string `json:"serial,omitempty"`
ProductName string `json:"product_name,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceEthernetIP) Type ¶
func (e ServiceEthernetIP) Type() string
type ServiceFTP ¶
type ServiceFTP struct {
Banner string `json:"banner"`
Confidence string `json:"confidence,omitempty"` // Detection confidence: "high", "medium", or "low"
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceFTP) Type ¶
func (e ServiceFTP) Type() string
type ServiceFirebird ¶
type ServiceFirebird struct {
ProtocolVersion int32 `json:"protocol_version,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceFirebird) Type ¶
func (e ServiceFirebird) Type() string
type ServiceFox ¶
type ServiceFox struct {
Version string `json:"version,omitempty"` // Fox protocol version
HostName string `json:"host_name,omitempty"` // Device hostname
HostAddress string `json:"host_address,omitempty"` // Device IP address
AppName string `json:"app_name,omitempty"` // Application name
AppVersion string `json:"app_version,omitempty"` // Application version
VMName string `json:"vm_name,omitempty"` // Virtual machine name
VMVersion string `json:"vm_version,omitempty"` // VM version
OSName string `json:"os_name,omitempty"` // Operating system name
StationName string `json:"station_name,omitempty"` // Station name
BrandId string `json:"brand_id,omitempty"` // Brand identifier
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers for vulnerability tracking
}
func (ServiceFox) Type ¶
func (e ServiceFox) Type() string
type ServiceGESRTP ¶
type ServiceGESRTP struct {
PLCName string `json:"plc_name,omitempty"`
DeviceIndicator uint8 `json:"device_indicator,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceGESRTP) Type ¶
func (e ServiceGESRTP) Type() string
type ServiceGRPC ¶ added in v1.4.1
type ServiceGRPC struct {
ReflectionEnabled bool `json:"reflection_enabled"`
Services []string `json:"services,omitempty"`
HealthStatus string `json:"health_status,omitempty"`
}
func (ServiceGRPC) Type ¶ added in v1.4.1
func (e ServiceGRPC) Type() string
type ServiceGTPC ¶
type ServiceGTPC struct {
Version string `json:"version"` // "GTPv1" or "GTPv2"
}
func (ServiceGTPC) Type ¶
func (e ServiceGTPC) Type() string
type ServiceGTPPrime ¶
type ServiceGTPPrime struct{}
func (ServiceGTPPrime) Type ¶
func (e ServiceGTPPrime) Type() string
type ServiceGTPU ¶
type ServiceGTPU struct{}
func (ServiceGTPU) Type ¶
func (e ServiceGTPU) Type() string
type ServiceGit ¶ added in v1.1.0
type ServiceGit struct {
ProtocolVersion int `json:"protocol_version,omitempty"` // 0=implicit, 1=explicit v1, 2=v2
HeadRef string `json:"head_ref,omitempty"` // SHA-1 hash of HEAD
Branches []string `json:"branches,omitempty"` // Branch names (without refs/heads/ prefix)
Tags []string `json:"tags,omitempty"` // Tag names (without refs/tags/ prefix)
Capabilities []string `json:"capabilities,omitempty"` // Server capabilities from ref advertisement
}
ServiceGit contains metadata extracted from a Git daemon ref advertisement.
func (ServiceGit) Type ¶ added in v1.1.0
func (e ServiceGit) Type() string
type ServiceH323 ¶
type ServiceH323 struct {
VendorID string `json:"vendor_id,omitempty"`
ProductName string `json:"product_name,omitempty"`
Version string `json:"version,omitempty"`
TerminalType string `json:"terminal_type,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceH323) Type ¶
func (e ServiceH323) Type() string
type ServiceHARTIP ¶
type ServiceHARTIP struct {
Version uint8 `json:"version"` // HART-IP protocol version (0x01)
MessageType uint8 `json:"message_type"` // Message type (0x01=Response, 0x03=Error, 0x0F=NAK)
Status uint8 `json:"status"` // Status code
StatusDesc string `json:"status_desc"` // Status description (Success/Error/NAK)
TransactionID uint16 `json:"transaction_id"` // Transaction ID echoed from request
}
func (ServiceHARTIP) Type ¶
func (e ServiceHARTIP) Type() string
type ServiceHTTP ¶
type ServiceHTTP struct {
Status string `json:"status"` // e.g. "200 OK"
StatusCode int `json:"status_code"` // e.g. 200
Title string `json:"title,omitempty"`
ResponseHeaders http.Header `json:"response_headers"`
Technologies []string `json:"technologies,omitempty"`
CPEs []string `json:"cpes,omitempty"`
FingerprintMetadata map[string]map[string]any `json:"fingerprint_metadata,omitempty"`
}
func (ServiceHTTP) Type ¶
func (e ServiceHTTP) Type() string
type ServiceHTTPS ¶
type ServiceHTTPS struct {
Status string `json:"status"` // e.g. "200 OK"
StatusCode int `json:"status_code"` // e.g. 200
Title string `json:"title,omitempty"`
ResponseHeaders http.Header `json:"response_headers"`
Technologies []string `json:"technologies,omitempty"`
CPEs []string `json:"cpes,omitempty"`
FingerprintMetadata map[string]map[string]any `json:"fingerprint_metadata,omitempty"`
}
func (ServiceHTTPS) Type ¶
func (e ServiceHTTPS) Type() string
type ServiceIAX2 ¶
type ServiceIAX2 struct {
Detected bool `json:"detected"`
}
func (ServiceIAX2) Type ¶
func (e ServiceIAX2) Type() string
type ServiceIEC104 ¶
type ServiceIEC104 struct{}
func (ServiceIEC104) Type ¶
func (e ServiceIEC104) Type() string
type ServiceIKEv2 ¶
type ServiceIKEv2 struct {
ResponderSPI string `json:"responder_spi"`
MessageID string `json:"message_id"`
Vendor string `json:"vendor,omitempty"`
}
func (ServiceIKEv2) Type ¶
func (e ServiceIKEv2) Type() string
type ServiceIMAP ¶
type ServiceIMAP struct {
Banner string `json:"banner"`
}
func (ServiceIMAP) Type ¶
func (e ServiceIMAP) Type() string
type ServiceIMAPS ¶
type ServiceIMAPS struct {
Banner string `json:"banner"`
}
func (ServiceIMAPS) Type ¶
func (e ServiceIMAPS) Type() string
type ServiceIPMI ¶
type ServiceIPMI struct {
AuthTypes []string `json:"auth_types,omitempty"`
AnonymousLogin bool `json:"anonymous_login,omitempty"`
IPMIv2 bool `json:"ipmi_v2,omitempty"`
CipherZero bool `json:"cipher_zero,omitempty"`
}
func (ServiceIPMI) Type ¶
func (e ServiceIPMI) Type() string
type ServiceIPP ¶
type ServiceIPP struct {
PrinterMakeAndModel string `json:"printer_make_and_model,omitempty"`
FirmwareVersion string `json:"firmware_version,omitempty"`
PrinterState string `json:"printer_state,omitempty"`
IPPVersions []string `json:"ipp_versions,omitempty"`
PrinterName string `json:"printer_name,omitempty"`
PrinterURI string `json:"printer_uri,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceIPP) Type ¶
func (e ServiceIPP) Type() string
type ServiceIPSEC ¶
type ServiceIPSEC struct {
ResponderISP string `json:"responder_isp"`
MessageID string `json:"message_id"`
}
func (ServiceIPSEC) Type ¶
func (e ServiceIPSEC) Type() string
type ServiceIRC ¶ added in v1.1.0
type ServiceIRC struct {
ServerName string `json:"server_name,omitempty"`
NetworkName string `json:"network_name,omitempty"`
Version string `json:"version,omitempty"`
ServerSoftware string `json:"server_software,omitempty"`
CreatedDate string `json:"created_date,omitempty"`
UserModes string `json:"user_modes,omitempty"`
ChannelModes string `json:"channel_modes,omitempty"`
UserCount int `json:"user_count,omitempty"`
ChannelCount int `json:"channel_count,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceIRC) Type ¶ added in v1.1.0
func (e ServiceIRC) Type() string
type ServiceIRCS ¶ added in v1.1.0
type ServiceIRCS struct {
ServerName string `json:"server_name,omitempty"`
NetworkName string `json:"network_name,omitempty"`
Version string `json:"version,omitempty"`
ServerSoftware string `json:"server_software,omitempty"`
CreatedDate string `json:"created_date,omitempty"`
UserModes string `json:"user_modes,omitempty"`
ChannelModes string `json:"channel_modes,omitempty"`
UserCount int `json:"user_count,omitempty"`
ChannelCount int `json:"channel_count,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceIRCS) Type ¶ added in v1.1.0
func (e ServiceIRCS) Type() string
type ServiceIUA ¶
type ServiceIUA struct {
InfoString string `json:"info_string,omitempty"`
ErrorCode uint32 `json:"error_code,omitempty"`
MessageClass uint8 `json:"message_class,omitempty"`
MessageType uint8 `json:"message_type,omitempty"`
}
func (ServiceIUA) Type ¶
func (e ServiceIUA) Type() string
type ServiceInfluxDB ¶
type ServiceInfluxDB struct {
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers for vulnerability tracking
}
func (ServiceInfluxDB) Type ¶
func (e ServiceInfluxDB) Type() string
type ServiceJDWP ¶
type ServiceJDWP struct {
Description string `json:"description"`
JdwpMajor int32 `json:"jdwp_major"`
JdwpMinor int32 `json:"jdwp_minor"`
VMVersion string `json:"vm_version"`
VMName string `json:"vm_name"`
}
func (ServiceJDWP) Type ¶
func (e ServiceJDWP) Type() string
type ServiceJetDirect ¶
type ServiceJetDirect struct {
Manufacturer string `json:"manufacturer,omitempty"`
Model string `json:"model,omitempty"`
Firmware string `json:"firmware,omitempty"`
RawID string `json:"raw_id"`
Status string `json:"status,omitempty"`
FilesystemAccess bool `json:"filesystem_access,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceJetDirect) Type ¶
func (e ServiceJetDirect) Type() string
type ServiceKNXIP ¶
type ServiceKNXIP struct {
DeviceName string `json:"device_name"` // Friendly name (30 chars max)
KNXAddress string `json:"knx_address"` // Individual address "area.line.device"
SerialNumber string `json:"serial_number"` // 6-byte hex string
MACAddress string `json:"mac_address"` // XX:XX:XX:XX:XX:XX
KNXMedium string `json:"knx_medium,omitempty"` // "TP1", "PL110", "RF", "IP"
ServiceFamilies []string `json:"service_families,omitempty"` // ["Core", "Tunnelling", "Routing"]
}
func (ServiceKNXIP) Type ¶
func (e ServiceKNXIP) Type() string
type ServiceKafka ¶
type ServiceKafka struct{}
func (ServiceKafka) Type ¶
func (e ServiceKafka) Type() string
type ServiceKerberos ¶
type ServiceKerberos struct {
Realm string `json:"realm,omitempty"`
ErrorCode int `json:"error_code,omitempty"`
ErrorText string `json:"error_text,omitempty"`
}
func (ServiceKerberos) Type ¶
func (e ServiceKerberos) Type() string
type ServiceKubernetes ¶
type ServiceKubernetes struct {
CPEs []string `json:"cpes,omitempty"`
GitVersion string `json:"git_version,omitempty"`
GitCommit string `json:"git_commit,omitempty"`
BuildDate string `json:"build_date,omitempty"`
GoVersion string `json:"go_version,omitempty"`
Platform string `json:"platform,omitempty"`
Distribution string `json:"distribution,omitempty"` // k3s, gke, eks, aks, openshift, minikube, vanilla
Vendor string `json:"vendor,omitempty"` // kubernetes, rancher, google, aws, azure, redhat
}
func (ServiceKubernetes) Type ¶
func (e ServiceKubernetes) Type() string
type ServiceL2TP ¶
type ServiceL2TP struct {
ProtocolVersion string `json:"protocol_version,omitempty"`
HostName string `json:"host_name,omitempty"`
VendorName string `json:"vendor_name,omitempty"`
FirmwareRevision uint16 `json:"firmware_revision,omitempty"`
AssignedTunnelID uint16 `json:"assigned_tunnel_id,omitempty"`
FramingCaps uint32 `json:"framing_caps,omitempty"`
BearerCaps uint32 `json:"bearer_caps,omitempty"`
}
func (ServiceL2TP) Type ¶
func (e ServiceL2TP) Type() string
type ServiceLDAP ¶
type ServiceLDAP struct{}
func (ServiceLDAP) Type ¶
func (e ServiceLDAP) Type() string
type ServiceLDAPS ¶
type ServiceLDAPS struct{}
func (ServiceLDAPS) Type ¶
func (e ServiceLDAPS) Type() string
type ServiceLibreChat ¶ added in v1.1.0
type ServiceLibreChat struct {
ConfigVersion string `json:"config_version,omitempty"`
HasHealth bool `json:"has_health,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceLibreChat) Type ¶ added in v1.1.0
func (e ServiceLibreChat) Type() string
type ServiceLwM2M ¶ added in v1.3.0
type ServiceLwM2M struct {
HasRegistration bool `json:"has_registration"`
HasBootstrap bool `json:"has_bootstrap"`
ServerImpl string `json:"server_impl,omitempty"`
Resources string `json:"resources,omitempty"`
}
func (ServiceLwM2M) Type ¶ added in v1.3.0
func (e ServiceLwM2M) Type() string
type ServiceM2UA ¶ added in v1.1.0
type ServiceM2UA struct {
InfoString string `json:"info_string,omitempty"`
ErrorCode uint32 `json:"error_code,omitempty"`
MessageClass uint8 `json:"message_class,omitempty"`
MessageType uint8 `json:"message_type,omitempty"`
}
func (ServiceM2UA) Type ¶ added in v1.1.0
func (e ServiceM2UA) Type() string
type ServiceM3UA ¶
type ServiceM3UA struct {
InfoString string `json:"info_string,omitempty"`
ErrorCode uint32 `json:"error_code,omitempty"`
MessageClass uint8 `json:"message_class,omitempty"`
MessageType uint8 `json:"message_type,omitempty"`
}
func (ServiceM3UA) Type ¶
func (e ServiceM3UA) Type() string
type ServiceMGCP ¶
type ServiceMGCP struct {
ResponseCode int `json:"response_code,omitempty"`
Endpoints []string `json:"endpoints,omitempty"`
Packages []string `json:"packages,omitempty"`
}
func (ServiceMGCP) Type ¶
func (e ServiceMGCP) Type() string
type ServiceMQTT ¶
type ServiceMQTT struct{}
func (ServiceMQTT) Type ¶
func (e ServiceMQTT) Type() string
type ServiceMSRPC ¶ added in v1.3.0
type ServiceMSRPC struct{}
func (ServiceMSRPC) Type ¶ added in v1.3.0
func (e ServiceMSRPC) Type() string
type ServiceMSSQL ¶
type ServiceMSSQL struct {
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers for vulnerability tracking
}
func (ServiceMSSQL) Type ¶
func (e ServiceMSSQL) Type() string
type ServiceMegaco ¶
type ServiceMegaco struct {
Version string `json:"version,omitempty"`
MID string `json:"mid,omitempty"`
Profile string `json:"profile,omitempty"`
ErrorCode int `json:"error_code,omitempty"`
}
func (ServiceMegaco) Type ¶
func (e ServiceMegaco) Type() string
type ServiceMelsecQ ¶
type ServiceMelsecQ struct {
CPUModel string `json:"cpu_model,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceMelsecQ) Type ¶
func (e ServiceMelsecQ) Type() string
type ServiceMemcached ¶
type ServiceMemcached struct {
Version string `json:"version,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceMemcached) Type ¶
func (e ServiceMemcached) Type() string
type ServiceMikroTikWinbox ¶ added in v1.3.0
type ServiceMikroTikWinbox struct {
SubProtocol string `json:"sub_protocol"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceMikroTikWinbox) Type ¶ added in v1.3.0
func (e ServiceMikroTikWinbox) Type() string
type ServiceMilvus ¶
type ServiceMilvus struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceMilvus) Type ¶
func (e ServiceMilvus) Type() string
type ServiceMilvusMetrics ¶
type ServiceMilvusMetrics struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceMilvusMetrics) Type ¶
func (e ServiceMilvusMetrics) Type() string
type ServiceModbus ¶
type ServiceModbus struct {
VendorName string `json:"vendor_name,omitempty"` // Object ID 0x00: Vendor name
ProductCode string `json:"product_code,omitempty"` // Object ID 0x01: Product code
Revision string `json:"revision,omitempty"` // Object ID 0x02: Major.Minor revision
VendorURL string `json:"vendor_url,omitempty"` // Object ID 0x03: Vendor URL
ProductName string `json:"product_name,omitempty"` // Object ID 0x04: Product name
ModelName string `json:"model_name,omitempty"` // Object ID 0x05: Model name
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers
}
func (ServiceModbus) Type ¶
func (e ServiceModbus) Type() string
type ServiceMongoDB ¶
type ServiceMongoDB struct {
MaxWireVersion int `json:"max_wire_version,omitempty"` // Wire protocol version (indicates capabilities, NOT precise version; e.g., wire 21 = MongoDB 7.0.x)
MinWireVersion int `json:"min_wire_version,omitempty"` // Minimum wire protocol version supported
ServerType string `json:"server_type,omitempty"` // "mongod" or "mongos"
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceMongoDB) Type ¶
func (e ServiceMongoDB) Type() string
type ServiceMySQL ¶
type ServiceMySQL struct {
PacketType string `json:"packet_type"` // the type of packet returned by the server (i.e. handshake or error)
ErrorMessage string `json:"error_msg"` // error message if the server returns an error packet
ErrorCode int `json:"error_code"` // error code returned if the server returns an error packet
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers for vulnerability tracking
}
func (ServiceMySQL) Type ¶
func (e ServiceMySQL) Type() string
type ServiceMySQLX ¶ added in v1.3.0
type ServiceMySQLX struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceMySQLX) Type ¶ added in v1.3.0
func (e ServiceMySQLX) Type() string
type ServiceNATS ¶
type ServiceNATS struct {
ServerID string `json:"server_id,omitempty"`
ServerName string `json:"server_name,omitempty"`
AuthRequired bool `json:"auth_required"`
TLSRequired bool `json:"tls_required"`
TLSAvailable bool `json:"tls_available,omitempty"`
JetStream bool `json:"jet_stream,omitempty"`
Headers bool `json:"headers,omitempty"`
Proto int `json:"proto,omitempty"`
MaxPayload int64 `json:"max_payload,omitempty"`
GoVersion string `json:"go_version,omitempty"`
GitCommit string `json:"git_commit,omitempty"`
Cluster string `json:"cluster,omitempty"`
Domain string `json:"domain,omitempty"`
ConnectURLs []string `json:"connect_urls,omitempty"`
ClientIP string `json:"client_ip,omitempty"`
LDM bool `json:"ldm,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceNATS) Type ¶
func (e ServiceNATS) Type() string
type ServiceNFS ¶
type ServiceNFS struct {
Version int `json:"version"` // Highest detected NFS version (4, 3, or 2)
DetectedVersions []int `json:"detected_versions"` // All versions that responded successfully
}
func (ServiceNFS) Type ¶
func (e ServiceNFS) Type() string
type ServiceNRPE ¶
type ServiceNRPE struct {
CommandArgsEnabled *bool `json:"command_args_enabled,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceNRPE) Type ¶
func (e ServiceNRPE) Type() string
type ServiceNTP ¶
type ServiceNTP struct{}
func (ServiceNTP) Type ¶
func (e ServiceNTP) Type() string
type ServiceNeo4j ¶
type ServiceNeo4j struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceNeo4j) Type ¶
func (e ServiceNeo4j) Type() string
type ServiceNetbios ¶
type ServiceNetbios struct {
NetBIOSName string `json:"netbios_name"`
GroupName string `json:"group_name,omitempty"`
MACAddress string `json:"mac_address,omitempty"`
Names []NetbiosEntry `json:"names,omitempty"`
}
func (ServiceNetbios) Type ¶
func (e ServiceNetbios) Type() string
type ServiceOMRONFINS ¶
type ServiceOMRONFINS struct {
ControllerModel string `json:"controller_model,omitempty"`
ControllerVersion string `json:"controller_version,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOMRONFINS) Type ¶
func (e ServiceOMRONFINS) Type() string
type ServiceOPCUA ¶
type ServiceOPCUA struct {
ApplicationName string `json:"application_name,omitempty"` // Server application name
ProductURI string `json:"product_uri,omitempty"` // Product URI from server
SecurityModes []string `json:"security_modes,omitempty"` // None, Sign, SignAndEncrypt
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOPCUA) Type ¶
func (e ServiceOPCUA) Type() string
type ServiceOpenVPN ¶
type ServiceOpenVPN struct{}
func (ServiceOpenVPN) Type ¶
func (e ServiceOpenVPN) Type() string
type ServiceOpenVPNManagement ¶ added in v1.11.0
type ServiceOpenVPNManagement struct {
Version string `json:"version,omitempty"`
Banner string `json:"banner,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOpenVPNManagement) Type ¶ added in v1.11.0
func (e ServiceOpenVPNManagement) Type() string
type ServiceOracle ¶
type ServiceOracle struct {
Info string `json:"info"`
}
func (ServiceOracle) Type ¶
func (e ServiceOracle) Type() string
type ServicePCOM ¶
type ServicePCOM struct {
Model string `json:"model,omitempty"`
HWVersion string `json:"hw_version,omitempty"`
OSVersion string `json:"os_version,omitempty"`
UnitID string `json:"unit_id,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServicePCOM) Type ¶
func (e ServicePCOM) Type() string
type ServicePCWorx ¶
type ServicePCWorx struct {
PLCType string `json:"plc_type,omitempty"`
FirmwareVersion string `json:"firmware_version,omitempty"`
FirmwareDate string `json:"firmware_date,omitempty"`
FirmwareTime string `json:"firmware_time,omitempty"`
ModelNumber string `json:"model_number,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServicePCWorx) Type ¶
func (e ServicePCWorx) Type() string
type ServicePFCP ¶
type ServicePFCP struct {
RecoveryTimestamp uint32 `json:"recovery_timestamp,omitempty"`
NodeID string `json:"node_id,omitempty"`
}
func (ServicePFCP) Type ¶
func (e ServicePFCP) Type() string
type ServicePOP3 ¶
type ServicePOP3 struct {
Banner string `json:"banner"`
}
func (ServicePOP3) Type ¶
func (e ServicePOP3) Type() string
type ServicePOP3S ¶
type ServicePOP3S struct {
Banner string `json:"banner"`
}
func (ServicePOP3S) Type ¶
func (e ServicePOP3S) Type() string
type ServicePPTP ¶ added in v1.1.0
type ServicePPTP struct {
Hostname string `json:"hostname,omitempty"`
VendorString string `json:"vendor_string,omitempty"`
FirmwareRevision uint16 `json:"firmware_revision"`
ProtocolVersion string `json:"protocol_version,omitempty"`
FramingCapabilities uint32 `json:"framing_capabilities"`
BearerCapabilities uint32 `json:"bearer_capabilities"`
MaxChannels uint16 `json:"max_channels"`
ResultCode uint8 `json:"result_code"`
}
func (ServicePPTP) Type ¶ added in v1.1.0
func (e ServicePPTP) Type() string
type ServicePROFINET ¶
type ServicePROFINET struct {
DeviceName string `json:"device_name,omitempty"`
DeviceType string `json:"device_type,omitempty"`
Vendor string `json:"vendor,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServicePROFINET) Type ¶
func (e ServicePROFINET) Type() string
type ServicePinecone ¶
type ServicePinecone struct {
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration with wildcard version
APIVersion string `json:"api_version,omitempty"` // Pinecone API version from x-pinecone-api-version header
}
func (ServicePinecone) Type ¶
func (e ServicePinecone) Type() string
type ServicePostgreSQL ¶
type ServicePostgreSQL struct {
AuthRequired bool `json:"auth_required"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServicePostgreSQL) Type ¶
func (e ServicePostgreSQL) Type() string
type ServiceProConOS ¶
type ServiceProConOS struct {
LadderLogicRuntime string `json:"ladder_logic_runtime,omitempty"` // Version from offset 13
PLCType string `json:"plc_type,omitempty"` // PLC type from offset 45
ProjectName string `json:"project_name,omitempty"` // Project name from offset 78
BootProject string `json:"boot_project,omitempty"` // Boot project (variable offset)
ProjectSourceCode string `json:"project_source_code,omitempty"` // Source code file (variable offset)
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceProConOS) Type ¶
func (e ServiceProConOS) Type() string
type ServicePulsar ¶
type ServicePulsar struct {
ProtocolVersion int `json:"protocol_version,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServicePulsar) Type ¶
func (e ServicePulsar) Type() string
type ServicePulsarAdmin ¶
type ServicePulsarAdmin struct {
Clusters []string `json:"clusters,omitempty"`
}
func (ServicePulsarAdmin) Type ¶
func (e ServicePulsarAdmin) Type() string
type ServiceQUIC ¶ added in v1.25.2
type ServiceQUIC struct {
SupportedVersions []string `json:"supported_versions,omitempty"`
}
func (ServiceQUIC) Type ¶ added in v1.25.2
func (e ServiceQUIC) Type() string
type ServiceQdrant ¶ added in v1.1.0
type ServiceQdrant struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceQdrant) Type ¶ added in v1.1.0
func (e ServiceQdrant) Type() string
type ServiceRDP ¶
type ServiceRDP struct {
OSFingerprint string `json:"fingerprint,omitempty"` // e.g. Windows Server 2016 or 2019
OSVersion string `json:"os_version,omitempty"`
TargetName string `json:"target_name,omitempty"`
NetBIOSComputerName string `json:"netbios_computer_name,omitempty"`
NetBIOSDomainName string `json:"netbios_domain_name,omitempty"`
DNSComputerName string `json:"dns_computer_name,omitempty"`
DNSDomainName string `json:"dns_domain_name,omitempty"`
ForestName string `json:"forest_name,omitempty"`
}
func (ServiceRDP) Type ¶
func (e ServiceRDP) Type() string
type ServiceRDPEUDP ¶ added in v1.25.2
type ServiceRDPEUDP struct {
ProtocolVersion uint16 `json:"protocol_version,omitempty"`
UpStreamMtu uint16 `json:"upstream_mtu,omitempty"`
DownStreamMtu uint16 `json:"downstream_mtu,omitempty"`
}
func (ServiceRDPEUDP) Type ¶ added in v1.25.2
func (e ServiceRDPEUDP) Type() string
type ServiceRMI ¶
type ServiceRMI struct {
Endpoint string `json:"endpoint,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceRMI) Type ¶
func (e ServiceRMI) Type() string
type ServiceRPC ¶
type ServiceRPC struct {
Entries []RPCB `json:"entries"`
}
func (ServiceRPC) Type ¶
func (e ServiceRPC) Type() string
type ServiceRTMP ¶ added in v1.3.0
type ServiceRTMP struct{}
func (ServiceRTMP) Type ¶ added in v1.3.0
func (e ServiceRTMP) Type() string
type ServiceRedis ¶
type ServiceRedis struct {
AuthRequired bool `json:"auth_required"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceRedis) Type ¶
func (e ServiceRedis) Type() string
type ServiceRsync ¶
type ServiceRsync struct{}
func (ServiceRsync) Type ¶
func (e ServiceRsync) Type() string
type ServiceRtsp ¶
type ServiceRtsp struct {
ServerInfo string `json:"server_info"`
}
func (ServiceRtsp) Type ¶
func (e ServiceRtsp) Type() string
type ServiceS7comm ¶
type ServiceS7comm struct {
PLCType string `json:"plc_type,omitempty"` // "S7-300", "S7-400", "S7-1200", "S7-1500"
ModuleType string `json:"module_type,omitempty"` // Module type identifier from SZL
OrderCode string `json:"order_code,omitempty"` // 6ES7 XXX-XXXXX-XXXX
SerialNumber string `json:"serial_number,omitempty"` // Hardware serial number
FirmwareVersion string `json:"firmware_version,omitempty"` // V1.2.3 format
ProtectionLevel uint8 `json:"protection_level,omitempty"` // 1=none, 2=read, 3=full
ModuleName string `json:"module_name,omitempty"` // PLC module name
PlantID string `json:"plant_id,omitempty"` // Plant/system identifier
CPEs []string `json:"cpes,omitempty"` // CPE identifiers
}
func (ServiceS7comm) Type ¶
func (e ServiceS7comm) Type() string
type ServiceSCCP ¶
type ServiceSCCP struct {
DeviceType string `json:"device_type,omitempty"`
ProtocolVersion string `json:"protocol_version,omitempty"`
MaxStreams int `json:"max_streams,omitempty"`
DeviceName string `json:"device_name,omitempty"`
}
func (ServiceSCCP) Type ¶
func (e ServiceSCCP) Type() string
type ServiceSGsAP ¶
type ServiceSGsAP struct {
MessageType uint8 `json:"message_type,omitempty"`
SGsCause uint8 `json:"sgs_cause,omitempty"`
}
func (ServiceSGsAP) Type ¶
func (e ServiceSGsAP) Type() string
type ServiceSIP ¶
type ServiceSIP struct {
Banner string `json:"banner,omitempty"`
Server string `json:"server,omitempty"`
AllowedMethods []string `json:"allowed_methods,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceSIP) Type ¶
func (e ServiceSIP) Type() string
type ServiceSIPS ¶
type ServiceSIPS struct {
Banner string `json:"banner,omitempty"`
Server string `json:"server,omitempty"`
AllowedMethods []string `json:"allowed_methods,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceSIPS) Type ¶
func (e ServiceSIPS) Type() string
type ServiceSMB ¶
type ServiceSMB struct {
SigningEnabled bool `json:"signing_enabled"` // e.g. Is SMB Signing Enabled?
SigningRequired bool `json:"signing_required"` // e.g. Is SMB Signing Required?
OSVersion string `json:"os_version"`
NetBIOSComputerName string `json:"netbios_computer_name,omitempty"`
NetBIOSDomainName string `json:"netbios_domain_name,omitempty"`
DNSComputerName string `json:"dns_computer_name,omitempty"`
DNSDomainName string `json:"dns_domain_name,omitempty"`
ForestName string `json:"forest_name,omitempty"`
}
func (ServiceSMB) Type ¶
func (e ServiceSMB) Type() string
type ServiceSMBUDP ¶ added in v1.25.2
type ServiceSMBUDP struct {
QUICVersions []string `json:"quic_versions,omitempty"`
CertSubject string `json:"cert_subject,omitempty"`
CertIssuer string `json:"cert_issuer,omitempty"`
}
func (ServiceSMBUDP) Type ¶ added in v1.25.2
func (e ServiceSMBUDP) Type() string
type ServiceSMPP ¶
type ServiceSMPP struct {
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers for vulnerability tracking
ProtocolVersion string `json:"protocol_version,omitempty"` // SMPP protocol version (e.g., "3.4", "5.0")
SystemID string `json:"system_id,omitempty"` // System ID from bind_transceiver_resp
Vendor string `json:"vendor,omitempty"` // Vendor identified from system_id
Product string `json:"product,omitempty"` // Product identified from system_id
}
func (ServiceSMPP) Type ¶
func (e ServiceSMPP) Type() string
type ServiceSMTP ¶
type ServiceSMTP struct {
Banner string `json:"banner"`
AuthMethods []string `json:"auth_methods"`
}
func (ServiceSMTP) Type ¶
func (e ServiceSMTP) Type() string
type ServiceSMTPS ¶
type ServiceSMTPS struct {
Banner string `json:"banner"`
AuthMethods []string `json:"auth_methods"`
}
func (ServiceSMTPS) Type ¶
func (e ServiceSMTPS) Type() string
type ServiceSNMP ¶
type ServiceSNMP struct{}
func (ServiceSNMP) Type ¶
func (e ServiceSNMP) Type() string
type ServiceSNPP ¶
type ServiceSNPP struct {
Banner string `json:"banner"`
}
func (ServiceSNPP) Type ¶
func (e ServiceSNPP) Type() string
type ServiceSOCKS4 ¶
type ServiceSOCKS4 struct {
Status string `json:"status"`
SOCKS4a bool `json:"socks4a"`
AnonymousAccess bool `json:"anonymous_access"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceSOCKS4) Type ¶
func (e ServiceSOCKS4) Type() string
type ServiceSOCKS5 ¶
type ServiceSOCKS5 struct {
SelectedMethod string `json:"selected_method"`
OfferedMethods []string `json:"offered_methods,omitempty"`
AnonymousAccess bool `json:"anonymous_access"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceSOCKS5) Type ¶
func (e ServiceSOCKS5) Type() string
type ServiceSSH ¶
type ServiceSSH struct {
Banner string `json:"banner"`
PasswordAuthEnabled bool `json:"password_auth_enabled"`
Algo string `json:"algo"`
HostKey string `json:"host_key,omitempty"`
HostKeyType string `json:"host_key_type,omitempty"`
HostKeyFingerprint string `json:"host_key_fingerprint,omitempty"`
Technologies []string `json:"technologies,omitempty"`
CPEs []string `json:"cpes,omitempty"`
FingerprintMetadata map[string]map[string]any `json:"fingerprint_metadata,omitempty"`
}
func (ServiceSSH) Type ¶
func (e ServiceSSH) Type() string
type ServiceSSTP ¶
type ServiceSSTP struct {
Server string `json:"server,omitempty"` // Server header value (e.g., "Microsoft-HTTPAPI/2.0", "MikroTik-SSTP")
Vendor string `json:"vendor,omitempty"` // Identified vendor: "Microsoft", "MikroTik", or "Unknown"
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers
}
func (ServiceSSTP) Type ¶
func (e ServiceSSTP) Type() string
type ServiceSUA ¶ added in v1.1.0
type ServiceSUA struct {
InfoString string `json:"info_string,omitempty"`
ErrorCode uint32 `json:"error_code,omitempty"`
MessageClass uint8 `json:"message_class,omitempty"`
MessageType uint8 `json:"message_type,omitempty"`
}
func (ServiceSUA) Type ¶ added in v1.1.0
func (e ServiceSUA) Type() string
type ServiceSVN ¶
type ServiceSVN struct {
MinVersion int `json:"min_version"`
MaxVersion int `json:"max_version"`
AuthMechs []string `json:"auth_mechs"`
Capabilities []string `json:"capabilities"`
}
func (ServiceSVN) Type ¶
func (e ServiceSVN) Type() string
type ServiceSmartInstall ¶ added in v1.3.0
type ServiceSmartInstall struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceSmartInstall) Type ¶ added in v1.3.0
func (e ServiceSmartInstall) Type() string
type ServiceSonarQube ¶
type ServiceSonarQube struct {
Status string `json:"status,omitempty"`
AnonymousAccess bool `json:"anonymous_access,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceSonarQube) Type ¶
func (e ServiceSonarQube) Type() string
type ServiceStun ¶
type ServiceStun struct {
Info string `json:"info"`
}
func (ServiceStun) Type ¶
func (e ServiceStun) Type() string
type ServiceSybase ¶
type ServiceSybase struct {
CPEs []string `json:"cpes,omitempty"`
Version string `json:"version,omitempty"`
}
func (ServiceSybase) Type ¶
func (e ServiceSybase) Type() string
type ServiceTFTP ¶
type ServiceTFTP struct {
ErrorMessage string `json:"error_message,omitempty"`
}
func (ServiceTFTP) Type ¶
func (e ServiceTFTP) Type() string
type ServiceTURN ¶
type ServiceTURN struct {
Software string `json:"software,omitempty"`
Realm string `json:"realm,omitempty"`
Nonce string `json:"nonce,omitempty"`
}
func (ServiceTURN) Type ¶
func (e ServiceTURN) Type() string
type ServiceTeamViewer ¶ added in v1.1.0
type ServiceTeamViewer struct {
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceTeamViewer) Type ¶ added in v1.1.0
func (e ServiceTeamViewer) Type() string
type ServiceTelnet ¶
type ServiceTelnet struct {
ServerData string `json:"server_data"`
}
func (ServiceTelnet) Type ¶
func (e ServiceTelnet) Type() string
type ServiceUnknown ¶
func (ServiceUnknown) Map ¶
func (e ServiceUnknown) Map() map[string]any
func (ServiceUnknown) Type ¶
func (e ServiceUnknown) Type() string
type ServiceVMware ¶ added in v1.1.0
type ServiceVMware struct {
ProductType string `json:"product_type"` // "esxi", "vcenter", or "vsphere"
FullName string `json:"full_name,omitempty"`
Build string `json:"build,omitempty"`
ApiType string `json:"api_type,omitempty"`
ApiVersion string `json:"api_version,omitempty"`
OsType string `json:"os_type,omitempty"`
ProductLineId string `json:"product_line_id,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceVMware) Type ¶ added in v1.1.0
func (e ServiceVMware) Type() string
type ServiceVNC ¶
type ServiceVNC struct{}
func (ServiceVNC) Type ¶
func (e ServiceVNC) Type() string
type ServiceWireGuard ¶
type ServiceWireGuard struct {
DetectionMethod string `json:"detection_method"` // "response", "differential", "heuristic"
Confidence string `json:"confidence"` // "high", "medium", "low"
}
func (ServiceWireGuard) Type ¶
func (e ServiceWireGuard) Type() string
type ServiceX2AP ¶
type ServiceX2AP struct {
ProcedureCode uint8 `json:"procedure_code,omitempty"`
Criticality uint8 `json:"criticality,omitempty"`
MessageType uint8 `json:"message_type,omitempty"` // 0=Initiating, 1=Successful, 2=Unsuccessful
}
func (ServiceX2AP) Type ¶
func (e ServiceX2AP) Type() string
type ServiceX11 ¶
type ServiceX11 struct {
MajorVersion uint16 `json:"major_version"`
MinorVersion uint16 `json:"minor_version"`
Vendor string `json:"vendor,omitempty"`
AccessGranted bool `json:"access_granted"`
DisplayNumber int `json:"display_number,omitempty"`
}
func (ServiceX11) Type ¶
func (e ServiceX11) Type() string
type ServiceXMPP ¶ added in v1.1.0
type ServiceXMPP struct {
StreamID string `json:"stream_id,omitempty"`
ServerFrom string `json:"server_from,omitempty"`
AuthMechanisms []string `json:"auth_mechanisms,omitempty"`
TLSSupport string `json:"tls_support,omitempty"`
Compression []string `json:"compression,omitempty"`
CapsNode string `json:"caps_node,omitempty"`
CapsVer string `json:"caps_ver,omitempty"`
ServerSoftware string `json:"server_software,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceXMPP) Type ¶ added in v1.1.0
func (e ServiceXMPP) Type() string
type ServiceZabbixAgent ¶
type ServiceZabbixAgent struct {
RemoteCommandsEnabled bool `json:"remote_commands_enabled"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceZabbixAgent) Type ¶
func (e ServiceZabbixAgent) Type() string
type ServiceZooKeeper ¶
type ServiceZooKeeper struct {
CPEs []string `json:"cpes,omitempty"` // Common Platform Enumeration identifiers for vulnerability tracking
Mode string `json:"mode,omitempty"` // ZooKeeper mode: standalone, leader, follower, observer
Connections int `json:"connections,omitempty"` // Number of active connections
NodeCount int `json:"node_count,omitempty"` // Number of ZNodes in the namespace
Restricted bool `json:"restricted,omitempty"` // Whether commands are restricted by whitelist
}
func (ServiceZooKeeper) Type ¶
func (e ServiceZooKeeper) Type() string
Directories
¶
| Path | Synopsis |
|---|---|
|
Package fingerprinters provides HTTP fingerprinting for Adobe Experience Manager (AEM).
|
Package fingerprinters provides HTTP fingerprinting for Adobe Experience Manager (AEM). |
|
services
|
|
|
activemq
Package activemq implements service detection for Apache ActiveMQ using the OpenWire protocol.
|
Package activemq implements service detection for Apache ActiveMQ using the OpenWire protocol. |
|
ajp
Package ajp implements service detection for Apache JServ Protocol (AJPv13).
|
Package ajp implements service detection for Apache JServ Protocol (AJPv13). |
|
anydesk
Package anydesk implements service detection for AnyDesk remote desktop via TLS certificate inspection.
|
Package anydesk implements service detection for AnyDesk remote desktop via TLS certificate inspection. |
|
citrixica
Package citrixica implements service detection for Citrix ICA (Independent Computing Architecture).
|
Package citrixica implements service detection for Citrix ICA (Independent Computing Architecture). |
|
ethernetip
Package ethernetip implements fingerprinting for EtherNet/IP (Common Industrial Protocol).
|
Package ethernetip implements fingerprinting for EtherNet/IP (Common Industrial Protocol). |
|
firebird
Package firebird implements Firebird SQL database server fingerprinting.
|
Package firebird implements Firebird SQL database server fingerprinting. |
|
git
Package git provides fingerprinting for the Git daemon service.
|
Package git provides fingerprinting for the Git daemon service. |
|
ikev2
Package ikev2 implements IKEv2 (RFC 7296) fingerprinting for network services.
|
Package ikev2 implements IKEv2 (RFC 7296) fingerprinting for network services. |
|
irc
Package irc implements IRC (Internet Relay Chat) service fingerprinting.
|
Package irc implements IRC (Internet Relay Chat) service fingerprinting. |
|
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. |
|
jetdirect
Package jetdirect implements JetDirect/PJL printer detection.
|
Package jetdirect implements JetDirect/PJL printer detection. |
|
kerberos
Package kerberos implements a Kerberos v5 service detection plugin for Nerva.
|
Package kerberos implements a Kerberos v5 service detection plugin for Nerva. |
|
memcached
Package memcached implements fingerprinting for Memcached distributed memory cache servers.
|
Package memcached implements fingerprinting for Memcached distributed memory cache servers. |
|
mikrotikwinbox
Package mikrotikwinbox detects MikroTik RouterOS Winbox and API services.
|
Package mikrotikwinbox detects MikroTik RouterOS Winbox and API services. |
|
msrpc
Package msrpc detects Microsoft DCE/RPC services (port 135 endpoint mapper and dynamic RPC ports).
|
Package msrpc detects Microsoft DCE/RPC services (port 135 endpoint mapper and dynamic RPC ports). |
|
mysqlx
Package mysqlx detects MySQL X Protocol (port 33060) services.
|
Package mysqlx detects MySQL X Protocol (port 33060) services. |
|
nrpe
Package nrpe implements service detection for Nagios Remote Plugin Executor (NRPE) using the v2 binary protocol.
|
Package nrpe implements service detection for Nagios Remote Plugin Executor (NRPE) using the v2 binary protocol. |
|
omronfins
Package omronfins implements OMRON FINS service fingerprinting for both UDP and TCP.
|
Package omronfins implements OMRON FINS service fingerprinting for both UDP and TCP. |
|
openvpn
OpenVPN Management Interface Detection
|
OpenVPN Management Interface Detection |
|
pcworx
Package pcworx provides TCP fingerprinting for Phoenix Contact PLCs via the PC Worx protocol on port 1962.
|
Package pcworx provides TCP fingerprinting for Phoenix Contact PLCs via the PC Worx protocol on port 1962. |
|
pfcp
Package pfcp implements PFCP (Packet Forwarding Control Protocol) detection.
|
Package pfcp implements PFCP (Packet Forwarding Control Protocol) detection. |
|
pptp
Package pptp implements a PPTP (Point-to-Point Tunneling Protocol) service fingerprinting plugin.
|
Package pptp implements a PPTP (Point-to-Point Tunneling Protocol) service fingerprinting plugin. |
|
rtmp
Package rtmp detects RTMP (Real-Time Messaging Protocol) streaming servers.
|
Package rtmp detects RTMP (Real-Time Messaging Protocol) streaming servers. |
|
smartinstall
Package smartinstall detects Cisco Smart Install protocol (port 4786).
|
Package smartinstall detects Cisco Smart Install protocol (port 4786). |
|
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. |
|
socks4
Package socks4 implements a SOCKS4 proxy detection plugin.
|
Package socks4 implements a SOCKS4 proxy detection plugin. |
|
socks5
Package socks5 implements a SOCKS5 proxy detection plugin.
|
Package socks5 implements a SOCKS5 proxy detection plugin. |
|
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. |
|
turn
Package turn implements TURN (Traversal Using Relays around NAT) server detection.
|
Package turn implements TURN (Traversal Using Relays around NAT) server detection. |
|
unitronics
Package unitronics implements service detection for Unitronics PCOM protocol.
|
Package unitronics implements service detection for Unitronics PCOM protocol. |
|
x11
Package x11 implements detection of X11 (X Window System) servers.
|
Package x11 implements detection of X11 (X Window System) servers. |