Analysis updated 2026-05-18
Quietly map devices on an authorized network during the early stage of a penetration test.
Spot an unexpected or rogue device appearing on a monitored network.
Reconstruct which operating systems and browsers were active from a saved packet capture.
Add custom YAML signatures to recognize new operating systems or devices.
| haruu77g/phantomprint | 0marildo/imago | 100/geotwitter | |
|---|---|---|---|
| Stars | 3 | 3 | 3 |
| Language | Python | Python | Python |
| Last pushed | — | — | 2015-09-10 |
| Maintenance | — | — | Dormant |
| Setup difficulty | — | easy | moderate |
| Complexity | — | 2/5 | 3/5 |
| Audience | ops devops | general | general |
Figures from each repo's GitHub metadata at analysis time.
Phantomprint is a tool that figures out what operating system, browser, or device a computer on a network is using, without ever sending it a single packet. It watches normal network traffic that is already passing by, such as the start of a TCP connection, a TLS handshake, or a DHCP request, and reads small technical details in each one, like timing values and option orders, to guess what software produced them. Instead of relying on just one of these signals, it combines several of them, such as the TCP/IP handshake pattern, the TLS JA4 fingerprint, and DHCP option ordering, and produces a single host profile with a confidence score. The README compares it to older tools like p0f, which only look at one signal type and have not been updated in years, and argues that nothing else on the market merges multiple passive signals into one scored result. It can run in two ways: watching a live network interface, which needs root access and Python 3.11 or newer, or analyzing an already captured PCAP file, which does not need root. Results can be printed to the terminal or saved as JSON. Its detection rules are stored as readable YAML files describing the network patterns tied to each operating system or browser, and new rules can be added by dropping in more YAML files, which are picked up automatically. The README describes its intended use for authorized network monitoring: quietly mapping devices during a penetration test's early stages, spotting unexpected devices on a network, and reconstructing which systems were active from old traffic captures. It states plainly that it is meant only for networks the user owns or has explicit permission to monitor, and that passive fingerprinting still falls under a recognized network sniffing technique that needs proper authorization first. The project is licensed under GPL-3.0.
A passive network fingerprinting tool that identifies operating systems and devices from ordinary traffic, without sending any packets.
Mainly Python. The stack also includes Python, YAML.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.