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