p0f is a versatile passive OS and application fingerprinter, and a tool for detecting NAT/connection sharing. It is useful for penetration testing, routine network monitoring, and forensics, and to aid abuse detection tools such as IDSes, spam filters, or honeypots.