recog-intrigue 2.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +17 -0
  4. data/.github/ISSUE_TEMPLATE/fingerprint_request.md +27 -0
  5. data/.github/PULL_REQUEST_TEMPLATE +24 -0
  6. data/.gitignore +14 -0
  7. data/.rbenv-gemset +1 -0
  8. data/.rspec +3 -0
  9. data/.ruby-gemset +1 -0
  10. data/.ruby-version +1 -0
  11. data/.travis.yml +25 -0
  12. data/.yardopts +1 -0
  13. data/CONTRIBUTING.md +171 -0
  14. data/COPYING +23 -0
  15. data/Gemfile +10 -0
  16. data/LICENSE +7 -0
  17. data/README.md +85 -0
  18. data/Rakefile +22 -0
  19. data/bin/recog_export +81 -0
  20. data/bin/recog_match +55 -0
  21. data/bin/recog_standardize +118 -0
  22. data/bin/recog_verify +64 -0
  23. data/cpe-remap.yaml +134 -0
  24. data/features/data/failing_banners_fingerprints.xml +20 -0
  25. data/features/data/matching_banners_fingerprints.xml +23 -0
  26. data/features/data/multiple_banners_fingerprints.xml +32 -0
  27. data/features/data/no_tests.xml +3 -0
  28. data/features/data/sample_banner.txt +2 -0
  29. data/features/data/successful_tests.xml +18 -0
  30. data/features/data/tests_with_failures.xml +20 -0
  31. data/features/data/tests_with_warnings.xml +17 -0
  32. data/features/match.feature +36 -0
  33. data/features/support/aruba.rb +3 -0
  34. data/features/support/env.rb +6 -0
  35. data/features/verify.feature +48 -0
  36. data/identifiers/README.md +47 -0
  37. data/identifiers/os_architecture.txt +20 -0
  38. data/identifiers/os_device.txt +52 -0
  39. data/identifiers/os_family.txt +160 -0
  40. data/identifiers/os_product.txt +199 -0
  41. data/identifiers/service_family.txt +185 -0
  42. data/identifiers/service_product.txt +255 -0
  43. data/identifiers/software_class.txt +26 -0
  44. data/identifiers/software_family.txt +91 -0
  45. data/identifiers/software_product.txt +333 -0
  46. data/identifiers/vendor.txt +405 -0
  47. data/lib/recog.rb +4 -0
  48. data/lib/recog/db.rb +78 -0
  49. data/lib/recog/db_manager.rb +31 -0
  50. data/lib/recog/fingerprint.rb +280 -0
  51. data/lib/recog/fingerprint/regexp_factory.rb +56 -0
  52. data/lib/recog/fingerprint/test.rb +18 -0
  53. data/lib/recog/formatter.rb +51 -0
  54. data/lib/recog/match_reporter.rb +77 -0
  55. data/lib/recog/matcher.rb +94 -0
  56. data/lib/recog/matcher_factory.rb +14 -0
  57. data/lib/recog/nizer.rb +347 -0
  58. data/lib/recog/verifier.rb +39 -0
  59. data/lib/recog/verifier_factory.rb +13 -0
  60. data/lib/recog/verify_reporter.rb +86 -0
  61. data/lib/recog/version.rb +3 -0
  62. data/misc/convert_mysql_err +61 -0
  63. data/misc/order.xsl +17 -0
  64. data/recog-intrigue.gemspec +45 -0
  65. data/requirements.txt +2 -0
  66. data/spec/data/best_os_match_1.yml +17 -0
  67. data/spec/data/best_os_match_2.yml +17 -0
  68. data/spec/data/best_service_match_1.yml +17 -0
  69. data/spec/data/smb_native_os.txt +25 -0
  70. data/spec/data/test_fingerprints.xml +36 -0
  71. data/spec/data/verification_fingerprints.xml +86 -0
  72. data/spec/data/whitespaced_fingerprint.xml +5 -0
  73. data/spec/lib/fingerprint_self_test_spec.rb +174 -0
  74. data/spec/lib/recog/db_spec.rb +98 -0
  75. data/spec/lib/recog/fingerprint/regexp_factory_spec.rb +73 -0
  76. data/spec/lib/recog/fingerprint_spec.rb +112 -0
  77. data/spec/lib/recog/formatter_spec.rb +69 -0
  78. data/spec/lib/recog/match_reporter_spec.rb +91 -0
  79. data/spec/lib/recog/nizer_spec.rb +330 -0
  80. data/spec/lib/recog/verify_reporter_spec.rb +113 -0
  81. data/spec/spec_helper.rb +82 -0
  82. data/update_cpes.py +186 -0
  83. data/xml/apache_modules.xml +1911 -0
  84. data/xml/apache_os.xml +273 -0
  85. data/xml/architecture.xml +36 -0
  86. data/xml/dns_versionbind.xml +761 -0
  87. data/xml/fingerprints.xsd +128 -0
  88. data/xml/ftp_banners.xml +1553 -0
  89. data/xml/h323_callresp.xml +603 -0
  90. data/xml/hp_pjl_id.xml +358 -0
  91. data/xml/html_title.xml +1630 -0
  92. data/xml/http_cookies.xml +411 -0
  93. data/xml/http_servers.xml +3195 -0
  94. data/xml/http_wwwauth.xml +595 -0
  95. data/xml/imap_banners.xml +245 -0
  96. data/xml/ldap_searchresult.xml +711 -0
  97. data/xml/mdns_device-info_txt.xml +1796 -0
  98. data/xml/mdns_workstation_txt.xml +15 -0
  99. data/xml/mysql_banners.xml +1649 -0
  100. data/xml/mysql_error.xml +871 -0
  101. data/xml/nntp_banners.xml +82 -0
  102. data/xml/ntp_banners.xml +1223 -0
  103. data/xml/operating_system.xml +629 -0
  104. data/xml/pop_banners.xml +499 -0
  105. data/xml/rsh_resp.xml +76 -0
  106. data/xml/rtsp_servers.xml +76 -0
  107. data/xml/sip_banners.xml +359 -0
  108. data/xml/sip_user_agents.xml +221 -0
  109. data/xml/smb_native_lm.xml +62 -0
  110. data/xml/smb_native_os.xml +662 -0
  111. data/xml/smtp_banners.xml +1690 -0
  112. data/xml/smtp_debug.xml +39 -0
  113. data/xml/smtp_ehlo.xml +49 -0
  114. data/xml/smtp_expn.xml +82 -0
  115. data/xml/smtp_help.xml +157 -0
  116. data/xml/smtp_mailfrom.xml +20 -0
  117. data/xml/smtp_noop.xml +44 -0
  118. data/xml/smtp_quit.xml +29 -0
  119. data/xml/smtp_rcptto.xml +25 -0
  120. data/xml/smtp_rset.xml +26 -0
  121. data/xml/smtp_turn.xml +26 -0
  122. data/xml/smtp_vrfy.xml +89 -0
  123. data/xml/snmp_sysdescr.xml +6507 -0
  124. data/xml/snmp_sysobjid.xml +430 -0
  125. data/xml/ssh_banners.xml +1968 -0
  126. data/xml/telnet_banners.xml +1595 -0
  127. data/xml/x11_banners.xml +232 -0
  128. data/xml/x509_issuers.xml +134 -0
  129. data/xml/x509_subjects.xml +1268 -0
  130. metadata +304 -0
