1 # $OpenBSD
: pf.os
,v
1.23 2010/10/04 09:12:48 claudio Exp $
2 # passive OS fingerprinting
3 #
-------------------------
5 # SYN signatures. Those signatures work
for SYN packets only
(duh
!).
7 #
(C
) Copyright
2000-2003 by Michal Zalewski
<lcamtuf@coredump.cx
>
8 #
(C
) Copyright
2003 by Mike Frantzen
<frantzen@w4g.org
>
10 # Permission to use
, copy
, modify
, and distribute
this software
for any
11 # purpose with or without fee is hereby granted
, provided that the above
12 # copyright notice and
this permission notice appear in all copies.
14 # THE SOFTWARE IS PROVIDED
"AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
15 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
16 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
17 # ANY SPECIAL
, DIRECT
, INDIRECT
, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18 # WHATSOEVER RESULTING FROM LOSS OF USE
, DATA OR PROFITS
, WHETHER IN AN
19 # ACTION OF CONTRACT
, NEGLIGENCE OR OTHER TORTIOUS ACTION
, ARISING OUT OF
20 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23 # This fingerprint database is adapted from Michal Zalewski's p0f passive
24 # operating system package. The last database sync was from a Nov
3 2003
28 # Each line in
this file specifies a single fingerprint. Please read the
29 # information below carefully before attempting to append any signatures
30 # reported as UNKNOWN to
this file to avoid mistakes.
32 # We use the following set metrics
for fingerprinting
:
34 #
- Window size
(WSS
) - a highly OS dependent setting used
for TCP
/IP
35 # performance control
(max. amount of data to be sent without ACK
).
36 # Some systems use a fixed value
for initial packets. On other
37 # systems
, it is a multiple of MSS or MTU
(MSS
+40). In some rare
38 # cases
, the value is just arbitrary.
40 # NEW SIGNATURE
: if p0f reported a special value of 'Snn'
, the number
41 # appears to be a multiple of MSS
(MSS
*nn
); a special value of 'Tnn'
42 # means it is a multiple of MTU
((MSS
+40)*nn
). Unless you notice the
43 # value of nn is not fixed
(unlikely
), just copy the Snn or Tnn token
44 # literally. If you know
this device has a simple stack and a fixed
45 # MTU
, you can however multiply S value by MSS
, or T value by MSS
+40,
46 # and put it instead of Snn or Tnn.
48 # If WSS otherwise looks like a fixed value
(for example a multiple
49 # of two
), or
if you can confirm the value is fixed
, please quote
50 # it literally. If there's no apparent pattern in WSS chosen
, you
51 # should consider wildcarding
this value.
53 #
- Overall packet size
- a
function of all IP and TCP options and bugs.
55 # NEW SIGNATURE
: Copy
this value literally.
57 #
- Initial TTL
- We check the actual TTL of a received packet. It can't
58 # be higher than the initial TTL
, and also shouldn't be dramatically
59 # lower
(maximum distance is defined as
40 hops
).
61 # NEW SIGNATURE
: *Never
* copy TTL from a p0f
-reported signature literally.
62 # You need to determine the initial TTL. The best way to do it is to
63 # check the documentation
for a remote system
, or check its settings.
64 # A fairly good method is to simply round the observed TTL up to
65 #
32, 64, 128, or
255, but it should be noted that some obscure devices
66 # might not use round TTLs
(in particular
, some shoddy appliances use
67 #
"original" initial TTL settings
). If not sure
, you can see how many
68 # hops you're away from the remote party with traceroute or mtr.
70 #
- Don't fragment flag
(DF
) - some modern OSes set
this to implement PMTU
71 # discovery. Others do not bother.
73 # NEW SIGNATURE
: Copy
this value literally.
75 #
- Maximum segment size
(MSS
) - this setting is usually link
-dependent. P0f
76 # uses it to determine link type of the remote host.
78 # NEW SIGNATURE
: Always wildcard
this value
, except
for rare cases when
79 # you have an appliance with a fixed value
, know the system supports only
80 # a very limited number of network interface types
, or know the system
81 # is using a value it pulled out of nowhere. Specific unique MSS
82 # can be used to tell Google crawlbots from the rest of the population.
84 #
- Window scaling
(WSCALE
) - this feature is used to scale WSS.
85 # It
extends the size of a TCP
/IP window to
32 bits. Some modern
86 # systems implement
this feature.
88 # NEW SIGNATURE
: Observe several signatures. Initial WSCALE is often set
89 # to zero or other low value. There's usually no need to wildcard
this
92 #
- Timestamp
- some systems that implement timestamps set them to
93 # zero in the initial SYN. This case is detected and handled appropriately.
95 #
- Selective ACK permitted
- a flag set by systems that implement
96 # selective ACK functionality.
98 #
- The sequence of TCP all options
(MSS
, window scaling
, selective ACK
99 # permitted
, timestamp
, NOP
). Other than the options previously
100 # discussed
, p0f also checks
for timestamp option
(a silly
101 # extension to broadcast your uptime
;-), NOP options
(used
for
102 # header padding
) and sackOK option
(selective ACK feature
).
104 # NEW SIGNATURE
: Copy the sequence literally.
106 # To wildcard any value
(except
for initial TTL or TCP options
), replace
107 # it with '
*'. You can also use a modulo operator to match any values
108 # that divide by nnn
- '
%nnn'.
110 # Fingerprint entry format
:
112 # wwww
:ttt
:D
:ss
:OOO...
:OS
:Version
:Subtype
:Details
114 # wwww
- window size
(can be
*, %nnn
, Snn or Tnn
). The special values
115 #
"S" and
"T" which are a multiple of MSS or a multiple of MTU
118 # D
- don't fragment bit
(0 - not set
, 1 - set
)
119 # ss
- overall SYN packet size
120 # OOO
- option value and order specification
(see below
)
121 # OS
- OS genre
(Linux
, Solaris
, Windows
)
122 # Version
- OS Version
(2.0.27 on x86
, etc
)
123 # Subtype
- OS subtype or patchlevel
(SP3
, lo0
)
124 # details
- Generic OS details
126 # If OS genre starts with '
*'
, p0f will not show distance
, link type
127 # and timestamp data. It is useful
for userland TCP
/IP stacks of
128 # network scanners and so on
, where many settings are randomized or
131 # If OS genre starts with @
, it denotes an approximate hit
for a group
132 # of operating systems
(signature reporting still enabled in
this case
).
133 # Use
this feature at the end of
this file to
catch cases
for which
134 # you don't have a precise match
, but can tell it's Windows or FreeBSD
135 # or whatnot by looking at
, say
, flag layout alone.
137 # Option block description is a list of comma or space separated
138 # options in the order they appear in the packet
:
141 # Wnnn
- window scaling option
, value nnn
(or
* or
%nnn
)
142 # Mnnn
- maximum segment size option
, value nnn
(or
* or
%nnn
)
143 # S
- selective ACK OK
145 # T0
- timestamp with a zero value
147 # To denote no TCP options
, use a single '.'.
149 # Please report any additions to
this file
, or any inaccuracies or
150 # problems spotted
, to the maintainers
: lcamtuf@coredump.cx
,
151 # frantzen@openbsd.org and bugs@openbsd.org with a tcpdump packet
152 # capture of the relevant SYN packet
(s
)
154 # A test and submission page is available at
155 # http
://lcamtuf.coredump.cx/p0f-help/
158 # WARNING WARNING WARNING
159 #
-----------------------
161 # Do not add a system X as OS Y just because NMAP says so. It is often
162 # the case that X is a NAT firewall. While nmap is talking to the
163 # device itself
, p0f is fingerprinting the guy behind the firewall
166 # When in doubt
, use common sense
, don't add something that looks like
167 # a completely different system as Linux or FreeBSD or LinkSys router.
168 # Check DNS name
, establish a connection to the remote host and look
169 # at SYN
+ACK
- does it look similar?
171 # Some users tweak their TCP
/IP settings
- enable or disable RFC1323
172 # functionality
, enable or disable timestamps or selective ACK
,
173 # disable PMTU discovery
, change MTU and so on. Always compare a
new rule
174 # to other fingerprints
for this system
, and verify the system isn't
175 #
"customized" before adding it. It is OK to add signature variants
176 # caused by a commonly used software
(personal firewalls
, security
177 # packages
, etc
), but it makes no sense to
try to add every single
178 # possible
/proc
/sys
/net
/ipv4 tweak on Linux or so.
180 # KEEP IN MIND
: Some packet firewalls configured to normalize outgoing
181 # traffic
(OpenBSD pf with
"scrub" enabled
, for example
) will
, well
,
182 # normalize packets. Signatures will not correspond to the originating
183 # system
(and probably not quite to the firewall either
).
185 # NOTE
: Try to keep
this file in some reasonable order
, from most to
186 # least likely systems. This will speed up operation. Also keep most
187 # generic and broad rules near the end.
190 ##########################
191 # Standard OS signatures #
192 ##########################
194 #
----------------- AIX
---------------------
196 # AIX is first because its signatures are close to NetBSD
, MacOS X and
197 # Linux
2.0, but it uses a fairly rare MSSes
, at least sometimes...
198 # This is a shoddy hack
, though.
200 45046:64:0:44:M
*: AIX
:4.3::AIX
4.3
201 16384:64:0:44:M512
: AIX
:4.3:2-3:AIX
4.3.2 and earlier
203 16384:64:0:60:M512
,N
,W
%2,N
,N
,T
: AIX
:4.3:3:AIX
4.3.3-5.2
204 16384:64:0:60:M512
,N
,W
%2,N
,N
,T
: AIX
:5.1-5.2::AIX
4.3.3-5.2
205 32768:64:0:60:M512
,N
,W
%2,N
,N
,T
: AIX
:4.3:3:AIX
4.3.3-5.2
206 32768:64:0:60:M512
,N
,W
%2,N
,N
,T
: AIX
:5.1-5.2::AIX
4.3.3-5.2
207 65535:64:0:60:M512
,N
,W
%2,N
,N
,T
: AIX
:4.3:3:AIX
4.3.3-5.2
208 65535:64:0:60:M512
,N
,W
%2,N
,N
,T
: AIX
:5.1-5.2::AIX
4.3.3-5.2
209 65535:64:0:64:M
*,N
,W1
,N
,N
,T
,N
,N
,S
: AIX
:5.3:ML1
:AIX
5.3 ML1
211 #
----------------- Linux
-------------------
213 # S1
:64:0:44:M
*:A
: Linux
:1.2::Linux
1.2.x
(XXX quirks support
)
214 512:64:0:44:M
*: Linux
:2.0:3x
:Linux
2.0.3x
215 16384:64:0:44:M
*: Linux
:2.0:3x
:Linux
2.0.3x
217 # Endian snafu
! Nelson says
"ha-ha":
218 2:64:0:44:M
*: Linux
:2.0:3x
:Linux
2.0.3x
(MkLinux
) on Mac
219 64:64:0:44:M
*: Linux
:2.0:3x
:Linux
2.0.3x
(MkLinux
) on Mac
222 S4
:64:1:60:M1360
,S
,T
,N
,W0
: Linux
:google
::Linux
(Google crawlbot
)
224 S2
:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.4::Linux
2.4 (big boy
)
225 S3
:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.4:.18-21:Linux
2.4.18 and newer
226 S4
:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.4::Linux
2.4/2.6 <= 2.6.7
227 S4
:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.6:.1-7:Linux
2.4/2.6 <= 2.6.7
228 S4
:64:1:60:M
*,S
,T
,N
,W7
: Linux
:2.6:8:Linux
2.6.8 and newer
(?
)
230 S3
:64:1:60:M
*,S
,T
,N
,W1
: Linux
:2.5::Linux
2.5 (sometimes
2.4)
231 S4
:64:1:60:M
*,S
,T
,N
,W1
: Linux
:2.5-2.6::Linux
2.5/2.6
232 S3
:64:1:60:M
*,S
,T
,N
,W2
: Linux
:2.5::Linux
2.5 (sometimes
2.4)
233 S4
:64:1:60:M
*,S
,T
,N
,W2
: Linux
:2.5::Linux
2.5 (sometimes
2.4)
235 S20
:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.2:20-25:Linux
2.2.20 and newer
236 S22
:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.2::Linux
2.2
237 S11
:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.2::Linux
2.2
239 # Popular cluster config scripts disable timestamps and
241 S4
:64:1:48:M1460
,N
,W0
: Linux
:2.4:cluster
:Linux
2.4 in cluster
243 # This needs to be investigated. On some systems
, WSS
244 # is selected as a multiple of MTU instead of MSS. I got
245 # many submissions
for this for many late versions of
2.4:
246 T4
:64:1:60:M1412
,S
,T
,N
,W0
: Linux
:2.4::Linux
2.4 (late
, uncommon
)
248 # This happens only over loopback
, but let's make folks happy
:
249 32767:64:1:60:M16396
,S
,T
,N
,W0
: Linux
:2.4:lo0
:Linux
2.4 (local
)
250 S8
:64:1:60:M3884
,S
,T
,N
,W0
: Linux
:2.2:lo0
:Linux
2.2 (local
)
253 16384:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.2:Opera
:Linux
2.2 (Opera?
)
254 32767:64:1:60:M
*,S
,T
,N
,W0
: Linux
:2.4:Opera
:Linux
2.4 (Opera?
)
256 # Some fairly common mods
:
257 S4
:64:1:52:M
*,N
,N
,S
,N
,W0
: Linux
:2.4:ts
:Linux
2.4 w
/o timestamps
258 S22
:64:1:52:M
*,N
,N
,S
,N
,W0
: Linux
:2.2:ts
:Linux
2.2 w
/o timestamps
261 #
----------------- FreeBSD
-----------------
263 16384:64:1:44:M
*: FreeBSD
:2.0-2.2::FreeBSD
2.0-4.2
264 16384:64:1:44:M
*: FreeBSD
:3.0-3.5::FreeBSD
2.0-4.2
265 16384:64:1:44:M
*: FreeBSD
:4.0-4.2::FreeBSD
2.0-4.2
266 16384:64:1:60:M
*,N
,W0
,N
,N
,T
: FreeBSD
:4.4::FreeBSD
4.4
268 1024:64:1:60:M
*,N
,W0
,N
,N
,T
: FreeBSD
:4.4::FreeBSD
4.4
270 57344:64:1:44:M
*: FreeBSD
:4.6-4.8:noRFC1323
:FreeBSD
4.6-4.8 (no RFC1323
)
271 57344:64:1:60:M
*,N
,W0
,N
,N
,T
: FreeBSD
:4.6-4.9::FreeBSD
4.6-4.9
273 32768:64:1:60:M
*,N
,W0
,N
,N
,T
: FreeBSD
:4.8-4.11::FreeBSD
4.8-5.1 (or MacOS X
)
274 32768:64:1:60:M
*,N
,W0
,N
,N
,T
: FreeBSD
:5.0-5.1::FreeBSD
4.8-5.1 (or MacOS X
)
275 65535:64:1:60:M
*,N
,W0
,N
,N
,T
: FreeBSD
:4.8-4.11::FreeBSD
4.8-5.2 (or MacOS X
)
276 65535:64:1:60:M
*,N
,W0
,N
,N
,T
: FreeBSD
:5.0-5.2::FreeBSD
4.8-5.2 (or MacOS X
)
277 65535:64:1:60:M
*,N
,W1
,N
,N
,T
: FreeBSD
:4.7-4.11::FreeBSD
4.7-5.2
278 65535:64:1:60:M
*,N
,W1
,N
,N
,T
: FreeBSD
:5.0-5.2::FreeBSD
4.7-5.2
280 # XXX need quirks support
281 #
65535:64:1:60:M
*,N
,W0
,N
,N
,T
:Z
:FreeBSD
:5.1-5.4::5.1-current
(1)
282 #
65535:64:1:60:M
*,N
,W1
,N
,N
,T
:Z
:FreeBSD
:5.1-5.4::5.1-current
(2)
283 #
65535:64:1:60:M
*,N
,W2
,N
,N
,T
:Z
:FreeBSD
:5.1-5.4::5.1-current
(3)
284 #
65535:64:1:44:M
*:Z
:FreeBSD
:5.2::FreeBSD
5.2 (no RFC1323
)
286 #
16384:64:1:60:M
*,N
,N
,N
,N
,N
,N
,T
:FreeBSD
:4.4:noTS
:FreeBSD
4.4 (w
/o timestamps
)
288 #
----------------- NetBSD
------------------
290 16384:64:0:60:M
*,N
,W0
,N
,N
,T
: NetBSD
:1.3::NetBSD
1.3
291 65535:64:0:60:M
*,N
,W0
,N
,N
,T0
: NetBSD
:1.6:opera
:NetBSD
1.6 (Opera
)
292 16384:64:0:60:M
*,N
,W0
,N
,N
,T0
: NetBSD
:1.6::NetBSD
1.6
293 16384:64:1:60:M
*,N
,W0
,N
,N
,T0
: NetBSD
:1.6:df
:NetBSD
1.6 (DF
)
294 65535:64:1:60:M
*,N
,W1
,N
,N
,T0
: NetBSD
:1.6::NetBSD
1.6W
-current
(DF
)
295 65535:64:1:60:M
*,N
,W0
,N
,N
,T0
: NetBSD
:1.6::NetBSD
1.6X
(DF
)
296 32768:64:1:60:M
*,N
,W0
,N
,N
,T0
: NetBSD
:1.6:randomization
:NetBSD
1.6ZH
-current
(w
/ ip_id randomization
)
298 #
----------------- OpenBSD
-----------------
300 16384:64:0:60:M
*,N
,W0
,N
,N
,T
: OpenBSD
:2.6::NetBSD
1.3 (or OpenBSD
2.6)
301 16384:64:1:64:M
*,N
,N
,S
,N
,W0
,N
,N
,T
: OpenBSD
:3.0-4.8::OpenBSD
3.0-4.8
302 16384:64:0:64:M
*,N
,N
,S
,N
,W0
,N
,N
,T
: OpenBSD
:3.0-4.8:no
-df
:OpenBSD
3.0-4.8 (scrub no
-df
)
303 57344:64:1:64:M
*,N
,N
,S
,N
,W0
,N
,N
,T
: OpenBSD
:3.3-4.0::OpenBSD
3.3-4.0
304 57344:64:0:64:M
*,N
,N
,S
,N
,W0
,N
,N
,T
: OpenBSD
:3.3-4.0:no
-df
:OpenBSD
3.3-4.0 (scrub no
-df
)
306 65535:64:1:64:M
*,N
,N
,S
,N
,W0
,N
,N
,T
: OpenBSD
:3.0-4.0:opera
:OpenBSD
3.0-4.0 (Opera
)
308 16384:64:1:64:M
*,N
,N
,S
,N
,W3
,N
,N
,T
: OpenBSD
:4.9::OpenBSD
4.9
309 16384:64:0:64:M
*,N
,N
,S
,N
,W3
,N
,N
,T
: OpenBSD
:4.9:no
-df
:OpenBSD
4.9 (scrub no
-df
)
311 #
----------------- DragonFly BSD
-----------------
313 57344:64:1:60:M
*,N
,W0
,N
,N
,T
: DragonFly
:1.0:A
:DragonFly
1.0A
314 57344:64:0:64:M
*,N
,W0
,N
,N
,S
,N
,N
,T
: DragonFly
:1.2-1.12::DragonFly
1.2-1.12
315 5840:64:1:60:M
*,S
,T
,N
,W4
: DragonFly
:2.0-2.1::DragonFly
2.0-2.1
316 57344:64:0:64:M
*,N
,W0
,N
,N
,S
,N
,N
,T
: DragonFly
:2.2-2.3::DragonFly
2.2-2.3
317 57344:64:0:64:M
*,N
,W5
,N
,N
,S
,N
,N
,T
: DragonFly
:2.4-2.7::DragonFly
2.4-2.7
319 #
----------------- Solaris
-----------------
321 S17
:64:1:64:N
,W3
,N
,N
,T0
,N
,N
,S
,M
*: Solaris
:8:RFC1323
:Solaris
8 RFC1323
322 S17
:64:1:48:N
,N
,S
,M
*: Solaris
:8::Solaris
8
323 S17
:255:1:44:M
*: Solaris
:2.5-2.7::Solaris
2.5 to
7
325 S6
:255:1:44:M
*: Solaris
:2.6-2.7::Solaris
2.6 to
7
326 S23
:255:1:44:M
*: Solaris
:2.5:1:Solaris
2.5.1
327 S34
:64:1:48:M
*,N
,N
,S
: Solaris
:2.9::Solaris
9
328 S44
:255:1:44:M
*: Solaris
:2.7::Solaris
7
330 4096:64:0:44:M1460
: SunOS
:4.1::SunOS
4.1.x
332 S34
:64:1:52:M
*,N
,W0
,N
,N
,S
: Solaris
:10:beta
:Solaris
10 (beta
)
333 32850:64:1:64:M
*,N
,N
,T
,N
,W1
,N
,N
,S
: Solaris
:10::Solaris
10 1203
335 #
----------------- IRIX
--------------------
337 49152:64:0:44:M
*: IRIX
:6.4::IRIX
6.4
338 61440:64:0:44:M
*: IRIX
:6.2-6.5::IRIX
6.2-6.5
339 49152:64:0:52:M
*,N
,W2
,N
,N
,S
: IRIX
:6.5:RFC1323
:IRIX
6.5 (RFC1323
)
340 49152:64:0:52:M
*,N
,W3
,N
,N
,S
: IRIX
:6.5:RFC1323
:IRIX
6.5 (RFC1323
)
342 61440:64:0:48:M
*,N
,N
,S
: IRIX
:6.5:12-21:IRIX
6.5.12 - 6.5.21
343 49152:64:0:48:M
*,N
,N
,S
: IRIX
:6.5:15-21:IRIX
6.5.15 - 6.5.21
345 49152:60:0:64:M
*,N
,W2
,N
,N
,T
,N
,N
,S
: IRIX
:6.5:IP27
:IRIX
6.5 IP27
348 #
----------------- Tru64
-------------------
350 32768:64:1:48:M
*,N
,W0
: Tru64
:4.0::Tru64
4.0 (or OS
/2 Warp
4)
351 32768:64:0:48:M
*,N
,W0
: Tru64
:5.0::Tru64
5.0
352 8192:64:0:44:M1460
: Tru64
:5.1:noRFC1323
:Tru64
6.1 (no RFC1323
) (or QNX
6)
353 61440:64:0:48:M
*,N
,W0
: Tru64
:5.1a
:JP4
:Tru64 v5.1a JP4
(or OpenVMS
7.x on Compaq
5.x stack
)
355 #
----------------- OpenVMS
-----------------
357 6144:64:1:60:M
*,N
,W0
,N
,N
,T
: OpenVMS
:7.2::OpenVMS
7.2 (Multinet
4.4 stack
)
359 #
----------------- MacOS
-------------------
361 # XXX Need EOL tcp opt support
362 # S2
:255:1:48:M
*,W0
,E
:.
:MacOS
:8.6 classic
364 # XXX some of these use EOL too
365 16616:255:1:48:M
*,W0
: MacOS
:7.3-7.6:OTTCP
:MacOS
7.3-8.6 (OTTCP
)
366 16616:255:1:48:M
*,W0
: MacOS
:8.0-8.6:OTTCP
:MacOS
7.3-8.6 (OTTCP
)
367 16616:255:1:48:M
*,N
,N
,N
: MacOS
:8.1-8.6:OTTCP
:MacOS
8.1-8.6 (OTTCP
)
368 32768:255:1:48:M
*,W0
,N
: MacOS
:9.0-9.2::MacOS
9.0-9.2
369 65535:255:1:48:M
*,N
,N
,N
,N
: MacOS
:9.1::MacOS
9.1 (OT
2.7.4)
372 #
----------------- Windows
-----------------
374 # Windows TCP
/IP stack is a mess. For most recent XP
, 2000 and
375 # even
98, the patchlevel
, not the actual OS version
, is more
376 # relevant to the signature. They share the same code
, so it would
377 # seem. Luckily
for us
, almost all Windows
9x boxes have an
378 # awkward MSS of
536, which I use to tell one from another
379 # in most difficult cases.
381 8192:32:1:44:M
*: Windows
:3.11::Windows
3.11 (Tucows
)
382 S44
:64:1:64:M
*,N
,W0
,N
,N
,T0
,N
,N
,S
: Windows
:95::Windows
95
383 8192:128:1:64:M
*,N
,W0
,N
,N
,T0
,N
,N
,S
: Windows
:95:b
:Windows
95b
385 # There were so many tweaking tools and so many stack versions
for
386 # Windows
98 it is no longer possible to tell them from each other
387 # without some very serious research. Until then
, there's an insane
388 # number of signatures
, for your amusement
:
390 S44
:32:1:48:M
*,N
,N
,S
: Windows
:98:lowTTL
:Windows
98 (low TTL
)
391 8192:32:1:48:M
*,N
,N
,S
: Windows
:98:lowTTL
:Windows
98 (low TTL
)
392 %8192:64:1:48:M536
,N
,N
,S
: Windows
:98::Windows
98
393 %8192:128:1:48:M536
,N
,N
,S
: Windows
:98::Windows
98
394 S4
:64:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
395 S6
:64:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
396 S12
:64:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
397 T30
:64:1:64:M1460
,N
,W0
,N
,N
,T0
,N
,N
,S
: Windows
:98::Windows
98
398 32767:64:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
399 37300:64:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
400 46080:64:1:52:M
*,N
,W3
,N
,N
,S
: Windows
:98:RFC1323
:Windows
98 (RFC1323
)
401 65535:64:1:44:M
*: Windows
:98:noSack
:Windows
98 (no sack
)
402 S16
:128:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
403 S16
:128:1:64:M
*,N
,W0
,N
,N
,T0
,N
,N
,S
: Windows
:98::Windows
98
404 S26
:128:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
405 T30
:128:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
406 32767:128:1:52:M
*,N
,W0
,N
,N
,S
: Windows
:98::Windows
98
407 60352:128:1:48:M
*,N
,N
,S
: Windows
:98::Windows
98
408 60352:128:1:64:M
*,N
,W2
,N
,N
,T0
,N
,N
,S
: Windows
:98::Windows
98
410 # What's with
1414 on NT?
411 T31
:128:1:44:M1414
: Windows
:NT
:4.0:Windows NT
4.0 SP6a
412 64512:128:1:44:M1414
: Windows
:NT
:4.0:Windows NT
4.0 SP6a
413 8192:128:1:44:M
*: Windows
:NT
:4.0:Windows NT
4.0 (older
)
415 # Windows XP and
2000. Most of the signatures that were
416 # either dubious or non
-specific
(no service pack data
)
417 # were deleted and replaced with generics at the end.
419 65535:128:1:48:M
*,N
,N
,S
: Windows
:2000:SP4
:Windows
2000 SP4
, XP SP1
420 65535:128:1:48:M
*,N
,N
,S
: Windows
:XP
:SP1
:Windows
2000 SP4
, XP SP1
421 %8192:128:1:48:M
*,N
,N
,S
: Windows
:2000:SP2
+:Windows
2000 SP2
, XP SP1
(seldom
98 4.10.2222)
422 %8192:128:1:48:M
*,N
,N
,S
: Windows
:XP
:SP1
:Windows
2000 SP2
, XP SP1
(seldom
98 4.10.2222)
423 S20
:128:1:48:M
*,N
,N
,S
: Windows
:2000::Windows
2000/XP SP3
424 S20
:128:1:48:M
*,N
,N
,S
: Windows
:XP
:SP3
:Windows
2000/XP SP3
425 S45
:128:1:48:M
*,N
,N
,S
: Windows
:2000:SP4
:Windows
2000 SP4
, XP SP
1
426 S45
:128:1:48:M
*,N
,N
,S
: Windows
:XP
:SP1
:Windows
2000 SP4
, XP SP
1
427 40320:128:1:48:M
*,N
,N
,S
: Windows
:2000:SP4
:Windows
2000 SP4
429 S6
:128:1:48:M
*,N
,N
,S
: Windows
:2000:SP2
:Windows XP
, 2000 SP2
+
430 S6
:128:1:48:M
*,N
,N
,S
: Windows
:XP
::Windows XP
, 2000 SP2
+
431 S12
:128:1:48:M
*,N
,N
,S
: Windows
:XP
:SP1
:Windows XP SP1
432 S44
:128:1:48:M
*,N
,N
,S
: Windows
:2000:SP3
:Windows Pro SP1
, 2000 SP3
433 S44
:128:1:48:M
*,N
,N
,S
: Windows
:XP
:SP1
:Windows Pro SP1
, 2000 SP3
434 64512:128:1:48:M
*,N
,N
,S
: Windows
:2000:SP3
:Windows SP1
, 2000 SP3
435 64512:128:1:48:M
*,N
,N
,S
: Windows
:XP
:SP1
:Windows SP1
, 2000 SP3
436 32767:128:1:48:M
*,N
,N
,S
: Windows
:2000:SP4
:Windows SP1
, 2000 SP4
437 32767:128:1:48:M
*,N
,N
,S
: Windows
:XP
:SP1
:Windows SP1
, 2000 SP4
441 S52
:128:1:48:M1260
,N
,N
,S
: Windows
:2000:cisco
:Windows XP
/2000 via Cisco
442 S52
:128:1:48:M1260
,N
,N
,S
: Windows
:XP
:cisco
:Windows XP
/2000 via Cisco
443 65520:128:1:48:M
*,N
,N
,S
: Windows
:XP
::Windows XP bare
-bone
444 16384:128:1:52:M536
,N
,W0
,N
,N
,S
: Windows
:2000:ZoneAlarm
:Windows
2000 w
/ZoneAlarm?
445 2048:255:0:40:.
: Windows
:.NET
::Windows .NET Enterprise Server
447 44620:64:0:48:M
*,N
,N
,S
: Windows
:ME
::Windows ME no SP
(?
)
448 S6
:255:1:48:M536
,N
,N
,S
: Windows
:95:winsock2
:Windows
95 winsock
2
449 32768:32:1:52:M1460
,N
,W0
,N
,N
,S
: Windows
:2003:AS
:Windows
2003 AS
452 # No need to be more specific
, it passes
:
453 #
*:128:1:48:M
*,N
,N
,S
:U
:-Windows
:XP
/2000 while downloading
(leak
!) XXX quirk
454 # there is an equiv similar generic sig w
/o the quirk
456 #
----------------- HP
/UX
-------------------
458 32768:64:1:44:M
*: HP
-UX
:B
.10.20::HP
-UX B
.10.20
459 32768:64:0:48:M
*,W0
,N
: HP
-UX
:11.0::HP
-UX
11.0
460 32768:64:1:48:M
*,W0
,N
: HP
-UX
:11.10::HP
-UX
11.0 or
11.11
461 32768:64:1:48:M
*,W0
,N
: HP
-UX
:11.11::HP
-UX
11.0 or
11.11
463 # Whoa. Hardcore WSS.
464 0:64:0:48:M
*,W0
,N
: HP
-UX
:B
.11.00:A
:HP
-UX B
.11.00 A
(RFC1323
)
466 #
----------------- RiscOS
------------------
468 # We don't yet support the ?
12 TCP option
469 #
16384:64:1:68:M1460
,N
,W0
,N
,N
,T
,N
,N
,?
12: RISCOS
:3.70-4.36::RISC OS
3.70-4.36
470 12288:32:0:44:M536
: RISC OS
:3.70:4.10:RISC OS
3.70 inet
4.10
473 #
4096:64:1:56:M1460
,N
,N
,T
:T
: RISC OS
:3.70:freenet
:RISC OS
3.70 freenet
2.00
477 #
----------------- BSD
/OS
------------------
479 # Once again
, power of two WSS is also shared by MacOS X with DF set
480 8192:64:1:60:M1460
,N
,W0
,N
,N
,T
: BSD
/OS
:3.1::BSD
/OS
3.1-4.3 (or MacOS X
10.2 w
/DF
)
481 8192:64:1:60:M1460
,N
,W0
,N
,N
,T
: BSD
/OS
:4.0-4.3::BSD
/OS
3.1-4.3 (or MacOS X
10.2)
484 #
---------------- NewtonOS
-----------------
486 4096:64:0:44:M1420
: NewtonOS
:2.1::NewtonOS
2.1
488 #
---------------- NeXTSTEP
-----------------
490 S4
:64:0:44:M1024
: NeXTSTEP
:3.3::NeXTSTEP
3.3
491 S8
:64:0:44:M512
: NeXTSTEP
:3.3::NeXTSTEP
3.3
493 #
------------------ BeOS
-------------------
495 1024:255:0:48:M
*,N
,W0
: BeOS
:5.0-5.1::BeOS
5.0-5.1
496 12288:255:0:44:M1402
: BeOS
:5.0::BeOS
5.0.x
498 #
------------------ OS
/400 -----------------
500 8192:64:1:60:M1440
,N
,W0
,N
,N
,T
: OS
/400:VR4
::OS
/400 VR4
/R5
501 8192:64:1:60:M1440
,N
,W0
,N
,N
,T
: OS
/400:VR5
::OS
/400 VR4
/R5
502 4096:64:1:60:M1440
,N
,W0
,N
,N
,T
: OS
/400:V4R5
:CF67032
:OS
/400 V4R5
+ CF67032
505 #
28672:64:0:44:M1460
:A
:OS
/390:?
507 #
------------------ ULTRIX
-----------------
509 16384:64:0:40:.
: ULTRIX
:4.5::ULTRIX
4.5
511 #
------------------- QNX
-------------------
513 S16
:64:0:44:M512
: QNX
:::QNX demodisk
515 #
------------------ Novell
-----------------
517 16384:128:1:44:M1460
: Novell
:NetWare
:5.0:Novel Netware
5.0
518 6144:128:1:44:M1460
: Novell
:IntranetWare
:4.11:Novell IntranetWare
4.11
519 6144:128:1:44:M1368
: Novell
:BorderManager
::Novell BorderManager ?
521 6144:128:1:52:M
*,W0
,N
,S
,N
,N
: Novell
:Netware
:6:Novell Netware
6 SP3
524 #
----------------- SCO
------------------
525 S3
:64:1:60:M1460
,N
,W0
,N
,N
,T
: SCO
:UnixWare
:7.1:SCO UnixWare
7.1
526 S17
:64:1:60:M1380
,N
,W0
,N
,N
,T
: SCO
:UnixWare
:7.1:SCO UnixWare
7.1.3 MP3
527 S23
:64:1:44:M1380
: SCO
:OpenServer
:5.0:SCO OpenServer
5.0
529 #
------------------- DOS
-------------------
531 2048:255:0:44:M536
: DOS
:WATTCP
:1.05:DOS Arachne via WATTCP
/1.05
532 T2
:255:0:44:M984
: DOS
:WATTCP
:1.05Arachne
:Arachne via WATTCP
/1.05 (eepro
)
534 #
------------------ OS
/2 -------------------
536 S56
:64:0:44:M512
: OS
/2:4::OS
/2 4
537 28672:64:0:44:M1460
: OS
/2:4::OS
/2 Warp
4.0
539 #
----------------- TOPS
-20 -----------------
541 # Another hardcore MSS
, one of the ACK leakers hunted down.
542 # XXX QUIRK
0:64:0:44:M1460
:A
:TOPS
-20:version
7
543 0:64:0:44:M1460
: TOPS
-20:7::TOPS
-20 version
7
545 #
----------------- FreeMiNT
----------------
547 S44
:255:0:44:M536
: FreeMiNT
:1:16A
:FreeMiNT
1 patch
16A
(Atari
)
549 #
------------------ AMIGA
------------------
552 # S32
:64:1:56:M
*,N
,N
,S
,N
,N
,?
12:.
:AMIGA
:3.9 BB2 with Miami stack
554 #
------------------ Plan9
------------------
556 65535:255:0:48:M1460
,W0
,N
: Plan9
:4::Plan9 edition
4
558 #
----------------- AMIGAOS
-----------------
560 16384:64:1:48:M1560
,N
,N
,S
: AMIGAOS
:3.9::AMIGAOS
3.9 BB2 MiamiDX
562 ###########################################
563 # Appliance
/ embedded
/ other signatures #
564 ###########################################
566 #
---------- Firewalls
/ routers
------------
568 S12
:64:1:44:M1460
: @Checkpoint
:::Checkpoint
(unknown
1)
569 S12
:64:1:48:N
,N
,S
,M1460
: @Checkpoint
:::Checkpoint
(unknown
2)
570 4096:32:0:44:M1460
: ExtremeWare
:4.x
::ExtremeWare
4.x
573 # S32
:64:0:68:M512
,N
,W0
,N
,N
,T
,N
,N
,?
12:.
:Nokia
:IPSO w
/Checkpoint NG FP3
574 # S16
:64:0:68:M1024
,N
,W0
,N
,N
,T
,N
,N
,?
12:.
:Nokia
:IPSO
3.7 build
026
576 S4
:64:1:60:W0
,N
,S
,T
,M1460
: FortiNet
:FortiGate
:50:FortiNet FortiGate
50
578 8192:64:1:44:M1460
: Eagle
:::Eagle Secure Gateway
580 S52
:128:1:48:M1260
,N
,N
,N
,N
: LinkSys
:WRV54G
::LinkSys WRV54G VPN router
584 #
------- Switches and other stuff
----------
586 4128:255:0:44:M
*: Cisco
:::Cisco Catalyst
3500, 7500 etc
587 S8
:255:0:44:M
*: Cisco
:12008::Cisco
12008
588 60352:128:1:64:M1460
,N
,W2
,N
,N
,T
,N
,N
,S
: Alteon
:ACEswitch
::Alteon ACEswitch
589 64512:128:1:44:M1370
: Nortel
:Contivity Client
::Nortel Conectivity Client
592 #
---------- Caches and whatnots
------------
594 S4
:64:1:52:M1460
,N
,N
,S
,N
,W0
: AOL
:web cache
::AOL web cache
596 32850:64:1:64:N
,W1
,N
,N
,T
,N
,N
,S
,M
*: NetApp
:5.x
::NetApp Data OnTap
5.x
597 16384:64:1:64:M1460
,N
,N
,S
,N
,W0
,N
: NetApp
:5.3:1:NetApp
5.3.1
598 65535:64:0:64:M1460
,N
,N
,S
,N
,W
*,N
,N
,T
: NetApp
:5.3-5.5::NetApp
5.3-5.5
599 65535:64:0:60:M1460
,N
,W0
,N
,N
,T
: NetApp
:CacheFlow
::NetApp CacheFlow
600 8192:64:1:64:M1460
,N
,N
,S
,N
,W0
,N
,N
,T
: NetApp
:5.2:1:NetApp NetCache
5.2.1
601 20480:64:1:64:M1460
,N
,N
,S
,N
,W0
,N
,N
,T
: NetApp
:4.1::NetApp NetCache4.1
603 65535:64:0:60:M1460
,N
,W0
,N
,N
,T
: CacheFlow
:4.1::CacheFlow CacheOS
4.1
604 8192:64:0:60:M1380
,N
,N
,N
,N
,N
,N
,T
: CacheFlow
:1.1::CacheFlow CacheOS
1.1
606 S4
:64:0:48:M1460
,N
,N
,S
: Cisco
:Content Engine
::Cisco Content Engine
608 27085:128:0:40:.
: Dell
:PowerApp cache
::Dell PowerApp
(Linux
-based
)
610 65535:255:1:48:N
,W1
,M1460
: Inktomi
:crawler
::Inktomi crawler
611 S1
:255:1:60:M1460
,S
,T
,N
,W0
: LookSmart
:ZyBorg
::LookSmart ZyBorg
613 16384:255:0:40:.
: Proxyblocker
:::Proxyblocker
(what's
this?
)
615 65535:255:0:48:M
*,N
,N
,S
: Redline
:::Redline T|X
2200
617 32696:128:0:40:M1460
: Spirent
:Avalanche
::Spirent Web Avalanche HTTP benchmarking engine
619 #
----------- Embedded systems
--------------
621 S9
:255:0:44:M536
: PalmOS
:Tungsten
:C
:PalmOS Tungsten C
622 S5
:255:0:44:M536
: PalmOS
:3::PalmOS
3/4
623 S5
:255:0:44:M536
: PalmOS
:4::PalmOS
3/4
624 S4
:255:0:44:M536
: PalmOS
:3:5:PalmOS
3.5
625 2948:255:0:44:M536
: PalmOS
:3:5:PalmOS
3.5.3 (Handera
)
626 S29
:255:0:44:M536
: PalmOS
:5::PalmOS
5.0
627 16384:255:0:44:M1398
: PalmOS
:5.2:Clie
:PalmOS
5.2 (Clie
)
628 S14
:255:0:44:M1350
: PalmOS
:5.2:Treo
:PalmOS
5.2.1 (Treo
)
630 S23
:64:1:64:N
,W1
,N
,N
,T
,N
,N
,S
,M1460
: SymbianOS
:7::SymbianOS
7
632 8192:255:0:44:M1460
: SymbianOS
:6048::Symbian OS
6048 (Nokia
7650?
)
633 8192:255:0:44:M536
: SymbianOS
:9210::Symbian OS
(Nokia
9210?
)
634 S22
:64:1:56:M1460
,T
,S
: SymbianOS
:P800
::Symbian OS ?
(SE P800?
)
635 S36
:64:1:56:M1360
,T
,S
: SymbianOS
:6600::Symbian OS
60xx
(Nokia
6600?
)
639 5840:64:1:60:M1452
,S
,T
,N
,W1
: Zaurus
:3.10::Zaurus
3.10
641 32768:128:1:64:M1460
,N
,W0
,N
,N
,T0
,N
,N
,S
: PocketPC
:2002::PocketPC
2002
643 S1
:255:0:44:M346
: Contiki
:1.1:rc0
:Contiki
1.1-rc0
645 4096:128:0:44:M1460
: Sega
:Dreamcast
:3.0:Sega Dreamcast Dreamkey
3.0
646 T5
:64:0:44:M536
: Sega
:Dreamcast
:HKT
-3020:Sega Dreamcast HKT
-3020 (browser disc
51027)
647 S22
:64:1:44:M1460
: Sony
:PS2
::Sony Playstation
2 (SOCOM?
)
649 S12
:64:0:44:M1452
: AXIS
:5600:v5.64
:AXIS Printer Server
5600 v5.64
651 3100:32:1:44:M1460
: Windows
:CE
:2.0:Windows CE
2.0
657 1024:64:0:40:.
: *NMAP
:syn scan
:1:NMAP syn scan
(1)
658 2048:64:0:40:.
: *NMAP
:syn scan
:2:NMAP syn scan
(2)
659 3072:64:0:40:.
: *NMAP
:syn scan
:3:NMAP syn scan
(3)
660 4096:64:0:40:.
: *NMAP
:syn scan
:4:NMAP syn scan
(4)
662 # Requires quirks support
663 #
1024:64:0:40:.
:A
:*NMAP
:TCP sweep probe
(1)
664 #
2048:64:0:40:.
:A
:*NMAP
:TCP sweep probe
(2)
665 #
3072:64:0:40:.
:A
:*NMAP
:TCP sweep probe
(3)
666 #
4096:64:0:40:.
:A
:*NMAP
:TCP sweep probe
(4)
668 1024:64:0:60:W10
,N
,M265
,T
: *NMAP
:OS
:1:NMAP OS detection probe
(1)
669 2048:64:0:60:W10
,N
,M265
,T
: *NMAP
:OS
:2:NMAP OS detection probe
(2)
670 3072:64:0:60:W10
,N
,M265
,T
: *NMAP
:OS
:3:NMAP OS detection probe
(3)
671 4096:64:0:60:W10
,N
,M265
,T
: *NMAP
:OS
:4:NMAP OS detection probe
(4)
673 32767:64:0:40:.
: *NAST
:::NASTsyn scan
675 # Requires quirks support
676 #
12345:255:0:40:.
:A
:-p0f
:sendsyn utility
679 #####################################
680 # Generic signatures
- just in case #
681 #####################################
683 #
*:64:1:60:M
*,N
,W
*,N
,N
,T
: @FreeBSD
:4.0-4.9::FreeBSD
4.x
/5.x
684 #
*:64:1:60:M
*,N
,W
*,N
,N
,T
: @FreeBSD
:5.0-5.1::FreeBSD
4.x
/5.x
686 *:128:1:52:M
*,N
,W0
,N
,N
,S
: @Windows
:XP
:RFC1323
:Windows XP
/2000 (RFC1323 no tstamp
)
687 *:128:1:52:M
*,N
,W0
,N
,N
,S
: @Windows
:2000:RFC1323
:Windows XP
/2000 (RFC1323 no tstamp
)
688 *:128:1:52:M
*,N
,W
*,N
,N
,S
: @Windows
:XP
:RFC1323
:Windows XP
/2000 (RFC1323 no tstamp
)
689 *:128:1:52:M
*,N
,W
*,N
,N
,S
: @Windows
:2000:RFC1323
:Windows XP
/2000 (RFC1323 no tstamp
)
690 *:128:1:64:M
*,N
,W0
,N
,N
,T0
,N
,N
,S
: @Windows
:XP
:RFC1323
:Windows XP
/2000 (RFC1323
)
691 *:128:1:64:M
*,N
,W0
,N
,N
,T0
,N
,N
,S
: @Windows
:2000:RFC1323
:Windows XP
/2000 (RFC1323
)
692 *:128:1:64:M
*,N
,W
*,N
,N
,T0
,N
,N
,S
: @Windows
:XP
:RFC1323
:Windows XP
(RFC1323
, w
+)
693 *:128:1:48:M536
,N
,N
,S
: @Windows
:98::Windows
98
694 *:128:1:48:M
*,N
,N
,S
: @Windows
:XP
::Windows XP
/2000
695 *:128:1:48:M
*,N
,N
,S
: @Windows
:2000::Windows XP
/2000