Attack Surface Management
Fingerprint Network Services
Identify the service on each open port. Service fingerprinting returns protocol, banner, product, and version for misconfig and credential tests.
What Fingerprint Network Services does
Service fingerprinting turns an open port into a named service. Once you know which ports answer, the next question is what is actually listening on them: the protocol, the banner, the product, and the version. This module speaks each protocol and returns a typed record that downstream misconfig and credential scans nest on.
You feed port-details, not a host list. The module speaks the protocol on
each open port and writes protocol, banner, product, version, TLS, and
transport as network-service-details. Open 22 is not SSH until this step
says so. Weak-credential testing cannot skip this face.
Where it fits in the pipeline
Upstream
Scan for open ports is the producer of port-details. This
module does not scan hosts.
Downstream
Scan network services for misconfigurations can consume
enriched records here, or skip this hop and take raw port-details. Scan
network services for weak credentials must consume network-service-details.
Findings from those scans feed the scan report.
Parallel
None on this input. Probe live HTTP(S) runs on hosts,
not port-details. Identify CMS, CDN, and WAF runs on live web URLs. Do not
cross into the web tail.
Network tail (this page is the middle hop): hosts -> open-ports -> network FP -> (misconfig | weak-creds). Never hosts -> probe-web -> web FP.
When to use this
Nest this after scan for open ports has produced port-details, and before
any weak-credential test. Misconfig can take raw port records and skip this
step. Weak credentials cannot. If you still have a host list, you are one hop
too early.
Inputs and outputs
- Required
port-details(FILE): JSONL port-discovery records from scan for open
- Outputs
network-service-details: JSONL records (ip_address,port,protocol,
Data
The tables this module produces. Sample rows are illustrative.
Named service on each open port: protocol, banner, product, version, TLS, and transport.
ip_addresstext | portint | protocoltext | transporttext | tlsbool | bannertext | productsjson | versiontext | hostnametext | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 203.0.113.10 | 22 | ssh | tcp | false | SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.4 | Array[1] | 8.9p1 | host1.example.com |
| 2 | 203.0.113.10 | 443 | https | tcp | true | HTTP/1.1 200 | Array[1] | 1.18.0 | host1.example.com |
| 3 | 198.51.100.25 | 80 | http | tcp | false | Apache/2.4.52 (Ubuntu) | Array[1] | 2.4.52 | host2.example.com |
How it differs from similar modules
Fingerprint Network Services
Artifact class it owns
Protocol, banner, product on each open port
Upstream it needs
port-details
Artifact class it owns
Setup issues on named (or raw) services
Upstream it needs
port-details (FP optional)
Artifact class it owns
Vendor/default/weak logins on five protocols
Upstream it needs
network-service-details (FP required)
Identify CMS, CDN, and WAF is the web-tail fingerprint. Different input, different tail.
questions
Fingerprint Network Services questions
Related modules
Scan for Open Ports
Scan Network Services for Misconfigurations
Scan Network Services for Weak Credentials
Enumerate Hostnames via OSINT Sources
Enumerate Hostnames via Crawling
Enumerate Hostnames via DNS Permutations Brute Force
Enumerate Hostnames via Root Domain DNS Brute Force
Enumerate Hostnames via Recursive DNS Brute Force
fingerprintx
fingerprint instrument; this page owns the nestable job
Generate Scan Report
Nest Fingerprint Network Services in a workflow
Drop this module into a Trickest workflow and connect it to your upstream and downstream nodes. The face contract above is the wiring.
Get a personalized demo
See Trickest in Action
A 30-minute walkthrough. We map the platform to your stack and answer pricing and deployment questions for your environment.