Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterPlugin(p Plugin)
- func TLSVersionName(version uint16) string
- type FindingMeta
- 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 ServiceClickHouse
- 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 ServiceGlassFish
- 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 ServiceManageSieve
- 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 ServiceOracleAgilePLM
- type ServiceOracleCoherence
- type ServiceOracleDirectory
- type ServiceOracleEBS
- type ServiceOracleEssbase
- type ServiceOracleForms
- type ServiceOracleGoldenGate
- type ServiceOracleHTTPServer
- type ServiceOracleHyperion
- type ServiceOracleJDE
- type ServiceOracleNoSQL
- type ServiceOracleOAM
- type ServiceOracleOBIEE
- type ServiceOracleOIM
- type ServiceOracleORDS
- type ServiceOracleReports
- type ServiceOracleSBC
- type ServiceOracleSiebel
- type ServiceOracleTimesTen
- type ServiceOracleWebCenter
- type ServicePCOM
- type ServicePCWorx
- type ServicePFCP
- type ServicePOP3
- type ServicePOP3S
- type ServicePPTP
- type ServicePROFINET
- type ServicePeopleSoft
- 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 ServiceWebLogic
- 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" ProtoClickHouse = "clickhouse" 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" ProtoManageSieve = "managesieve" 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" ProtoOracleEBS = "oracle_ebs" ProtoOracleORDS = "oracle_ords" ProtoPeopleSoft = "oracle_peoplesoft" ProtoOracleOAM = "oracle_oam" ProtoOracleOIM = "oracle_oim" ProtoOracleOUD = "oracle_oud" ProtoOracleOID = "oracle_oid" ProtoOracleHTTPServer = "oracle_http_server" ProtoOracleOBIEE = "oracle_obiee" ProtoOracleHyperion = "oracle_hyperion" ProtoOracleEssbase = "oracle_essbase" ProtoOracleJDE = "oracle_jde" ProtoOracleSiebel = "oracle_siebel" ProtoOracleWebCenter = "oracle_webcenter" ProtoGlassFish = "oracle_glassfish" ProtoPayara = "payara" ProtoOracleGoldenGate = "oracle_goldengate" ProtoOracleForms = "oracle_forms" ProtoOracleReports = "oracle_reports" ProtoOracleCoherence = "oracle_coherence" ProtoOracleNoSQL = "oracle_nosql" ProtoOracleTimesTen = "oracle_timesten" ProtoOracleWebLogic = "oracle_weblogic" ProtoOracleSBC = "oracle_sbc" ProtoOracleECB = "oracle_ecb" ProtoOracleAgilePLM = "oracle_agile_plm" 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 FindingMeta ¶ added in v1.53.1
type FindingMeta struct {
Title string
Severity Severity
Impact string
Recommendation string
CVSS string
}
FindingMeta holds the canonical metadata for a known finding type. The finding catalog is the authoritative source for severity calibration.
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"`
Title string `json:"title,omitempty"`
Description string `json:"description"`
Impact string `json:"impact,omitempty"`
Recommendation string `json:"recommendation,omitempty"`
CVSS string `json:"cvss,omitempty"`
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.
func (*SecurityFinding) Enrich ¶ added in v1.53.1
func (f *SecurityFinding) Enrich()
Enrich fills in Title, Impact, and Recommendation from the finding catalog if those fields are not already set. It also corrects severity to match the catalog-authoritative value.
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 ¶
func (*Service) EnrichFindings ¶ added in v1.53.1
func (s *Service) EnrichFindings()
EnrichFindings applies finding catalog metadata to all security findings.
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 ServiceClickHouse ¶ added in v1.49.0
type ServiceClickHouse struct {
ServerName string `json:"server_name,omitempty"`
Timezone string `json:"timezone,omitempty"`
DisplayName string `json:"display_name,omitempty"`
ProtocolVersion uint64 `json:"protocol_version,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceClickHouse) Type ¶ added in v1.49.0
func (e ServiceClickHouse) 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 ServiceGlassFish ¶ added in v1.42.9
type ServiceGlassFish struct {
Product string `json:"product"` // "glassfish", "eclipse", or "payara"
Server string `json:"server,omitempty"` // raw Server header
XPoweredBy string `json:"x_powered_by,omitempty"` // raw X-Powered-By header
JDK string `json:"jdk,omitempty"` // JDK version parsed from X-Powered-By
AdminConsole bool `json:"admin_console,omitempty"` // /common/index.jsf corroboration
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceGlassFish) Type ¶ added in v1.42.9
func (e ServiceGlassFish) Type() string
Type returns the emitted service protocol, dynamically discriminating Payara from the GlassFish family based on the Product field (VMware precedent).
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 ServiceManageSieve ¶ added in v1.51.0
type ServiceManageSieve struct {
Implementation string `json:"implementation,omitempty"`
SASLMechanisms []string `json:"sasl_mechanisms,omitempty"`
StarttlsAvailable bool `json:"starttls_available"`
SieveExtensions []string `json:"sieve_extensions,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
ServiceManageSieve contains metadata extracted from a ManageSieve (RFC 5804) greeting.
func (ServiceManageSieve) Type ¶ added in v1.51.0
func (e ServiceManageSieve) 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"`
Version string `json:"version,omitempty"`
AICapable bool `json:"ai_capable,omitempty"` // major version >= 23 (Oracle AI Database 23ai/26ai)
Note string `json:"note,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracle) Type ¶
func (e ServiceOracle) Type() string
type ServiceOracleAgilePLM ¶ added in v1.43.0
type ServiceOracleAgilePLM struct {
Build string `json:"build,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleAgilePLM) Type ¶ added in v1.43.0
func (e ServiceOracleAgilePLM) Type() string
type ServiceOracleCoherence ¶ added in v1.45.1
type ServiceOracleCoherence struct {
ViaHTTP bool `json:"via_http,omitempty"` // detected via the metrics/management HTTP surface
ClusterName string `json:"cluster_name,omitempty"` // Management-over-REST clusterName
LicenseMode string `json:"license_mode,omitempty"` // Management-over-REST licenseMode (e.g. "Development")
CPEs []string `json:"cpes,omitempty"`
}
ServiceOracleCoherence identifies an Oracle Coherence data-grid node. It is emitted by two paths: the high-confidence HTTP detectors (ViaHTTP set — the Prometheus /metrics endpoint and Management-over-REST, which expose an exact version and cluster metadata) and the best-effort binary heuristic on the 7574 cluster/NameService port (ViaHTTP unset — no version on the wire, so its CPE is versionless). ClusterName and LicenseMode are populated only from the Management-over-REST JSON.
func (ServiceOracleCoherence) Type ¶ added in v1.45.1
func (e ServiceOracleCoherence) Type() string
type ServiceOracleDirectory ¶ added in v1.42.12
type ServiceOracleDirectory struct {
Product string `json:"product"` // "oud" or "oid"
VendorName string `json:"vendor_name,omitempty"` // OUD: "Oracle Corporation"
VendorVersion string `json:"vendor_version,omitempty"` // OUD: raw vendorVersion "Oracle Unified Directory <ver>"
DirectoryVersion string `json:"directory_version,omitempty"` // OID: raw orcldirectoryversion
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleDirectory) Type ¶ added in v1.42.12
func (e ServiceOracleDirectory) Type() string
Type dynamically discriminates OID from OUD by the Product field (GlassFish precedent).
type ServiceOracleEBS ¶ added in v1.42.6
type ServiceOracleEBS struct {
Title string `json:"title,omitempty"`
Release string `json:"release,omitempty"` // "R12", "11i", or ""
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleEBS) Type ¶ added in v1.42.6
func (e ServiceOracleEBS) Type() string
type ServiceOracleEssbase ¶ added in v1.44.1
type ServiceOracleEssbase struct {
REST bool `json:"rest,omitempty"` // 21c REST /essbase/rest/v1/about present (HTTP)
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleEssbase) Type ¶ added in v1.44.1
func (e ServiceOracleEssbase) Type() string
type ServiceOracleForms ¶ added in v1.42.7
type ServiceOracleForms struct {
Era string `json:"era,omitempty"` // "10g" | "12c" | ""
FusionMiddleware bool `json:"fusion_middleware,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleForms) Type ¶ added in v1.42.7
func (e ServiceOracleForms) Type() string
type ServiceOracleGoldenGate ¶ added in v1.42.8
type ServiceOracleGoldenGate struct {
Edition string `json:"edition,omitempty"` // microservices | classic
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleGoldenGate) Type ¶ added in v1.42.8
func (e ServiceOracleGoldenGate) Type() string
type ServiceOracleHTTPServer ¶ added in v1.42.2
type ServiceOracleHTTPServer struct {
Server string `json:"server,omitempty"`
Vendor string `json:"vendor,omitempty"`
FusionMiddleware bool `json:"fusion_middleware,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleHTTPServer) Type ¶ added in v1.42.2
func (e ServiceOracleHTTPServer) Type() string
type ServiceOracleHyperion ¶ added in v1.44.1
type ServiceOracleHyperion struct {
Planning bool `json:"planning,omitempty"` // C1 /HyperionPlanning module present
APS bool `json:"aps,omitempty"` // C2 /aps Analytic Provider Services servlet
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleHyperion) Type ¶ added in v1.44.1
func (e ServiceOracleHyperion) Type() string
type ServiceOracleJDE ¶ added in v1.43.1
type ServiceOracleJDE struct {
AIS bool `json:"ais,omitempty"` // AIS REST tier (/jderest) present
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleJDE) Type ¶ added in v1.43.1
func (e ServiceOracleJDE) Type() string
type ServiceOracleNoSQL ¶ added in v1.45.1
type ServiceOracleNoSQL struct {
Endpoint string `json:"endpoint,omitempty"` // RMI endpoint host:port (RMI plugin)
ViaHTTP bool `json:"via_http,omitempty"` // detected via the 8080 proxy
CPEs []string `json:"cpes,omitempty"`
}
ServiceOracleNoSQL identifies an Oracle NoSQL Database. It is emitted by both the RMI registry plugin (port 5000, Endpoint populated from the JRMP handshake) and the HTTP proxy plugin (port 8080, ViaHTTP set). No store version is exposed pre-auth, so CPE is versionless.
func (ServiceOracleNoSQL) Type ¶ added in v1.45.1
func (e ServiceOracleNoSQL) Type() string
type ServiceOracleOAM ¶ added in v1.42.3
type ServiceOracleOAM struct {
OpenSSO bool `json:"opensso,omitempty"` // legacy 11g endpoint present
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleOAM) Type ¶ added in v1.42.3
func (e ServiceOracleOAM) Type() string
type ServiceOracleOBIEE ¶ added in v1.44.2
type ServiceOracleOBIEE struct {
Surface string `json:"surface,omitempty"` // analytics | bi-publisher | dv
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleOBIEE) Type ¶ added in v1.44.2
func (e ServiceOracleOBIEE) Type() string
type ServiceOracleOIM ¶ added in v1.42.3
type ServiceOracleOIM struct {
Legacy bool `json:"legacy,omitempty"` // 11g xlWebApp
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleOIM) Type ¶ added in v1.42.3
func (e ServiceOracleOIM) Type() string
type ServiceOracleORDS ¶ added in v1.42.5
type ServiceOracleORDS struct {
APEX bool `json:"apex,omitempty"`
AICapable bool `json:"ai_capable,omitempty"` // ORDS is the common carrier for Select AI / Vector Search / OML REST
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleORDS) Type ¶ added in v1.42.5
func (e ServiceOracleORDS) Type() string
type ServiceOracleReports ¶ added in v1.42.7
type ServiceOracleReports struct {
Era string `json:"era,omitempty"` // "10g" | "12c" | ""
FusionMiddleware bool `json:"fusion_middleware,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleReports) Type ¶ added in v1.42.7
func (e ServiceOracleReports) Type() string
type ServiceOracleSBC ¶ added in v1.44.0
type ServiceOracleSBC struct {
Product string `json:"product,omitempty"` // "sbc" (shared Acme Packet codebase; ECB indistinguishable unauth)
RestAPI bool `json:"rest_api,omitempty"` // /rest/{ver}/auth/token 401 challenge present
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleSBC) Type ¶ added in v1.44.0
func (e ServiceOracleSBC) Type() string
Type discriminates ECB from SBC by Product; defaults to SBC since the shared Acme Packet web-GUI/REST surface cannot distinguish them unauthenticated.
type ServiceOracleSiebel ¶ added in v1.43.1
type ServiceOracleSiebel struct {
Build string `json:"build,omitempty"` // opaque SWE build-folder code (e.g. "23021"); NOT a CPE version
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleSiebel) Type ¶ added in v1.43.1
func (e ServiceOracleSiebel) Type() string
type ServiceOracleTimesTen ¶ added in v1.45.1
type ServiceOracleTimesTen struct {
CPEs []string `json:"cpes,omitempty"`
}
ServiceOracleTimesTen identifies an Oracle TimesTen In-Memory Database listener (6624/6625) via its distinctive malformed-HTTP reject. No version is exposed, so CPE is versionless.
func (ServiceOracleTimesTen) Type ¶ added in v1.45.1
func (e ServiceOracleTimesTen) Type() string
type ServiceOracleWebCenter ¶ added in v1.42.13
type ServiceOracleWebCenter struct {
Component string `json:"component,omitempty"` // "Content" | "Portal" | "Sites"
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceOracleWebCenter) Type ¶ added in v1.42.13
func (e ServiceOracleWebCenter) 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 ServicePeopleSoft ¶ added in v1.42.4
type ServicePeopleSoft struct {
PSToken bool `json:"ps_token,omitempty"`
CPEs []string `json:"cpes,omitempty"`
}
func (ServicePeopleSoft) Type ¶ added in v1.42.4
func (e ServicePeopleSoft) 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 ServiceWebLogic ¶ added in v1.42.11
type ServiceWebLogic struct {
T3 bool `json:"t3,omitempty"` // server answered the T3 handshake
T3Version string `json:"t3_version,omitempty"` // raw version from the HELO line, e.g. "12.2.1.3.0"
AdminConsole bool `json:"admin_console,omitempty"` // /console/login/LoginForm.jsp matched
ConsoleTitle string `json:"console_title,omitempty"` // the <title> observed on the console page
CPEs []string `json:"cpes,omitempty"`
}
func (ServiceWebLogic) Type ¶ added in v1.42.11
func (e ServiceWebLogic) 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. |
|
managesieve
Package managesieve provides fingerprinting for the ManageSieve (RFC 5804) protocol used to remotely manage Sieve mail filtering scripts.
|
Package managesieve provides fingerprinting for the ManageSieve (RFC 5804) protocol used to remotely manage Sieve mail filtering scripts. |
|
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 |
|
oracledirectory
Package oracledirectory fingerprints Oracle Unified Directory (OUD) and Oracle Internet Directory (OID) via an anonymous rootDSE read over LDAP (1389/3060) and LDAPS (1636/3131).
|
Package oracledirectory fingerprints Oracle Unified Directory (OUD) and Oracle Internet Directory (OID) via an anonymous rootDSE read over LDAP (1389/3060) and LDAPS (1636/3131). |
|
oracleprotocoldb
Package oracleprotocoldb fingerprints several proprietary Oracle data-grid / database protocols (LAB-5056).
|
Package oracleprotocoldb fingerprints several proprietary Oracle data-grid / database protocols (LAB-5056). |
|
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. |