recog-intrigue 2.3.7

Sign up to get free protection for your applications and to get access to all the features.
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>