Patches from Matthias Drochner (thanks !)
Version 2.0.8:
-------------
More fingerprints, signature cleanup.
p0fping.c and diagnostic queries added.
Socket ownership fix when dropping privs.
Some -O signatures.
Version 2.0.7:
--------------
Added -0 mode for port 0 wildcards in queries.
Added -e option to make p0f work on some boxes.
HDLC support added.
New fingerprints, including Windows Vista betas.
[BUG] Fixed timezone in logs after chroot().
[BUG] Unlikely command-line overflow with VLANs fixed.
Version 2.0.6:
--------------
[BUG] Fixed pcap naming madness.
Support for Cygwin.
More signatures. Plenty of -A sigs from Ryan Kruse.
[BUG] Fix to a command-line parsing snafu with sprintf; shame on me ;-)
Timestamps in masquerade detection.
Write PID to /var/run/p0f.pid
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
- ok'ed wiz@, snj@
- Grab maintainership
- Remove DIST_SUBDIR directive
Verison 2.0.5:
--------------
[BUG] OpenBSD compile fix.
Support for 802.1Q.
New signatures.
Speel-chceked teh docuhmentation!
Absolutely experimental support for open connection fingerprinting (-O).
Synced manpage and documentation.
Added several -O signatures.
- Replace SED with SUBST.*
- Improve DESCR
- ok'ed snj@/wiz@
From the Changelog:
Verison 2.0.4:
--------------
More signatures.
Improved documentation, mentions of p0f_db, etc.
[BUG] Fixed a minor problem with installation on systems w/o /usr/man/.
[BUG] Fixed a DLT_NULL problem, added a new loopback signature.
Multiple timestamp options, timestamps now read from pcap dumps.
Sync with new Windows port code.
[BUG] Fixed one-line reporting for masquerade detection.
changes/fixes include:
Iproved -F.
Masquerade detection code now checks for time going backwards in
timestamps.
Added uptime in query data and p0fq.c.
Added -F fuzzy TTL matching option.
More signatures.
[BUG] Missing ENDIAN define on SunOS? Added to Makefile. It now
defaults to big endian, perhaps worth auto-detecting in case of
Solaris on x86 or such.
-r now also resolves the target host.
Added -X option, sendsyn added. Better Makefile and p0f*.fp documentation.
Automatic wildcard for WSS of 12345 and size exceeding PACKET_BIG.
Sheesh, more cleanup in p0fr.fp explanations and p0f.c RST recognition
code.
Added wildcard for packet size; massive ACK probing to diagnose the
payload quoting issue. Many new RST fingerprints for network
devices.
Updated some tos.h signatures.
see doc/ChangeLog for a complete list
2) Fix the SunOS makefile, which isn't complete. Tidy up while here.
3) Re-order COMMENT/HOMEPAGE to appease pkglint.
provided by Jonathan Perkin in PR 22916.
patch provided in PR 22939 by Adrian Portelli
Version 2.0.2:
--------------
Cleanup of the RST mess in p0fr.fp and p0f.c parser.
Added isprint() text preview for -x mode.
[BUG] Fixed packet size reporting and matching for packets over 255 bytes
(_u8 -> _u16).
Extended RST+ACK to also cover plain RST, added some sane explanations
of the purpose of each mode. Clarification of the RST vs RST+ACK
occurences; test/sendack.c added.
Added -R option for RST+ACK fingerprinting. Created an empty database.
Moved databases from /etc to /etc/p0f/
Windows memory leak mystery solved.
No longer using pcap timeouts for anything. They suck. I first wanted
to use SIGALRM with no SA_RESTART, but it's broken on Linux on this
particular syscall. Fortunately, I spotted an mis-documented pcap_fileno and can now use select(). I just hope it won't break.
Note to self: despite of the documentation saying pcap_open_live with
timeout 0 will simply never timeout (which is irrelevant for
pcap_loop anyway), it does not work on FreeBSD, inhibiting all packet
processing instead. Works fine on Linux. Go figure.
Some minor p0fq fixes to prevent warnings.
Added some SYN+ACK signatures from rfp (p0fa.fp). Hooray!
p0fa.fp is now official. Moved from test/ to ., etc. README updated.
[BUG] Fixed the default TTL for IRIX and Tru64 (60), added a note to
p0f.fp, fixed TTL checker to also support %30 values.
[BUG] Fixed query mode lookup. The old code didn't handle reverse
lookups properly.
Masquerade scoring data is now available via the query interface.
P0fq utility updated to handle this.
Dropped /bin/bash from p0frep, /bin/sh would suffice.
Added a new -c option for -M and -Q cache size scaling, packet ratio
information on Ctrl-C to help estimate the right parameter.
Extra masquerade detection flags: -T for threshold, -V for detailed
flag breakdown; masquerade reporting now recognizes -r.
The new -w option writes all matching packets to a pcap file (regardless
of -K and -U settings).
Added -M option (unix only until p0f-query.c gets ported). This option
enables advanced masquerade detection based on the cyclic buffer
used by -Q. Added - signature flag to the config file. Some
documentation for the new functionality.
[BUG] Cleaned up the -K and -U semantics with -Q.
Replaced some single-character printfs with putchars in signature
reporting code (should be a tad faster). Added signature check
reporting, generic signature count and some other minor tweaks.
The new -x option provides a hexadecimal TCP/IP packet dump. Useful
when comparing two colliding fingerprints to find some differences
not covered by the current quirks set.
PPPoE interface is now handled correctly on NetBSD.
Added a shoddy manpage and updated makefiles.
Removed E quirk and added E to the regular options; removed needless EOL
append code from the parser. Breaks the old signature format in some
rare cases, but the old quirk is still recognized, and the user will be
advised to change it.
[BUG] Fixed ? option parsing bug that prevented RISC OS signature from
working (and would prevent all ? signatures from working, should there
be any other ;-).
New signatures and other database additions, of course.
[BUG] Fixed a very minor parser bug that could cause it to loop over
an unknown option with a declared length of zero. This is not a DoS
condition, because the parser would quit the loop after parsing max. 16
options anyway.
from webpage:
>v2 is a significantly more accurate, precise and faster brother of the original
>proof-of-concept tool I released in 2000. P0f v1 is largely obsolete...
Changelog:
1.8.3 (Feb 6, 2003)
- Lots of new signatures
- URL's for papers and sites with information on fingerprinting.
- Information on the windows/Cygwin port. .exe for 1.8.3 will
show up soon.
1.8.2.2 (May 13, 2002)
- Rechecked version numbers. (Bill)
- Mysql cleanup and integration
- Mysql quickstart (Marion)
1.8.2.1 (May 12, 2002)
- Mysql Support Added (Evrim ULU <evrim@core.gen.tr>)
- FPS Buffer Length increased from 120 to 150 (Evrim)
- p0f-mysql.conf config file added for mysql connectivity (Evrim)
- parser for p0f.fp was corrected. It was including
wwww:ttt: ... line in the comments. (Evrim)
- mysql/db.sql file is included for creation of db tables (Evrim)
- Makefile.mysql is added - no gnu autoconf support yet. (Evrim)
- New RedHat 7.0 Beta Fischer FP added. (Evrim)
- Max fingerprints raised to 5000 for the moresigs project. (Bill)
1. Developer changed s/Micha³ Zalewski/William Stearns/
2. A lot of new finger prints.
3. GPL -> LGPL license change
Full list (not so big) in ChangeLog
Patch contributed by Dawid Szymañski in PR 19896.
Passive OS fingerprinting technique based on information coming
from remote host when it establishes connection to our system. Captured
packets contains enough information to determine OS - and, unlike
active scanners (nmap, queSO) - without sending anything to this host.
Submitted by in private mail.
Passive OS fingerprinting technique based on information coming
from remote host when it establishes connection to our system. Captured
packets contains enough information to determine OS - and, unlike
active scanners (nmap, queSO) - without sending anything to this host.
Package contributed by Dawid Szymanski <daws@irc.pl> on IRC.