Updated Jul 15, 2026

Network

Label the protocol on each open port

Service fingerprinting for open host:port pairs.

Agent

overview

What fingerprintx does

fingerprintx takes -t or -l host:port input and names the service that answers by speaking each protocol, not by guessing from the port number.

Emit --json or --csv for structured records. Turn on -U for UDP plugins. Use -f when a large list needs a quicker pass with less plugin coverage. Raise -w if slow services time out.

Trickest provides fingerprintx as a managed Network node after a port scanner. Feed naabu or nmap open ports in, then route labeled listeners to httpx or protocol-specific checks.

source github.com/praetorian-inc/fingerprintx

use cases

Where fingerprintx fits

Identify services behind open ports

Pass open ports from a scan to fingerprintx so each one is labeled with the real protocol and service, not guessed from the port number.

Catch services on non-standard ports

Find SSH on 2222 or a database on an odd port by speaking each protocol and reading the reply, so nothing hides behind an unexpected assignment.

Cover UDP services a TCP sweep misses

Enable -U to fingerprint DNS, SNMP, and other datagram services that a TCP-only scan leaves invisible.

Emit structured records for pipelines

Use --json or --csv so every fingerprinted service becomes a record downstream nodes can filter and route to protocol-specific testing.

reference

fingerprintx inputs and flags

8 inputs
NameTypeFlagDescription
targetSTRING-tTarget or comma separated target list.
listFILE-lInput file containing targets.
jsonBOOLEAN--jsonOutput format in JSON.
csvBOOLEAN--csvOutput format in CSV.
udpBOOLEAN-URun UDP plugins.
fastBOOLEAN-fFast mode.
timeoutSTRING-wTimeout in milliseconds (default 500).
verboseBOOLEAN-vVerbose mode.

Showing key inputs. fingerprintx exposes 8 inputs in total.

example

Run fingerprintx

fingerprintx · command
# fingerprint services on open ports from a naabu list; JSON outfingerprintx -l open-ports.txt --json -w 1000
sample output
example.com:22/tcp (ssh)example.com:80/tcp (http)example.com:443/tcp (https)api.example.com:8443/tcp (https)staging.example.com:2222/tcp (ssh)198.51.100.24:3306/tcp (mysql)198.51.100.24:6379/tcp (redis)203.0.113.88:53/udp (dns)

guidance

Choosing fingerprintx

Use fingerprintx when open ports are already known and you need the listening service named. It is not a port scanner. Run it after naabu or nmap, before httpx or other protocol-specific stages.

naabu

Fast port scanner. Finds the open ports fingerprintx then identifies, so the two run in sequence.

nmap

Full scanner with its own service and version detection. Heavier, but does discovery and fingerprinting in one tool.

httpx

Probes HTTP services. Use it after fingerprintx flags the web ports among many protocols.

faq

fingerprintx questions

A port scanner finds which ports are open. fingerprintx speaks the protocol on each open port and reads the response to name the service, even on non-standard ports.

Run fingerprintx yourself

A target feeds naabu, which finds the open ports and passes them to fingerprintx, which names the service on each port and writes them as a queryable output.

Facts on this page come from the live Trickest tool library.