services dataset when each endpoint matters. One result represents one
observed network service, so a host with several exposed ports can produce
several results.
Build the hypothesis
Start with the strongest stable signal you have, then add constraints that reduce noise.Tag results respect the API key’s organisation visibility. Category paths use
canonical slash notation, and
/* includes descendants.Run the search
This example finds observed SSH services on port 22:ip_addressordomain,port, andtransportfor endpoint identity.protocol,status, andscanned_atfor the observation.banner,http, andtlsfor promoted protocol evidence.fingerprintsfor allowlisted stable fingerprints.tagsfor visible reviewed classifications.matched_fieldsonly as bounded match context; checkmatched_fields_completebefore treating it as exhaustive.
Validate generated queries
Validate queries produced by a user, agent, or saved hunt before execution:Turn one service into a broader hunt
1
Choose stable evidence
Prefer a protocol fact, certificate identity, reviewed tag, or fingerprint
over a volatile banner fragment.
2
Add environmental constraints
Narrow by ASN, country, port, or observation date when the hypothesis calls
for it.
3
Inspect a result page
Confirm the matches represent the intended service before requesting an
exact count or distribution.
4
Measure the population
Run count and aggregate independently so analytics do not block the first
page of evidence.
Measure the result set
Count the hunt and group it by fields such as country, ASN, or port.
Browse searchable fields
Find protocol-specific fields and supported operators.