
Passive hybrid fingerprinting engine β identify hosts without sending a single packet
Passive Hybrid ANalysis Tool for Os-agnostic Multiprotocol PRofiling & INTelligence
Fingerprint hosts on your network without sending a single packet.
PHANTOMPRINT correlates multiple passive signals (TCP/IP stack, TLS/JA4, DHCP Option 55, HTTP/2 HPACK, DNS behavior) to identify operating systems, browsers, and devices from observed traffic alone.
| Tool | TCP/IP FP | TLS JA4 | DHCP FP | Multi-signal | Confidence Score |
|---|---|---|---|---|---|
| p0f | β | β | β | β | β |
| Zeek | β | plugin | β | β | β |
| JA3er | β | β | β | β | β |
| PHANTOMPRINT | β | β | β | β | β |
p0f hasn't been maintained since 2014. Zeek requires heavy infrastructure. Nothing correlates all these signals into a unified, scored host profile.
Network Traffic
β
ββββ TCP SYN/SYN-ACK βββ TCPIPParser βββ TTL + Window + Options hash
ββββ TLS ClientHello βββ TLSParser βββ JA4 fingerprint
ββββ DHCP DISCOVER βββ DHCPParser βββ Option 55 fingerprint
ββββ (HTTP/2, DNS) βββ [coming v1.5]
β
SignalMerger
β
Bayesian Score Engine
β
HostProfile
ββββββββββββ΄βββββββββββ
Terminal JSON / STIX
No packets are sent. No connections are opened. Fully passive.
git clone https://github.com/youruser/phantomprint
cd phantomprint
pip install -e ".[dev]"
Requires Python 3.11+ and root/CAP_NET_RAW for live capture.
sudo phantomprint live -i eth0
sudo phantomprint live -i eth0 -t 60 -o results.json
sudo phantomprint live -i eth0 --verbose
phantomprint pcap capture.pcap
phantomprint pcap capture.pcap -o results.json
phantomprint signatures
phantomprint signatures --category os
phantomprint signatures --category browser
β PHANTOMPRINT v0.1.0 β Results (4 hosts)
βββββββββββββββββββ¬βββββββββββββββββββ¬ββββββββββββββββ¬βββββββββββββββββββββββ¬ββββββββ
β Host / MAC β OS β Browser / App β Signals β Score β
βββββββββββββββββββΌβββββββββββββββββββΌββββββββββββββββΌβββββββββββββββββββββββΌββββββββ€
β 192.168.1.45 β Windows 11 β Chrome 120 β TCP TLS DHCP β 78% β
β 192.168.1.12 β Linux 6.x β curl β TCP TLS β 52% β
β 192.168.1.1 β Cisco IOS Router β β β TCP β 18% β
β aa:bb:cc:dd:... β Android 12-14 β β β DHCP β 31% β
βββββββββββββββββββ΄βββββββββββββββββββ΄ββββββββββββββββ΄βββββββββββββββββββββββ΄ββββββββ
Signatures live in signatures/raw/ as YAML files:
# signatures/raw/os/windows11.yaml
id: os_win11
name: Windows 11
type: os
description: Windows 11 / Windows Server 2022
signals:
tcp_ip:
- "128:65535:1:mss,nop,wscale,sackok,timestamp"
- "128:64240:1:mss,nop,wscale,sackok,timestamp"
dhcp:
- "1,3,6,15,31,33,43,44,46,47,119,121,249,252"
Add your own signatures and they're loaded automatically.
v1.0 β TCP/IP + TLS/JA4 + DHCP parsers (current)
v1.5 β HTTP/2 HPACK fingerprinting, DNS behavior analysis, Rust capture engine
v2.0 β Cross-sensor correlation (Redis), behavioral drift detection, STIX 2.1 output
v2.5 β Zeek plugin, Elastic/Splunk output, web UI
PHANTOMPRINT is designed for use on networks you own or have explicit authorization to monitor. Passive fingerprinting falls under MITRE ATT&CK T1040 (Network Sniffing) β ensure you have appropriate authorization before deployment.
Licensed under GPL-3.0.