@@ -0,0 +1,629 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <fingerprints matches="operating_system.name" database_type="util.os" preference="0.80">
3
+ <!--
4
+ Patterns for common names of various operating systems.
5
+ -->
6
+ <!-- Windows begin -->
7
+ <fingerprint pattern="^(?i:(?:Microsoft )?(Windows (?:[a-z]+\s[a-z]+\s|[a-z]+\s)?Server (?:\d{4} R2|\d{4}))(?:,\s|\s)?([a-z]+)?(?: Evaluation)?(?: Edition)?(?:\s|\swith(?:out)? Hyper-V\s)?(SP\d|SP \d|Service Pack \d)?)$">
8
+ <description>Windows Server 2003 and later</description>
9
+ <example os.product="Windows Compute Cluster Server 2003">Windows Compute Cluster Server 2003</example>
10
+ <example os.product="Windows Server 2003" os.edition="Standard">Windows Server 2003, Standard Edition</example>
11
+ <example os.product="Windows Server 2012 R2" os.edition="Standard">Windows Server 2012 R2 Standard Evaluation</example>
12
+ <example os.product="Windows Server 2003 R2" os.edition="Datacenter">Windows Server 2003 R2, Datacenter Edition</example>
13
+ <example os.product="Windows Small Business Server 2003 R2">Windows Small Business Server 2003 R2</example>
14
+ <example os.product="Windows Server 2008" os.edition="Enterprise">Windows Server 2008 Enterprise Edition</example>
15
+ <example os.product="Windows Small Business Server 2008">Windows Small Business Server 2008</example>
16
+ <example os.product="Windows Storage Server 2012 R2">Windows Storage Server 2012 R2</example>
17
+ <example os.product="Windows Server 2008" os.edition="Enterprise" os.version="Service Pack 2">Windows Server 2008 Enterprise without Hyper-V Service Pack 2</example>
18
+ <example os.product="Windows Server 2008" os.edition="Enterprise" os.version="SP1">Windows Server 2008 Enterprise with Hyper-V SP1</example>
19
+ <example os.product="Windows Server 2012 R2" os.edition="Foundation">Windows Server 2012 R2 Foundation Edition</example>
20
+ <param pos="0" name="os.vendor" value="Microsoft"/>
21
+ <param pos="0" name="os.family" value="Windows"/>
22
+ <param pos="1" name="os.product"/>
23
+ <param pos="2" name="os.edition"/>
24
+ <param pos="3" name="os.version"/>
25
+ </fingerprint>
26
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows 10 Mobile(?:\s([a-z]+))?(?: Edition)?)$">
27
+ <description>Windows 10 Mobile</description>
28
+ <example os.product="Windows 10 Mobile">Windows 10 Mobile Edition</example>
29
+ <example os.product="Windows 10 Mobile" os.edition="Enterprise">Windows 10 Mobile Enterprise Edition</example>
30
+ <param pos="0" name="os.vendor" value="Microsoft"/>
31
+ <param pos="0" name="os.family" value="Windows"/>
32
+ <param pos="0" name="os.product" value="Windows 10 Mobile"/>
33
+ <param pos="1" name="os.edition"/>
34
+ <param pos="0" name="os.device" value="Mobile"/>
35
+ </fingerprint>
36
+ <fingerprint pattern="^(?i:(?:Microsoft )?(Windows (?:XP|Vista|7|8|8.1|10))(?:\s)?((?:[a-z]+|[a-z]+, )?(?:[a-z]+|[a-z]+\s[a-z]+)?)?(?: Edition)?(?:\s)?(SP\d|SP \d|Service Pack \d)?)$">
37
+ <description>Windows Desktop XP and later</description>
38
+ <example os.product="Windows XP" os.edition="Professional">Windows XP Professional</example>
39
+ <example os.product="Windows XP" os.edition="Tablet PC">Windows XP Tablet PC Edition</example>
40
+ <example os.product="Windows Vista" os.version="SP1">Windows Vista SP1</example>
41
+ <example os.product="Windows Vista" os.edition="Business N">Windows Vista Business N Edition</example>
42
+ <example os.product="Windows 7" os.edition="Home, Premium N">Windows 7 Home, Premium N Edition</example>
43
+ <example os.product="Windows 8" os.edition="Enterprise">Windows 8 Enterprise Edition</example>
44
+ <example os.product="Windows 8.1">Windows 8.1</example>
45
+ <example os.product="Windows 10" os.edition="Professional">Windows 10 Professional Edition</example>
46
+ <example os.product="Windows 10" os.edition="Enterprise LTSB">Windows 10 Enterprise LTSB</example>
47
+ <param pos="0" name="os.vendor" value="Microsoft"/>
48
+ <param pos="0" name="os.family" value="Windows"/>
49
+ <param pos="1" name="os.product"/>
50
+ <param pos="2" name="os.edition"/>
51
+ <param pos="3" name="os.version"/>
52
+ </fingerprint>
53
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows 2000(?:\s)?([a-z]+|[a-z]+\s[a-z]+)?(?:\s)?(SP\d|SP \d|Service Pack \d)?)$">
54
+ <description>Windows 2000</description>
55
+ <example os.edition="Professional">Windows 2000 Professional</example>
56
+ <example os.edition="Advanced Server">Windows 2000 Advanced Server</example>
57
+ <param pos="0" name="os.vendor" value="Microsoft"/>
58
+ <param pos="0" name="os.family" value="Windows"/>
59
+ <param pos="0" name="os.product" value="Windows 2000"/>
60
+ <param pos="1" name="os.edition"/>
61
+ <param pos="2" name="os.version"/>
62
+ <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_2000:{os.version}"/>
63
+ </fingerprint>
64
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows NT (\d.\d{1,2})?(?:\s)?([a-z]+|[a-z]+\s[a-z]+)?)$">
65
+ <description>Windows NT</description>
66
+ <example os.version="3.51" os.edition="Server">Windows NT 3.51 Server</example>
67
+ <example os.edition="Workstation">Windows NT Workstation</example>
68
+ <example os.version="4.0" os.edition="Workstation">Windows NT 4.0 Workstation</example>
69
+ <example os.edition="Advanced Server">Windows NT Advanced Server</example>
70
+ <param pos="0" name="os.vendor" value="Microsoft"/>
71
+ <param pos="0" name="os.family" value="Windows"/>
72
+ <param pos="0" name="os.product" value="NT"/>
73
+ <param pos="1" name="os.version"/>
74
+ <param pos="2" name="os.edition"/>
75
+ <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows_nt:{os.version}"/>
76
+ </fingerprint>
77
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows Phone (\d|\d\.\d)?)$">
78
+ <description>Windows Phone 7 and later</description>
79
+ <example os.version="7.5">Windows Phone 7.5</example>
80
+ <example os.version="8">Windows Phone 8</example>
81
+ <param pos="0" name="os.vendor" value="Microsoft"/>
82
+ <param pos="0" name="os.family" value="Windows"/>
83
+ <param pos="0" name="os.product" value="Windows Phone"/>
84
+ <param pos="1" name="os.version"/>
85
+ <param pos="0" name="os.device" value="Mobile"/>
86
+ </fingerprint>
87
+ <fingerprint pattern="^(?i:(?:Microsoft )?(Windows\s?(?:95|98|98SE|98 SE|98 Second Edition|ME|Millenium Edition)))$">
88
+ <description>Windows 9x</description>
89
+ <example os.product="Windows 98 SE">Windows 98 SE</example>
90
+ <param pos="0" name="os.vendor" value="Microsoft"/>
91
+ <param pos="0" name="os.family" value="Windows"/>
92
+ <param pos="1" name="os.product"/>
93
+ </fingerprint>
94
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows(?:\sNT)? 6.1)$">
95
+ <description>Windows version 6.1 (Windows 7 or Windows Server 2008 R2)</description>
96
+ <example>Windows 6.1</example>
97
+ <param pos="0" name="os.vendor" value="Microsoft"/>
98
+ <param pos="0" name="os.family" value="Windows"/>
99
+ <param pos="0" name="os.product" value="Windows 7 or Windows Server 2008 R2"/>
100
+ </fingerprint>
101
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows(?:\sNT)? 6.2)$">
102
+ <description>Windows version 6.2 (Windows 8 or Windows Server 2012)</description>
103
+ <example>Windows 6.2</example>
104
+ <param pos="0" name="os.vendor" value="Microsoft"/>
105
+ <param pos="0" name="os.family" value="Windows"/>
106
+ <param pos="0" name="os.product" value="Windows 8 or Windows Server 2012"/>
107
+ </fingerprint>
108
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows(?:\sNT)? 6.3)$">
109
+ <description>Windows version 6.3 (Windows 8.1 or Windows Server 2012 R2)</description>
110
+ <example>Windows 6.3</example>
111
+ <param pos="0" name="os.vendor" value="Microsoft"/>
112
+ <param pos="0" name="os.family" value="Windows"/>
113
+ <param pos="0" name="os.product" value="Windows 8.1 or Windows Server 2012 R2"/>
114
+ </fingerprint>
115
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows(?:\sNT)? 10.0)$">
116
+ <description>Windows version 10.0 (Windows 10 or Windows Server 2016)</description>
117
+ <example>Windows 10.0</example>
118
+ <param pos="0" name="os.vendor" value="Microsoft"/>
119
+ <param pos="0" name="os.family" value="Windows"/>
120
+ <param pos="0" name="os.product" value="Windows 10 or Windows Server 2016"/>
121
+ </fingerprint>
122
+ <fingerprint pattern="^(?i:(?:Microsoft )?Windows.*)$">
123
+ <description>Windows catch-all</description>
124
+ <example>Windows for Workgroups 3.11</example>
125
+ <example>Microsoft Windows</example>
126
+ <param pos="0" name="os.vendor" value="Microsoft"/>
127
+ <param pos="0" name="os.family" value="Windows"/>
128
+ <param pos="0" name="os.product" value="Windows"/>
129
+ <param pos="0" name="os.certainty" value="0.5"/>
130
+ <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
131
+ </fingerprint>
132
+ <!-- Windows end -->
133
+ <!-- Liunx begin -->
134
+ <fingerprint pattern="^(?i:Alpine Linux\s?(?:v)?(\d+?(?:\.\d+?)*?(?:\src\d+?)?)?)$">
135
+ <description>Alpine Linux</description>
136
+ <example os.version="3.4.0">Alpine Linux v3.4.0</example>
137
+ <example os.version="2.7.0 rc6">Alpine Linux 2.7.0 rc6</example>
138
+ <param pos="0" name="os.vendor" value="Alpine"/>
139
+ <param pos="0" name="os.family" value="Linux"/>
140
+ <param pos="0" name="os.product" value="Linux"/>
141
+ <param pos="1" name="os.version"/>
142
+ </fingerprint>
143
+ <!-- Arch uses rolling releases where the version name just the date of an ISO release. -->
144
+ <fingerprint pattern="^(?i:Arch Linux\s?(\d+?(?:\.\d+?)*?)?)$">
145
+ <description>Arch Linux</description>
146
+ <example os.version="2016.04.01">Arch Linux 2016.04.01</example>
147
+ <param pos="0" name="os.vendor" value="Arch"/>
148
+ <param pos="0" name="os.family" value="Linux"/>
149
+ <param pos="0" name="os.product" value="Linux"/>
150
+ <param pos="1" name="os.version"/>
151
+ </fingerprint>
152
+ <!-- Red Hat Enterprise Linux derivative -->
153
+ <fingerprint pattern="^(?i:Amazon Linux(?: AMI)?\s?(\d+?(?:\.\d+?)*?)?)$">
154
+ <description>Amazon Linux AMI</description>
155
+ <example os.version="5.11">Amazon Linux AMI 5.11</example>
156
+ <example os.version="6.7">Amazon Linux 6.7</example>
157
+ <example os.version="7">Amazon Linux AMI 7</example>
158
+ <param pos="0" name="os.vendor" value="Amazon"/>
159
+ <param pos="0" name="os.family" value="Linux"/>
160
+ <param pos="0" name="os.product" value="Linux AMI"/>
161
+ <param pos="1" name="os.version"/>
162
+ </fingerprint>
163
+ <!-- Red Hat Enterprise Linux derivative -->
164
+ <fingerprint pattern="^(?i:CentOS(?: Linux)?(?: [a-z]+)?\s?(\d+?(?:\.\d+?)*?)?)(?:\s.*?)?$">
165
+ <description>Centos Linux</description>
166
+ <example os.version="5.11">Centos Linux 5.11</example>
167
+ <example os.version="6.7">CentOS 6.7</example>
168
+ <example os.version="7">CentOS 7</example>
169
+ <example os.version="6.7">CentOS release 6.7 (Final)</example>
170
+ <param pos="0" name="os.vendor" value="CentOS"/>
171
+ <param pos="0" name="os.family" value="Linux"/>
172
+ <param pos="0" name="os.product" value="Linux"/>
173
+ <param pos="1" name="os.version"/>
174
+ <param pos="0" name="os.cpe23" value="cpe:/o:centos:centos:{os.version}"/>
175
+ </fingerprint>
176
+ <fingerprint pattern="^(?i:Debian(?: (?:GNU\/)?Linux)?\s?((?:\d+?(?:\.\d+?)*?)|(?:\w+?\/sid\s?))?(?:\s[a-z\(\)]+)?)$">
177
+ <description>Debian Linux</description>
178
+ <example os.version="6.0">Debian 6.0</example>
179
+ <example os.version="7">Debian 7 (Wheezy)</example>
180
+ <example os.version="8">Debian Linux 8</example>
181
+ <example os.version="stretch/sid">Debian GNU/Linux stretch/sid</example>
182
+ <param pos="0" name="os.vendor" value="Debian"/>
183
+ <param pos="0" name="os.family" value="Linux"/>
184
+ <param pos="0" name="os.product" value="Linux"/>
185
+ <param pos="1" name="os.version"/>
186
+ <param pos="0" name="os.cpe23" value="cpe:/o:debian:debian_linux:{os.version}"/>
187
+ </fingerprint>
188
+ <fingerprint pattern="^(?i:Fedora(?: Core)?(?: Linux)?(?: release)?\s?(\d+?)?(?:\s.*)?)$">
189
+ <description>Fedora Linux</description>
190
+ <example os.version="6">Fedora Core 6</example>
191
+ <example os.version="25">Fedora 25</example>
192
+ <example os.version="26">Fedora release 26 (Twenty Six)</example>
193
+ <param pos="0" name="os.vendor" value="Red Hat"/>
194
+ <param pos="0" name="os.family" value="Linux"/>
195
+ <param pos="0" name="os.product" value="Linux"/>
196
+ <param pos="1" name="os.version"/>
197
+ <param pos="0" name="os.cpe23" value="cpe:/o:redhat:linux:{os.version}"/>
198
+ </fingerprint>
199
+ <!-- Gentoo currently uses rolling releases with no version, but older versions were typically based on the year of release. -->
200
+ <fingerprint pattern="^(?i:Gentoo(?: Linux)\s?(\d+?(?:\.\d+?)*?)?)$">
201
+ <description>Gentoo Linux</description>
202
+ <example>Gentoo Linux</example>
203
+ <param pos="0" name="os.vendor" value="Gentoo"/>
204
+ <param pos="0" name="os.family" value="Linux"/>
205
+ <param pos="0" name="os.product" value="Linux"/>
206
+ <param pos="1" name="os.version"/>
207
+ <param pos="0" name="os.cpe23" value="cpe:/o:gentoo:linux:{os.version}"/>
208
+ </fingerprint>
209
+ <!-- Kali switched to rolling release in January 2016. -->
210
+ <fingerprint pattern="^(?i:Kali(?: Linux)?\s?(\d+?(?:\.\d+?)+?(?:[a-z])?|\d+?)?)$">
211
+ <description>Kali Linux</description>
212
+ <example os.version="1.0.0">Kali Linux 1.0.0</example>
213
+ <example os.version="1.1.0a">Kali 1.1.0a</example>
214
+ <example os.version="2.0">Kali 2.0</example>
215
+ <example os.version="2016.1">Kali 2016.1</example>
216
+ <param pos="0" name="os.vendor" value="Kali"/>
217
+ <param pos="0" name="os.family" value="Linux"/>
218
+ <param pos="0" name="os.product" value="Linux"/>
219
+ <param pos="1" name="os.version"/>
220
+ </fingerprint>
221
+ <!-- Ubuntu derivative -->
222
+ <fingerprint pattern="^(?i:Kubuntu(?: Linux)?\s(\d+?(?:\.\d+?)*?)?\s?(LTS)?)$">
223
+ <description>Kubuntu Linux</description>
224
+ <example os.version="12.04.4">Kubuntu 12.04.4 LTS</example>
225
+ <example os.version="14.04">Kubuntu Linux 14.04</example>
226
+ <example os.version="16.04" os.edition="LTS">Kubuntu 16.04 LTS</example>
227
+ <param pos="0" name="os.vendor" value="Kubuntu"/>
228
+ <param pos="0" name="os.family" value="Linux"/>
229
+ <param pos="0" name="os.product" value="Linux"/>
230
+ <param pos="1" name="os.version"/>
231
+ <param pos="2" name="os.edition"/>
232
+ </fingerprint>
233
+ <!-- Red Hat Enterprise Linux derivative -->
234
+ <fingerprint pattern="^(?i:Oracle(?: Enterprise)? Linux\s?(?:Server\s?)?(\d+?(?:\.\d+?)*?)?)$">
235
+ <description>Oracle Enterprise Linux</description>
236
+ <example os.version="5.11">Oracle Enterprise Linux 5.11</example>
237
+ <example os.version="6.7">Oracle Linux 6.7</example>
238
+ <param pos="0" name="os.vendor" value="Oracle"/>
239
+ <param pos="0" name="os.family" value="Enterprise Linux"/>
240
+ <param pos="0" name="os.product" value="Linux"/>
241
+ <param pos="1" name="os.version"/>
242
+ <param pos="0" name="os.cpe23" value="cpe:/o:oracle:linux:{os.version}"/>
243
+ </fingerprint>
244
+ <fingerprint pattern="^(?i:OpenSUSE(?: Linux)?(?: [a-z]+?)??\s?(\d+?(?:\.\d+?)*?)?(?:\s\(.*)?)$">
245
+ <description>OpenSUSE Linux</description>
246
+ <example os.version="10.1">OpenSUSE Linux 10.1</example>
247
+ <example os.version="13.2">OpenSUSE 13.2</example>
248
+ <example os.version="42.1">OpenSUSE Leap 42.1</example>
249
+ <param pos="0" name="os.vendor" value="OpenSUSE"/>
250
+ <param pos="0" name="os.family" value="Linux"/>
251
+ <param pos="0" name="os.product" value="Linux"/>
252
+ <param pos="1" name="os.version"/>
253
+ </fingerprint>
254
+ <fingerprint pattern="^(?i:(?:Red Hat|RedHat|Red-Hat|RHEL)(?: Enterprise)?(?: Linux)?(?: [a-z]+)?\s?(\d+?(?:\.\d+?)*?)?)$">
255
+ <description>Red Hat Enterprise Linux</description>
256
+ <example>Red Hat Enterprise Linux AS</example>
257
+ <example os.version="5.11">Red Hat Enterprise Linux 5.11</example>
258
+ <example os.version="6.7">RedHat 6.7</example>
259
+ <example os.version="7">Red Hat Linux 7</example>
260
+ <example os.version="7.1">RHEL 7.1</example>
261
+ <param pos="0" name="os.vendor" value="Red Hat"/>
262
+ <param pos="0" name="os.family" value="Linux"/>
263
+ <param pos="0" name="os.product" value="Enterprise Linux"/>
264
+ <param pos="1" name="os.version"/>
265
+ <param pos="0" name="os.cpe23" value="cpe:/o:redhat:enterprise_linux:{os.version}"/>
266
+ </fingerprint>
267
+ <!-- Red Hat Enterprise Linux derivative -->
268
+ <fingerprint pattern="^(?i:Scientific(?: Linux)?\s?(\d+?(?:\.\d+?)*?)?)$">
269
+ <description>Scientific Linux</description>
270
+ <example os.version="5.11">Scientific Linux 5.11</example>
271
+ <example os.version="6.7">Scientific 6.7</example>
272
+ <example os.version="7">Scientific Linux 7</example>
273
+ <param pos="0" name="os.vendor" value="Scientific"/>
274
+ <param pos="0" name="os.family" value="Linux"/>
275
+ <param pos="0" name="os.product" value="Linux"/>
276
+ <param pos="1" name="os.version"/>
277
+ </fingerprint>
278
+ <fingerprint pattern="^(?i:Slackware(?: Linux)\s?(\d+?(?:\.\d+?)*?)?)$">
279
+ <description>Slackware Linux</description>
280
+ <example os.version="14.1">Slackware Linux 14.1</example>
281
+ <param pos="0" name="os.vendor" value="Slackware"/>
282
+ <param pos="0" name="os.family" value="Linux"/>
283
+ <param pos="0" name="os.product" value="Linux"/>
284
+ <param pos="1" name="os.version"/>
285
+ </fingerprint>
286
+ <fingerprint pattern="^(?i:SUSE(?: SLED)?(?: Linux Enterprise Desktop)?\s?(\d+?(?:\.\d+?)*?)?)$">
287
+ <description>SUSE Linux Enterprise Desktop</description>
288
+ <example os.version="11">SUSE SLED 11</example>
289
+ <example os.version="12">SUSE Linux Enterprise Desktop 12</example>
290
+ <param pos="0" name="os.vendor" value="SUSE"/>
291
+ <param pos="0" name="os.family" value="Linux"/>
292
+ <param pos="0" name="os.product" value="Linux Enterprise Desktop"/>
293
+ <param pos="1" name="os.version"/>
294
+ <param pos="0" name="os.cpe23" value="cpe:/o:suse:linux_enterprise_desktop:{os.version}"/>
295
+ </fingerprint>
296
+ <fingerprint pattern="^(?i:SUSE(?: SLES)?(?: Linux Enterprise Server)?\s?(\d+?(?:\.\d+?)*?)?)$">
297
+ <description>SUSE Linux Enterprise Server</description>
298
+ <example os.version="11">SUSE SLES 11</example>
299
+ <example os.version="12">SUSE Linux Enterprise Server 12</example>
300
+ <param pos="0" name="os.vendor" value="SUSE"/>
301
+ <param pos="0" name="os.family" value="Linux"/>
302
+ <param pos="0" name="os.product" value="Linux Enterprise Server"/>
303
+ <param pos="1" name="os.version"/>
304
+ <param pos="0" name="os.cpe23" value="cpe:/o:suse:linux_enterprise_server:{os.version}"/>
305
+ </fingerprint>
306
+ <fingerprint pattern="^(?i:SLES(?: Linux Enterprise Server)?\s?(\d+?(?:\.\d+?)*?)?)$">
307
+ <description>SLES Linux Enterprise Server</description>
308
+ <example os.version="11">SLES 11</example>
309
+ <example os.version="12">SLES Linux Enterprise Server 12</example>
310
+ <param pos="0" name="os.vendor" value="SUSE"/>
311
+ <param pos="0" name="os.family" value="Linux"/>
312
+ <param pos="0" name="os.product" value="Linux Enterprise Server"/>
313
+ <param pos="1" name="os.version"/>
314
+ <param pos="0" name="os.cpe23" value="cpe:/o:suse:linux_enterprise_server:{os.version}"/>
315
+ </fingerprint>
316
+ <fingerprint pattern="^(?i:Ubuntu(?: Linux)?(?:\s|-)(\d+?(?:\.\d+?)*?)?\s?(LTS)?)$">
317
+ <description>Ubuntu Linux</description>
318
+ <example os.version="12.04.4">Ubuntu 12.04.4 LTS</example>
319
+ <example os.version="14.04">Ubuntu Linux 14.04</example>
320
+ <example os.version="16.04" os.edition="LTS">Ubuntu 16.04 LTS</example>
321
+ <example os.version="16.04" os.edition="LTS">Ubuntu-16.04 LTS</example>
322
+ <param pos="0" name="os.vendor" value="Ubuntu"/>
323
+ <param pos="0" name="os.family" value="Linux"/>
324
+ <param pos="0" name="os.product" value="Linux"/>
325
+ <param pos="1" name="os.version"/>
326
+ <param pos="2" name="os.edition"/>
327
+ <param pos="0" name="os.cpe23" value="cpe:/o:canonical:ubuntu_linux:{os.version}"/>
328
+ </fingerprint>
329
+ <!-- Ubuntu derivative -->
330
+ <fingerprint pattern="^(?i:Xubuntu(?: Linux)?\s(\d+?(?:\.\d+?)*?)?\s?(LTS)?)$">
331
+ <description>Xubuntu Linux</description>
332
+ <example os.version="12.04.4">Xubuntu 12.04.4 LTS</example>
333
+ <example os.version="14.04">Xubuntu Linux 14.04</example>
334
+ <example os.version="16.04" os.edition="LTS">Xubuntu 16.04 LTS</example>
335
+ <param pos="0" name="os.vendor" value="Xubuntu"/>
336
+ <param pos="0" name="os.family" value="Linux"/>
337
+ <param pos="0" name="os.product" value="Linux"/>
338
+ <param pos="1" name="os.version"/>
339
+ <param pos="2" name="os.edition"/>
340
+ </fingerprint>
341
+ <fingerprint pattern="^(?i:VMWare Photon(?:\/)?(?:\s?Linux)?\s?(?:v)?(\d+?(?:\.\d+?)*?)?)$">
342
+ <description>Photon Linux</description>
343
+ <example>VMWare Photon Linux</example>
344
+ <example os.version="1.0">VMWare Photon 1.0</example>
345
+ <param pos="0" name="os.vendor" value="VMWare"/>
346
+ <param pos="0" name="os.family" value="Linux"/>
347
+ <param pos="0" name="os.product" value="Photon Linux"/>
348
+ <param pos="1" name="os.version"/>
349
+ <param pos="0" name="os.cpe23" value="cpe:/o:vmware:photon_os:{os.version}"/>
350
+ </fingerprint>
351
+ <!-- Vendor-based distribution catch-call -->
352
+ <fingerprint pattern="^(?i:(.*)\sLinux?\s(.*))$">
353
+ <description>Vendor-based Linux catch-all</description>
354
+ <example os.vendor="Aurox" os.version="10.2">Aurox Linux 10.2</example>
355
+ <param pos="0" name="os.family" value="Linux"/>
356
+ <param pos="0" name="os.product" value="Linux"/>
357
+ <param pos="0" name="os.certainty" value="0.6"/>
358
+ <param pos="1" name="os.vendor"/>
359
+ <param pos="2" name="os.version"/>
360
+ </fingerprint>
361
+ <!-- Linux catch-all goes at the bottom-->
362
+ <fingerprint pattern="^(?i:.*Linux?\s?(\d+?(?:\.\d+?)*?)?)$">
363
+ <description>Linux catch-all</description>
364
+ <example os.version="2.42.6">Linux 2.42.6</example>
365
+ <param pos="0" name="os.vendor" value="Linux"/>
366
+ <param pos="0" name="os.family" value="Linux"/>
367
+ <param pos="0" name="os.product" value="Linux"/>
368
+ <param pos="0" name="os.certainty" value="0.5"/>
369
+ <param pos="1" name="os.version"/>
370
+ <param pos="0" name="os.cpe23" value="cpe:/o:linux:linux_kernel:{os.version}"/>
371
+ </fingerprint>
372
+ <!-- Linux end -->
373
+ <!-- Mac begin -->
374
+ <!-- Match Mac OS Classic first due to weak matching on Mac OS X -->
375
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS ([7-9](?:\.\d+?)*?))$">
376
+ <description>Mac OS 9</description>
377
+ <example os.version="9">Mac OS 9</example>
378
+ <example os.version="9.0.5">Mac OS 9.0.5</example>
379
+ <param pos="0" name="os.vendor" value="Apple"/>
380
+ <param pos="0" name="os.family" value="Mac OS"/>
381
+ <param pos="0" name="os.product" value="Mac OS"/>
382
+ <param pos="1" name="os.version"/>
383
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os:{os.version}"/>
384
+ </fingerprint>
385
+ <fingerprint pattern="^(?i:(?:Apple OS X|Apple Mac OS X|Mac OS X|OS X|Mac OS)\s?(\d+?(?:\.\d+?)*?)?)$">
386
+ <description>Mac OS X with version number</description>
387
+ <example os.version="10.10.5">Mac OS X 10.10.5</example>
388
+ <example os.version="10">Mac OS X 10</example>
389
+ <example os.version="10.10">Mac OS 10.10</example>
390
+ <param pos="0" name="os.vendor" value="Apple"/>
391
+ <param pos="0" name="os.family" value="Mac OS X"/>
392
+ <param pos="0" name="os.product" value="Mac OS X"/>
393
+ <param pos="1" name="os.version"/>
394
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:{os.version}"/>
395
+ </fingerprint>
396
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Cheetah)$">
397
+ <description>Mac OS X Cheetah</description>
398
+ <example os.version="10.0">Mac OS X Cheetah</example>
399
+ <param pos="0" name="os.vendor" value="Apple"/>
400
+ <param pos="0" name="os.family" value="Mac OS X"/>
401
+ <param pos="0" name="os.product" value="Mac OS X"/>
402
+ <param pos="0" name="os.version" value="10.0"/>
403
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.0"/>
404
+ </fingerprint>
405
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Puma)$">
406
+ <description>Mac OS X Puma</description>
407
+ <example os.version="10.1">Mac OS X Puma</example>
408
+ <param pos="0" name="os.vendor" value="Apple"/>
409
+ <param pos="0" name="os.family" value="Mac OS X"/>
410
+ <param pos="0" name="os.product" value="Mac OS X"/>
411
+ <param pos="0" name="os.version" value="10.1"/>
412
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.1"/>
413
+ </fingerprint>
414
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Jaguar)$">
415
+ <description>Mac OS X Jaguar</description>
416
+ <example os.version="10.2">Mac OS X Jaguar</example>
417
+ <param pos="0" name="os.vendor" value="Apple"/>
418
+ <param pos="0" name="os.family" value="Mac OS X"/>
419
+ <param pos="0" name="os.product" value="Mac OS X"/>
420
+ <param pos="0" name="os.version" value="10.2"/>
421
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.2"/>
422
+ </fingerprint>
423
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Panther)$">
424
+ <description>Mac OS X Panther</description>
425
+ <example os.version="10.3">Mac OS X Panther</example>
426
+ <param pos="0" name="os.vendor" value="Apple"/>
427
+ <param pos="0" name="os.family" value="Mac OS X"/>
428
+ <param pos="0" name="os.product" value="Mac OS X"/>
429
+ <param pos="0" name="os.version" value="10.3"/>
430
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.3"/>
431
+ </fingerprint>
432
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Tiger)$">
433
+ <description>Mac OS X Tiger</description>
434
+ <example os.version="10.4">Mac OS X Tiger</example>
435
+ <param pos="0" name="os.vendor" value="Apple"/>
436
+ <param pos="0" name="os.family" value="Mac OS X"/>
437
+ <param pos="0" name="os.product" value="Mac OS X"/>
438
+ <param pos="0" name="os.version" value="10.4"/>
439
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.4"/>
440
+ </fingerprint>
441
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Leopard)$">
442
+ <description>Mac OS X Leopard</description>
443
+ <example os.version="10.5">Mac OS X Leopard</example>
444
+ <param pos="0" name="os.vendor" value="Apple"/>
445
+ <param pos="0" name="os.family" value="Mac OS X"/>
446
+ <param pos="0" name="os.product" value="Mac OS X"/>
447
+ <param pos="0" name="os.version" value="10.5"/>
448
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.5"/>
449
+ </fingerprint>
450
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Snow Leopard)$">
451
+ <description>Mac OS X Snow Leopard</description>
452
+ <example os.version="10.6">Mac OS X Snow Leopard</example>
453
+ <param pos="0" name="os.vendor" value="Apple"/>
454
+ <param pos="0" name="os.family" value="Mac OS X"/>
455
+ <param pos="0" name="os.product" value="Mac OS X"/>
456
+ <param pos="0" name="os.version" value="10.6"/>
457
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.6"/>
458
+ </fingerprint>
459
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Lion)$">
460
+ <description>Mac OS X Lion</description>
461
+ <example os.version="10.7">Mac OS X Lion</example>
462
+ <param pos="0" name="os.vendor" value="Apple"/>
463
+ <param pos="0" name="os.family" value="Mac OS X"/>
464
+ <param pos="0" name="os.product" value="Mac OS X"/>
465
+ <param pos="0" name="os.version" value="10.7"/>
466
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.7"/>
467
+ </fingerprint>
468
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Mountain Lion)$">
469
+ <description>Mac OS X Mountain Lion</description>
470
+ <example os.version="10.8">Mac OS X Mountain Lion</example>
471
+ <param pos="0" name="os.vendor" value="Apple"/>
472
+ <param pos="0" name="os.family" value="Mac OS X"/>
473
+ <param pos="0" name="os.product" value="Mac OS X"/>
474
+ <param pos="0" name="os.version" value="10.8"/>
475
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.8"/>
476
+ </fingerprint>
477
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Mavericks)$">
478
+ <description>Mac OS X Mavericks</description>
479
+ <example os.version="10.9">Mac OS X Mavericks</example>
480
+ <param pos="0" name="os.vendor" value="Apple"/>
481
+ <param pos="0" name="os.family" value="Mac OS X"/>
482
+ <param pos="0" name="os.product" value="Mac OS X"/>
483
+ <param pos="0" name="os.version" value="10.9"/>
484
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.9"/>
485
+ </fingerprint>
486
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X Yosemite)$">
487
+ <description>Mac OS X Yosemite</description>
488
+ <example os.version="10.10">Mac OS X Yosemite</example>
489
+ <param pos="0" name="os.vendor" value="Apple"/>
490
+ <param pos="0" name="os.family" value="Mac OS X"/>
491
+ <param pos="0" name="os.product" value="Mac OS X"/>
492
+ <param pos="0" name="os.version" value="10.10"/>
493
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.10"/>
494
+ </fingerprint>
495
+ <fingerprint pattern="^(?i:(?:Apple )?Mac OS X El Capitan)$">
496
+ <description>Mac OS X El Capitan</description>
497
+ <example os.version="10.11">Mac OS X El Capitan</example>
498
+ <param pos="0" name="os.vendor" value="Apple"/>
499
+ <param pos="0" name="os.family" value="Mac OS X"/>
500
+ <param pos="0" name="os.product" value="Mac OS X"/>
501
+ <param pos="0" name="os.version" value="10.11"/>
502
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:10.11"/>
503
+ </fingerprint>
504
+ <!-- This can also match Cisco IOS if the vendor name is not present. -->
505
+ <fingerprint pattern="^(?i:(?:Apple )?iOS\s?(\d+?(?:\.\d+?)*?)?)$">
506
+ <description>Apple iOS for iPhone and iPad</description>
507
+ <example os.version="7.1.2">iOS 7.1.2</example>
508
+ <example os.version="8">iOS 8</example>
509
+ <example os.version="9.3">Apple iOS 9.3</example>
510
+ <param pos="0" name="os.vendor" value="Apple"/>
511
+ <param pos="0" name="os.family" value="Apple iOS"/>
512
+ <param pos="0" name="os.product" value="iOS"/>
513
+ <param pos="1" name="os.version"/>
514
+ <param pos="0" name="os.device" value="Mobile"/>
515
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:{os.version}"/>
516
+ </fingerprint>
517
+ <!-- Mac end -->
518
+ <!-- BSD begin -->
519
+ <fingerprint pattern="^(?i:(.*?BSD)\s?(\d+?(?:\.\d+?)*?(?:[\-\/_ ]?\w+?)?(?:-[a-z]\d+?)?)?)$">
520
+ <description>Many BSD family OSes</description>
521
+ <example os.version="10.3-RELEASE" os.product="FreeBSD">FreeBSD 10.3-RELEASE</example>
522
+ <example os.version="10.3-RELEASE-p4" os.product="FreeBSD">FreeBSD 10.3-RELEASE-p4</example>
523
+ <example os.version="7.0" os.product="NetBSD">NetBSD 7.0</example>
524
+ <example os.version="5.9" os.product="OpenBSD">OpenBSD 5.9</example>
525
+ <example os.product="PC-BSD">PC-BSD</example>
526
+ <param pos="1" name="os.vendor"/>
527
+ <param pos="1" name="os.family"/>
528
+ <param pos="1" name="os.product"/>
529
+ <param pos="2" name="os.version"/>
530
+ </fingerprint>
531
+ <!-- BSD end -->
532
+ <!-- Other Unix-likes begin -->
533
+ <fingerprint pattern="^(?i:(?:Oracle|Sun)?\s?OpenSolaris\s?(\d+?(?:\.\d+?)*?)?)$">
534
+ <description>OpenSolaris</description>
535
+ <example os.version="2009.06">OpenSolaris 2009.06</example>
536
+ <param pos="0" name="os.vendor" value="Sun"/>
537
+ <param pos="0" name="os.family" value="Solaris"/>
538
+ <param pos="0" name="os.product" value="Solaris"/>
539
+ <param pos="1" name="os.version"/>
540
+ <param pos="0" name="os.cpe23" value="cpe:/o:sun:solaris:{os.version}"/>
541
+ </fingerprint>
542
+ <fingerprint pattern="^(?i:(?:Oracle|Sun)?\s?Solaris\s?(1[1-9]?(?:\.\d+?)*?)?)$">
543
+ <description>Solaris 11 and up</description>
544
+ <example os.version="11.3">Solaris 11.3</example>
545
+ <example os.version="11">Solaris 11</example>
546
+ <param pos="0" name="os.vendor" value="Oracle"/>
547
+ <param pos="0" name="os.family" value="Solaris"/>
548
+ <param pos="0" name="os.product" value="Solaris"/>
549
+ <param pos="1" name="os.version"/>
550
+ <param pos="0" name="os.cpe23" value="cpe:/o:oracle:solaris:{os.version}"/>
551
+ </fingerprint>
552
+ <fingerprint pattern="^(?i:(?:Oracle|Sun)?\s?Solaris\s?((?:[789]|10)+?(?:\.\d+?)*?)?)$">
553
+ <description>Solaris 7-10</description>
554
+ <example os.version="7">Solaris 7</example>
555
+ <example os.version="7.3">Solaris 7.3</example>
556
+ <example os.version="10">Solaris 10</example>
557
+ <example os.version="10.3">Solaris 10.3</example>
558
+ <param pos="0" name="os.vendor" value="Sun"/>
559
+ <param pos="0" name="os.family" value="Solaris"/>
560
+ <param pos="0" name="os.product" value="Solaris"/>
561
+ <param pos="1" name="os.version"/>
562
+ <param pos="0" name="os.cpe23" value="cpe:/o:sun:solaris:{os.version}"/>
563
+ </fingerprint>
564
+ <fingerprint pattern="^(?i:(?:Oracle|Sun)?\s?SunOS\s?5.([789]|10)?)$">
565
+ <description>SunOS/Solaris 5.7-5.10</description>
566
+ <example os.version="7">SunOS 5.7</example>
567
+ <example os.version="10">SunOS 5.10</example>
568
+ <param pos="0" name="os.vendor" value="Sun"/>
569
+ <param pos="0" name="os.family" value="Solaris"/>
570
+ <param pos="0" name="os.product" value="Solaris"/>
571
+ <param pos="1" name="os.version"/>
572
+ <param pos="0" name="os.cpe23" value="cpe:/o:sun:solaris:{os.version}"/>
573
+ </fingerprint>
574
+ <fingerprint pattern="^(?i:(?:Oracle|Sun)?\s?SunOS\s?5.(1[1-9])?)$">
575
+ <description>Oracle/Solaris 5.11 and upwards</description>
576
+ <example os.version="11">SunOS 5.11</example>
577
+ <param pos="0" name="os.vendor" value="Oracle"/>
578
+ <param pos="0" name="os.family" value="Solaris"/>
579
+ <param pos="0" name="os.product" value="Solaris"/>
580
+ <param pos="1" name="os.version"/>
581
+ <param pos="0" name="os.cpe23" value="cpe:/o:oracle:solaris:{os.version}"/>
582
+ </fingerprint>
583
+ <fingerprint pattern="^(?i:(?:IBM\s?)?(AIX|MVS|OS/(?:\d{1,3})|VM/CMS|VM/ESA|z/OS)\s?(\d+?(?:\.\d+?)*?)?)$">
584
+ <description>IBM OSes</description>
585
+ <example os.product="AIX">AIX</example>
586
+ <example os.product="MVS">IBM MVS</example>
587
+ <example os.product="OS/2">IBM OS/2</example>
588
+ <example os.product="OS/390">IBM OS/390</example>
589
+ <example os.product="OS/400">OS/400</example>
590
+ <example os.product="VM/CMS">IBM VM/CMS</example>
591
+ <example os.product="VM/ESA">IBM VM/ESA</example>
592
+ <example os.product="z/OS">IBM z/OS</example>
593
+ <param pos="0" name="os.vendor" value="IBM"/>
594
+ <param pos="1" name="os.family"/>
595
+ <param pos="1" name="os.product"/>
596
+ <param pos="2" name="os.version"/>
597
+ </fingerprint>
598
+ <fingerprint pattern="^(?i:(?:HP\s?)?(Digital UNIX|HP-UX|iLO|OpenVMS|ProLiant|Tru64 UNIX)\s?(\d+?(?:\.\d+?)*?)?)$">
599
+ <description>HP OSes</description>
600
+ <example os.product="HP-UX">HP-UX</example>
601
+ <example os.product="OpenVMS">OpenVMS</example>
602
+ <param pos="0" name="os.vendor" value="HP"/>
603
+ <param pos="1" name="os.family"/>
604
+ <param pos="1" name="os.product"/>
605
+ <param pos="2" name="os.version"/>
606
+ </fingerprint>
607
+ <!-- Other Unix-likes end -->
608
+ <!-- Network equipment begin -->
609
+ <fingerprint pattern="^(?i:(?:Juniper\s?)?(Junos|Junos OS|ScreenOS)\s?(\d+?(?:\.\d+?)*?)?)$">
610
+ <description>Juniper</description>
611
+ <example>Junos</example>
612
+ <example>ScreenOS</example>
613
+ <param pos="0" name="os.vendor" value="Juniper"/>
614
+ <param pos="1" name="os.family"/>
615
+ <param pos="1" name="os.product"/>
616
+ <param pos="2" name="os.version"/>
617
+ </fingerprint>
618
+ <!-- This needs to be improved if it's not how one would generally present a Cisco OS version. -->
619
+ <fingerprint pattern="^(?i:(?:Cisco\s?)?(ASA|Adaptive Security Appliance|IOS|IOS-XE|IOS-XR|NX-OS|PIX-OS|SAN-OS)\s?(?:Version (\S+))?)$">
620
+ <description>Cisco</description>
621
+ <example>Cisco ASA</example>
622
+ <example>Cisco IOS</example>
623
+ <param pos="0" name="os.vendor" value="Cisco"/>
624
+ <param pos="1" name="os.family"/>
625
+ <param pos="1" name="os.product"/>
626
+ <param pos="2" name="os.version"/>
627
+ </fingerprint>
628
+ <!-- Network equipment end -->
629
+ </fingerprints>