recog 2.3.18 → 2.3.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/ci.yml +26 -0
  4. data/.github/workflows/verify.yml +89 -0
  5. data/CONTRIBUTING.md +6 -0
  6. data/README.md +17 -0
  7. data/bin/recog_standardize +33 -12
  8. data/bin/recog_verify +1 -2
  9. data/cpe-remap.yaml +355 -200
  10. data/features/verify.feature +14 -14
  11. data/identifiers/README.md +24 -10
  12. data/identifiers/fields.txt +105 -0
  13. data/identifiers/hw_device.txt +8 -0
  14. data/identifiers/hw_family.txt +19 -0
  15. data/identifiers/hw_product.txt +122 -0
  16. data/identifiers/os_device.txt +2 -1
  17. data/identifiers/os_family.txt +3 -0
  18. data/identifiers/os_product.txt +46 -8
  19. data/identifiers/service_family.txt +10 -1
  20. data/identifiers/service_product.txt +90 -2
  21. data/identifiers/vendor.txt +104 -0
  22. data/lib/recog/db.rb +2 -1
  23. data/lib/recog/fingerprint.rb +18 -5
  24. data/lib/recog/nizer.rb +1 -82
  25. data/lib/recog/verifier.rb +5 -5
  26. data/lib/recog/verifier_factory.rb +3 -3
  27. data/lib/recog/verify_reporter.rb +14 -4
  28. data/lib/recog/version.rb +1 -1
  29. data/requirements.txt +1 -1
  30. data/spec/lib/fingerprint_self_test_spec.rb +1 -0
  31. data/spec/lib/recog/verify_reporter_spec.rb +69 -0
  32. data/tools/dev/hooks/pre-commit +21 -0
  33. data/update_cpes.py +19 -6
  34. data/xml/apache_modules.xml +60 -0
  35. data/xml/apache_os.xml +38 -38
  36. data/xml/dhcp_vendor_class.xml +206 -0
  37. data/xml/dns_versionbind.xml +11 -1
  38. data/xml/favicons.xml +270 -45
  39. data/xml/ftp_banners.xml +89 -64
  40. data/xml/h323_callresp.xml +99 -99
  41. data/xml/hp_pjl_id.xml +3 -3
  42. data/xml/html_title.xml +1051 -62
  43. data/xml/http_cookies.xml +294 -85
  44. data/xml/http_servers.xml +551 -122
  45. data/xml/http_wwwauth.xml +139 -43
  46. data/xml/imap_banners.xml +8 -8
  47. data/xml/ldap_searchresult.xml +1 -0
  48. data/xml/mdns_device-info_txt.xml +720 -27
  49. data/xml/mysql_banners.xml +3 -2
  50. data/xml/nntp_banners.xml +4 -4
  51. data/xml/ntp_banners.xml +79 -65
  52. data/xml/operating_system.xml +6 -6
  53. data/xml/pop_banners.xml +11 -11
  54. data/xml/rsh_resp.xml +3 -3
  55. data/xml/rtsp_servers.xml +7 -0
  56. data/xml/sip_banners.xml +374 -9
  57. data/xml/sip_user_agents.xml +377 -5
  58. data/xml/smb_native_lm.xml +32 -1
  59. data/xml/smb_native_os.xml +160 -33
  60. data/xml/smtp_banners.xml +168 -129
  61. data/xml/smtp_ehlo.xml +1 -1
  62. data/xml/smtp_expn.xml +1 -0
  63. data/xml/smtp_help.xml +10 -10
  64. data/xml/smtp_noop.xml +2 -2
  65. data/xml/smtp_vrfy.xml +1 -0
  66. data/xml/snmp_sysdescr.xml +508 -214
  67. data/xml/snmp_sysobjid.xml +25 -25
  68. data/xml/ssh_banners.xml +145 -29
  69. data/xml/telnet_banners.xml +240 -61
  70. data/xml/tls_jarm.xml +162 -0
  71. data/xml/x509_issuers.xml +237 -2
  72. data/xml/x509_subjects.xml +369 -49
  73. metadata +10 -3
data/xml/http_servers.xml CHANGED
@@ -2,6 +2,85 @@
2
2
  <fingerprints matches="http_header.server" protocol="http" database_type="service" preference="0.90">
3
3
  <!-- HTTP Server headers are matched against these patterns to fingerprint HTTP servers. -->
4
4
 
5
+ <fingerprint pattern="^Mastodon$">
6
+ <description>Mastodon</description>
7
+ <example>Mastodon</example>
8
+ <param pos="0" name="service.product" value="Mastodon"/>
9
+ </fingerprint>
10
+
11
+ <fingerprint pattern="^Logitech Media Server \(([0-9.]+) - [0-9]+\)$">
12
+ <description>Logitech Media server</description>
13
+ <example service.version="7.9.3">Logitech Media Server (7.9.3 - 1586752599)</example>
14
+ <param pos="0" name="service.vendor" value="Logitech"/>
15
+ <param pos="0" name="service.product" value="Squeezebox"/>
16
+ <param pos="1" name="service.version"/>
17
+ </fingerprint>
18
+
19
+ <fingerprint pattern="^libwww-perl-daemon/([.0-9]+)$">
20
+ <description>Perl web server</description>
21
+ <example service.version="1.36">libwww-perl-daemon/1.36</example>
22
+ <param pos="0" name="service.vendor" value="Perl"/>
23
+ <param pos="0" name="service.product" value="perl"/>
24
+ <param pos="1" name="service.version"/>
25
+ <param pos="0" name="service.cpe23" value="cpe:/a:perl:perl:{service.version}"/>
26
+ </fingerprint>
27
+
28
+ <fingerprint pattern="^BASHttpd/([\d.]+)">
29
+ <description>BASHttpd</description>
30
+ <example service.version="4.3.24">BASHttpd/4.3.24-release</example>
31
+ <param pos="0" name="service.product" value="bashttpd"/>
32
+ <param pos="0" name="service.vendor" value="Avleen Vig"/>
33
+ <param pos="1" name="service.version"/>
34
+ </fingerprint>
35
+
36
+ <fingerprint pattern="^monit ([\d.]+)$">
37
+ <description>Monit</description>
38
+ <example service.version="5.6">monit 5.6</example>
39
+ <param pos="0" name="service.vendor" value="Tildeslash"/>
40
+ <param pos="0" name="service.product" value="Monit"/>
41
+ <param pos="1" name="service.version"/>
42
+ <param pos="0" name="service.cpe23" value="cpe:/a:tildeslash:monit:{service.version}"/>
43
+ </fingerprint>
44
+
45
+ <fingerprint pattern="^envoy$">
46
+ <description>Envoy Proxy Envoy</description>
47
+ <example>envoy</example>
48
+ <param pos="0" name="service.vendor" value="Envoy Proxy"/>
49
+ <param pos="0" name="service.product" value="Envoy"/>
50
+ <param pos="0" name="service.cpe23" value="cpe:/a:envoyproxy:envoy:-"/>
51
+ </fingerprint>
52
+
53
+ <fingerprint pattern="^istio-envoy$">
54
+ <description>Istio custom Envoy Proxy</description>
55
+ <example>istio-envoy</example>
56
+ <param pos="0" name="service.vendor" value="Istio"/>
57
+ <param pos="0" name="service.product" value="Envoy"/>
58
+ </fingerprint>
59
+
60
+ <fingerprint pattern="^Etherpad">
61
+ <description>Etherpad</description>
62
+ <example>Etherpad 44370f1 (http://etherpad.org)</example>
63
+ <param pos="0" name="service.vendor" value="etherpad"/>
64
+ <param pos="0" name="service.product" value="etherpad"/>
65
+ <param pos="0" name="service.cpe23" value="cpe:/a:etherpad:etherpad:-"/>
66
+ </fingerprint>
67
+
68
+ <fingerprint pattern="^Artifactory/([\d.]+)$">
69
+ <description>JFrog’s Artifactory repository management</description>
70
+ <example service.version="4.16.0">Artifactory/4.16.0</example>
71
+ <param pos="0" name="service.vendor" value="JFrog"/>
72
+ <param pos="0" name="service.product" value="Artifactory"/>
73
+ <param pos="1" name="service.version"/>
74
+ <param pos="0" name="service.cpe23" value="cpe:/a:jfrog:artifactory:{service.version}"/>
75
+ </fingerprint>
76
+
77
+ <fingerprint pattern="^Cowboy$">
78
+ <description>Cowboy HTTP server</description>
79
+ <example>Cowboy</example>
80
+ <param pos="0" name="service.vendor" value="ninenines"/>
81
+ <param pos="0" name="service.product" value="Cowboy"/>
82
+ </fingerprint>
83
+
5
84
  <fingerprint pattern="(?i)^AirTunes/([\d\.]+)$">
6
85
  <description>Apple AirTunes/AirPlay, more generally RTSP used by a variety of wireless a/v products</description>
7
86
  <example service.version="220.68">AirTunes/220.68</example>
@@ -18,6 +97,15 @@
18
97
  <param pos="0" name="service.vendor" value="cPanel"/>
19
98
  <param pos="0" name="service.product" value="cPanel Service Daemon"/>
20
99
  <param pos="1" name="service.version"/>
100
+ <param pos="0" name="service.cpe23" value="cpe:/a:cpanel:cpanel:{service.version}"/>
101
+ </fingerprint>
102
+
103
+ <fingerprint pattern="^sw-cp-server$">
104
+ <description>Plesk Control Panel Server</description>
105
+ <example>sw-cp-server</example>
106
+ <param pos="0" name="service.vendor" value="Parallels"/>
107
+ <param pos="0" name="service.product" value="Plesk"/>
108
+ <param pos="0" name="service.cpe23" value="cpe:/a:parallels:parallels_plesk_panel:-"/>
21
109
  </fingerprint>
22
110
 
23
111
  <!-- CentOS Web Panel is not part of the CentOS project and runs on CentOS,
@@ -111,7 +199,7 @@
111
199
  <param pos="2" name="apache.info"/>
112
200
  </fingerprint>
113
201
 
114
- <fingerprint pattern="(?i)^CouchDB/([\.\d]+) .*$">
202
+ <fingerprint pattern="(?i)^CouchDB/([\.\d]+)">
115
203
  <description>Apache CouchDB</description>
116
204
  <example service.version="2.1.1">CouchDB/2.1.1 (Erlang OTP/20)</example>
117
205
  <param pos="0" name="service.vendor" value="Apache"/>
@@ -623,7 +711,7 @@
623
711
  <param pos="0" name="service.cpe23" value="cpe:/a:oracle:web_cache:{service.version}"/>
624
712
  </fingerprint>
625
713
 
626
- <fingerprint pattern="^OracleAS-Web-Cache-10g/([\d.]+).*">
714
+ <fingerprint pattern="^OracleAS-Web-Cache-10g/([\d.]+)">
627
715
  <description>Oracle Application Server Web Cache</description>
628
716
  <example service.version="10.1.2.3.0">OracleAS-Web-Cache-10g/10.1.2.3.0</example>
629
717
  <param pos="0" name="service.vendor" value="Oracle"/>
@@ -752,7 +840,7 @@
752
840
  </fingerprint>
753
841
 
754
842
  <fingerprint pattern="^UOS$">
755
- <description>HTTP Server that appears unique to Managment Console on HP TippingPoint IPS Devices</description>
843
+ <description>HTTP Server that appears unique to Management Console on HP TippingPoint IPS Devices</description>
756
844
  <example>UOS</example>
757
845
  <param pos="0" name="service.vendor" value="HP"/>
758
846
  <param pos="0" name="service.product" value="HTTP"/>
@@ -790,10 +878,10 @@
790
878
  <param pos="0" name="service.cpe23" value="cpe:/a:acme:mini_httpd:-"/>
791
879
  </fingerprint>
792
880
 
793
- <fingerprint pattern="^LiteSpeed\/?(:?[\d.]+)?(?: \S+)?">
881
+ <fingerprint pattern="^LiteSpeed\/?([\d.]+)?(?: \S+)?">
794
882
  <description>LiteSpeed</description>
795
883
  <example>LiteSpeed</example>
796
- <example>LiteSpeed/5.2.8 Enterprise</example>
884
+ <example service.version="5.2.8">LiteSpeed/5.2.8 Enterprise</example>
797
885
  <param pos="0" name="service.vendor" value="LiteSpeed Technologies"/>
798
886
  <param pos="0" name="service.product" value="LiteSpeed Web Server"/>
799
887
  <param pos="1" name="service.version"/>
@@ -809,7 +897,7 @@
809
897
  <param pos="1" name="service.version"/>
810
898
  </fingerprint>
811
899
 
812
- <fingerprint pattern="^openresty\/?(:?[\d.]+)?$">
900
+ <fingerprint pattern="^openresty\/?([\d.]+)?$">
813
901
  <description>OpenResty OpenResty</description>
814
902
  <example>openresty</example>
815
903
  <example service.version="1.13.6.2">openresty/1.13.6.2</example>
@@ -857,7 +945,7 @@
857
945
  <param pos="0" name="service.cpe23" value="cpe:/a:wftpserver:wing_ftp_server:-"/>
858
946
  </fingerprint>
859
947
 
860
- <fingerprint pattern="^(?i)Linux UPnP/1.0 Sonos/([\d\.\-a-z]+) \((BR\d+)\)$">
948
+ <fingerprint pattern="(?i)^Linux UPnP/1.0 Sonos/([\d\.\-a-z]+) \((BR\d+)\)$">
861
949
  <description>Sonos Bridge/ZoneBridge</description>
862
950
  <example hw.model="BR100" hw.version="47.2-59120">Linux UPnP/1.0 Sonos/47.2-59120 (BR100)</example>
863
951
  <param pos="0" name="hw.vendor" value="Sonos"/>
@@ -868,7 +956,7 @@
868
956
  <param pos="0" name="os.product" value="Linux"/>
869
957
  </fingerprint>
870
958
 
871
- <fingerprint pattern="^(?i)Linux UPnP/1.0 Sonos/([\d\.\-a-z]+) \(ANVIL\)$">
959
+ <fingerprint pattern="(?i)^Linux UPnP/1.0 Sonos/([\d\.\-a-z]+) \(ANVIL\)$">
872
960
  <description>Sonos Subwoofer Speaker</description>
873
961
  <example>Linux UPnP/1.0 Sonos/31.3-22220 (ANVIL)</example>
874
962
  <param pos="0" name="hw.vendor" value="Sonos"/>
@@ -912,7 +1000,7 @@
912
1000
  <param pos="0" name="service.cpe23" value="cpe:/a:varnish-cache:varnish:-"/>
913
1001
  </fingerprint>
914
1002
 
915
- <fingerprint pattern="^Tengine\/?(:?[\d.]+)?$">
1003
+ <fingerprint pattern="^Tengine\/?([\d.]+)?$">
916
1004
  <description>Tengine</description>
917
1005
  <example>Tengine</example>
918
1006
  <example service.version="2.0.0">Tengine/2.0.0</example>
@@ -1119,7 +1207,7 @@
1119
1207
  <param pos="1" name="apache.variant.version"/>
1120
1208
  </fingerprint>
1121
1209
 
1122
- <fingerprint pattern="(?i)^(?:IBM_HTTP_SERVER|IBM-HTTP-SERVER)$">
1210
+ <fingerprint pattern="(?i)^IBM_HTTP_SERVER|IBM-HTTP-SERVER$">
1123
1211
  <description>IBM HTTP Server with no version info</description>
1124
1212
  <example>IBM_HTTP_SERVER</example>
1125
1213
  <example>IBM_HTTP_Server</example>
@@ -1276,13 +1364,13 @@
1276
1364
  <param pos="0" name="service.vendor" value="HP"/>
1277
1365
  <param pos="0" name="service.product" value="iLO"/>
1278
1366
  <param pos="0" name="service.family" value="iLO"/>
1279
- <param pos="0" name="service.cpe23" value="cpe:/a:hp:integrated_lights_out:-"/>
1280
1367
  <param pos="0" name="hw.vendor" value="HP"/>
1281
1368
  <param pos="0" name="hw.device" value="Lights Out Management"/>
1282
1369
  <param pos="0" name="os.vendor" value="HP"/>
1283
1370
  <param pos="0" name="os.product" value="iLO"/>
1284
1371
  <param pos="0" name="os.family" value="iLO"/>
1285
1372
  <param pos="0" name="os.device" value="Lights Out Management"/>
1373
+ <param pos="0" name="os.cpe23" value="cpe:/o:hp:integrated_lights-out_firmware:-"/>
1286
1374
  </fingerprint>
1287
1375
 
1288
1376
  <!--
@@ -1335,7 +1423,7 @@
1335
1423
  <param pos="0" name="service.cpe23" value="cpe:/a:eclipse:jetty:{service.version}"/>
1336
1424
  </fingerprint>
1337
1425
 
1338
- <fingerprint pattern="^(?i)squid/(\d+\.[\w.\-\+]+)$">
1426
+ <fingerprint pattern="(?i)^squid/(\d+\.[\w.\-\+]+)$">
1339
1427
  <description>Squid Web Proxy with a version</description>
1340
1428
  <example service.version="2.3.STABLE1">Squid/2.3.STABLE1</example>
1341
1429
  <example service.version="4.4">squid/4.4</example>
@@ -1347,7 +1435,7 @@
1347
1435
  <param pos="0" name="service.cpe23" value="cpe:/a:squid-cache:squid:{service.version}"/>
1348
1436
  </fingerprint>
1349
1437
 
1350
- <fingerprint pattern="^(?i)squid$">
1438
+ <fingerprint pattern="(?i)^squid$">
1351
1439
  <description>Squid Web Proxy without a version</description>
1352
1440
  <example>Squid</example>
1353
1441
  <example>squid</example>
@@ -1357,9 +1445,9 @@
1357
1445
  <param pos="0" name="service.cpe23" value="cpe:/a:squid-cache:squid:-"/>
1358
1446
  </fingerprint>
1359
1447
 
1360
- <fingerprint pattern="^thttpd/(\d\.[\w.]+)-MX\s*.*$">
1361
- <description>thttpd with SSL support</description>
1362
- <example>thttpd/2.19-MX Jan 24 2006</example>
1448
+ <fingerprint pattern="^thttpd/(\d\.[\w.]+)-MX\s*">
1449
+ <description>ACME thttpd with SSL support</description>
1450
+ <example service.version="2.19">thttpd/2.19-MX Jan 24 2006</example>
1363
1451
  <param pos="0" name="service.vendor" value="ACME"/>
1364
1452
  <param pos="0" name="service.product" value="thttpd"/>
1365
1453
  <param pos="0" name="service.family" value="thttpd"/>
@@ -1369,18 +1457,20 @@
1369
1457
  </fingerprint>
1370
1458
 
1371
1459
  <fingerprint pattern="^thttpd(?:/(\d\.[\w.]+)\s*.*)?$">
1372
- <description>thttpd</description>
1460
+ <description>ACME thttpd</description>
1373
1461
  <example>thttpd</example>
1374
- <example>thttpd/2.04 10aug98</example>
1375
- <example>thttpd/2.20b</example>
1462
+ <example service.version="2.04">thttpd/2.04 10aug98</example>
1463
+ <example service.version="2.20b">thttpd/2.20b</example>
1376
1464
  <example>thttpd/2.21b PHP/20030920</example>
1377
- <example>thttpd/2.23beta1 26may2002</example>
1465
+ <example service.version="2.23beta1">thttpd/2.23beta1 26may2002</example>
1466
+ <param pos="0" name="service.vendor" value="ACME"/>
1378
1467
  <param pos="0" name="service.product" value="thttpd"/>
1379
1468
  <param pos="0" name="service.family" value="thttpd"/>
1380
1469
  <param pos="1" name="service.version"/>
1470
+ <param pos="0" name="service.cpe23" value="cpe:/a:acme:thttpd:{service.version}"/>
1381
1471
  </fingerprint>
1382
1472
 
1383
- <fingerprint pattern="(?i)^lighttpd(?:/(\d[\d.]+))?.*$">
1473
+ <fingerprint pattern="(?i)^lighttpd(?:/(\d[\d.]+))?">
1384
1474
  <description>Lighttpd</description>
1385
1475
  <example>lighttpd</example>
1386
1476
  <example>Lighttpd</example>
@@ -1402,7 +1492,7 @@
1402
1492
  <param pos="0" name="service.cpe23" value="cpe:/a:nginx:nginx:-"/>
1403
1493
  </fingerprint>
1404
1494
 
1405
- <fingerprint pattern="^nginx\/?(:?[\d.]+)?">
1495
+ <fingerprint pattern="^nginx\/?([\d.]+)?">
1406
1496
  <description>nginx with version info and/or mods</description>
1407
1497
  <example service.version="0.8.53">nginx/0.8.53 + Phusion Passenger 3.0.0 (mod_rails/mod_rack)</example>
1408
1498
  <example>nginx/0.8.53</example>
@@ -1438,7 +1528,7 @@
1438
1528
  <param pos="0" name="service.cpe23" value="cpe:/a:ibm:lotus_domino:{service.version}"/>
1439
1529
  </fingerprint>
1440
1530
 
1441
- <fingerprint pattern="^WebLogic (?:WebLogic )?Server (\d+\.\d+(?:\s+SP\d+)?)\s+.*$">
1531
+ <fingerprint pattern="^WebLogic (?:WebLogic )?Server (\d+\.\d+(?:\s+SP\d+)?)\s+">
1442
1532
  <description>BEA WebLogic</description>
1443
1533
  <example service.version="8.1 SP3">WebLogic Server 8.1 SP3 Tue Jun 29 23:11:19 PDT 2004 404973</example>
1444
1534
  <example service.version="7.0 SP4">WebLogic Server 7.0 SP4 Tue Aug 12 11:22:26 PDT 2003</example>
@@ -1491,8 +1581,8 @@
1491
1581
 
1492
1582
  <fingerprint pattern="^Abyss/(\d\.[\d.]+)-X1-Win32 AbyssLib/(?:\d\.[\d.]+)$">
1493
1583
  <description>Aprelium Technologies Abyss Web Server X1 (free personal edition) on Windows</description>
1494
- <example>Abyss/2.0.0.20-X1-Win32 AbyssLib/2.0.0.20</example>
1495
- <example>Abyss/2.3.2-X1-Win32 AbyssLib/2.3.2</example>
1584
+ <example service.version="2.0.0.20">Abyss/2.0.0.20-X1-Win32 AbyssLib/2.0.0.20</example>
1585
+ <example service.version="2.3.2">Abyss/2.3.2-X1-Win32 AbyssLib/2.3.2</example>
1496
1586
  <param pos="0" name="service.vendor" value="Aprelium Technologies"/>
1497
1587
  <param pos="0" name="service.product" value="Abyss Web Server X1"/>
1498
1588
  <param pos="0" name="service.family" value="Abyss Web Server"/>
@@ -1504,19 +1594,70 @@
1504
1594
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
1505
1595
  </fingerprint>
1506
1596
 
1507
- <fingerprint pattern="^Abyss/(\d\.[\d.]+)-X2-Win32 AbyssLib/(?:\d\.[\d.]+)$">
1508
- <description>Aprelium Technologies Abyss Web Server X2 (licensed professional edition) on Windows</description>
1597
+ <fingerprint pattern="^Abyss/(\d\.[\d.]+)-X1-Linux AbyssLib/(?:\d\.[\d.]+)$">
1598
+ <description>Aprelium Technologies Abyss Web Server X1 (free personal edition) on Linux</description>
1599
+ <example service.version="2.14">Abyss/2.14-X1-Linux AbyssLib/2.14</example>
1600
+ <param pos="0" name="service.vendor" value="Aprelium Technologies"/>
1601
+ <param pos="0" name="service.product" value="Abyss Web Server X1"/>
1602
+ <param pos="0" name="service.family" value="Abyss Web Server"/>
1603
+ <param pos="1" name="service.version"/>
1604
+ <param pos="0" name="service.cpe23" value="cpe:/a:aprelium:abyss_web_server_x1:{service.version}"/>
1605
+ <param pos="0" name="os.family" value="Linux"/>
1606
+ <param pos="0" name="os.product" value="Linux"/>
1607
+ </fingerprint>
1608
+
1609
+ <fingerprint pattern="^Abyss/(\d\.[\d.]+)-X1-[mM]acOS (?:X )?AbyssLib/(?:\d\.[\d.]+)$">
1610
+ <description>Aprelium Technologies Abyss Web Server X1 (free personal edition) on macOS</description>
1611
+ <example service.version="2.12.1">Abyss/2.12.1-X1-MacOS X AbyssLib/2.12</example>
1612
+ <example service.version="2.14">Abyss/2.14-X1-macOS AbyssLib/2.14</example>
1509
1613
  <param pos="0" name="service.vendor" value="Aprelium Technologies"/>
1510
1614
  <param pos="0" name="service.product" value="Abyss Web Server X1"/>
1511
1615
  <param pos="0" name="service.family" value="Abyss Web Server"/>
1512
1616
  <param pos="1" name="service.version"/>
1513
1617
  <param pos="0" name="service.cpe23" value="cpe:/a:aprelium:abyss_web_server_x1:{service.version}"/>
1618
+ <param pos="0" name="os.vendor" value="Apple"/>
1619
+ <param pos="0" name="os.family" value="Mac OS X"/>
1620
+ <param pos="0" name="os.product" value="Mac OS X"/>
1621
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
1622
+ </fingerprint>
1623
+
1624
+ <fingerprint pattern="^Abyss/(\d\.[\d.]+)-X2-Win32 AbyssLib/(?:\d\.[\d.]+)$">
1625
+ <description>Aprelium Technologies Abyss Web Server X2 (licensed professional edition) on Windows</description>
1626
+ <example>Abyss/2.14.2-X2-Win32 AbyssLib/2.14</example>
1627
+ <param pos="0" name="service.vendor" value="Aprelium Technologies"/>
1628
+ <param pos="0" name="service.product" value="Abyss Web Server X2"/>
1629
+ <param pos="0" name="service.family" value="Abyss Web Server"/>
1630
+ <param pos="1" name="service.version"/>
1514
1631
  <param pos="0" name="os.vendor" value="Microsoft"/>
1515
1632
  <param pos="0" name="os.family" value="Windows"/>
1516
1633
  <param pos="0" name="os.product" value="Windows"/>
1517
1634
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
1518
1635
  </fingerprint>
1519
1636
 
1637
+ <fingerprint pattern="^Abyss/(\d\.[\d.]+)-X2-Linux AbyssLib/(?:\d\.[\d.]+)$">
1638
+ <description>Aprelium Technologies Abyss Web Server X2 (licensed professional edition) on Linux</description>
1639
+ <example service.version="2.14.2">Abyss/2.14.2-X2-Linux AbyssLib/2.14</example>
1640
+ <param pos="0" name="service.vendor" value="Aprelium Technologies"/>
1641
+ <param pos="0" name="service.product" value="Abyss Web Server X2"/>
1642
+ <param pos="0" name="service.family" value="Abyss Web Server"/>
1643
+ <param pos="1" name="service.version"/>
1644
+ <param pos="0" name="os.family" value="Linux"/>
1645
+ <param pos="0" name="os.product" value="Linux"/>
1646
+ </fingerprint>
1647
+
1648
+ <fingerprint pattern="^Abyss/(\d\.[\d.]+)-X2-macOS AbyssLib/(?:\d\.[\d.]+)$">
1649
+ <description>Aprelium Technologies Abyss Web Server X2 (licensed professional edition) on macOS</description>
1650
+ <example service.version="2.14.2">Abyss/2.14.2-X2-macOS AbyssLib/2.14</example>
1651
+ <param pos="0" name="service.vendor" value="Aprelium Technologies"/>
1652
+ <param pos="0" name="service.product" value="Abyss Web Server X2"/>
1653
+ <param pos="0" name="service.family" value="Abyss Web Server"/>
1654
+ <param pos="1" name="service.version"/>
1655
+ <param pos="0" name="os.vendor" value="Apple"/>
1656
+ <param pos="0" name="os.family" value="Mac OS X"/>
1657
+ <param pos="0" name="os.product" value="Mac OS X"/>
1658
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
1659
+ </fingerprint>
1660
+
1520
1661
  <fingerprint pattern="^Microsoft (Commerce Server\s*(?:2002|2007)?, (?:Enterprise|Standard|Evaluation|Developer) Edition)$">
1521
1662
  <description>Microsoft Commerce Server</description>
1522
1663
  <param pos="0" name="service.vendor" value="Microsoft"/>
@@ -1530,6 +1671,7 @@
1530
1671
 
1531
1672
  <fingerprint pattern="^NetWare-Enterprise-Web-Server/(\d+\.\d+)$">
1532
1673
  <description>NetWare Enterprise Web Server (runs on NetWare 5.1)</description>
1674
+ <example service.version="5.1">NetWare-Enterprise-Web-Server/5.1</example>
1533
1675
  <param pos="0" name="service.vendor" value="Novell"/>
1534
1676
  <param pos="0" name="service.product" value="NetWare Enterprise Web Server"/>
1535
1677
  <param pos="0" name="service.family" value="NetWare Enterprise Web Server"/>
@@ -1737,7 +1879,7 @@
1737
1879
  <param pos="0" name="service.family" value="SSL-VPN"/>
1738
1880
  <param pos="0" name="os.vendor" value="SonicWall"/>
1739
1881
  <param pos="0" name="os.device" value="VPN"/>
1740
- <param pos="0" name="os.family" value="SSL-VPN"/>
1882
+ <param pos="0" name="os.family" value="SonicOS"/>
1741
1883
  <param pos="0" name="os.product" value="SonicOS"/>
1742
1884
  <param pos="0" name="os.cpe23" value="cpe:/o:sonicwall:sonicos:-"/>
1743
1885
  <param pos="0" name="hw.vendor" value="SonicWall"/>
@@ -1785,9 +1927,13 @@
1785
1927
  <param pos="0" name="os.vendor" value="NetApp"/>
1786
1928
  <param pos="0" name="os.family" value="Data ONTAP"/>
1787
1929
  <param pos="0" name="os.product" value="Data ONTAP"/>
1788
- <param pos="0" name="os.device" value="File Server"/>
1789
1930
  <param pos="1" name="os.version"/>
1931
+ <param pos="0" name="os.device" value="NAS"/>
1790
1932
  <param pos="0" name="os.cpe23" value="cpe:/o:netapp:data_ontap:{os.version}"/>
1933
+ <param pos="0" name="hw.vendor" value="NetApp"/>
1934
+ <param pos="0" name="hw.family" value="Data ONTAP"/>
1935
+ <param pos="0" name="hw.device" value="NAS"/>
1936
+ <param pos="0" name="hw.product" value="Data ONTAP"/>
1791
1937
  </fingerprint>
1792
1938
 
1793
1939
  <fingerprint pattern="^BlueCoat-Security-Appliance$">
@@ -1799,7 +1945,7 @@
1799
1945
  <param pos="0" name="os.product" value="Appliance"/>
1800
1946
  </fingerprint>
1801
1947
 
1802
- <fingerprint pattern="^(?:BigIP|BIG-IP)$">
1948
+ <fingerprint pattern="^BigIP|BIG-IP$">
1803
1949
  <description>F5 BIG-IP</description>
1804
1950
  <param pos="0" name="service.vendor" value="F5"/>
1805
1951
  <param pos="0" name="service.product" value="BIG-IP LTM"/>
@@ -1847,11 +1993,11 @@
1847
1993
  this information useful and mappable to CPE
1848
1994
  -->
1849
1995
 
1850
- <fingerprint pattern="^HP HTTP Server; (?:Hewlett-Packard )?HP ((\S+) \S+)">
1996
+ <fingerprint pattern="^HP HTTP Server; (?:Hewlett-Packard )?HP ((\S+) \S+)[^;]+; Serial Number: ([^;]+);">
1851
1997
  <description>HP Printer</description>
1852
- <example os.product="Photosmart C309a" os.family="Photosmart">HP HTTP Server; HP Photosmart C309a series - CC335A; Serial Number: abc123; Vader Built:Wed Apr 15, 2009 11:40:58AM {abc123, ASIC id 0x00280004}</example>
1853
- <example os.product="Officejet 6500" os.family="Officejet">HP HTTP Server; HP Officejet 6500 E709n - CB057A; Serial Number: abc123; Rainbow Built:Sat Dec 13, 2008 10:58:21AM {abc123, ASIC id 0x00ffc2105}</example>
1854
- <example os.product="Designjet T520" os.family="Designjet">HP HTTP Server; Hewlett-Packard HP Designjet T520 36in - ABC123; Serial Number: 0123456789; Built:Tue Sep 09, 2014 08:32:54AM {012345678901}</example>
1998
+ <example os.product="Photosmart C309a" os.family="Photosmart" hw.serial_number="abc123">HP HTTP Server; HP Photosmart C309a series - CC335A; Serial Number: abc123; Vader Built:Wed Apr 15, 2009 11:40:58AM {abc123, ASIC id 0x00280004}</example>
1999
+ <example os.product="Officejet 6500" os.family="Officejet" hw.serial_number="abc123">HP HTTP Server; HP Officejet 6500 E709n - CB057A; Serial Number: abc123; Rainbow Built:Sat Dec 13, 2008 10:58:21AM {abc123, ASIC id 0x00ffc2105}</example>
2000
+ <example os.product="Designjet T520" os.family="Designjet" hw.serial_number="0123456789">HP HTTP Server; Hewlett-Packard HP Designjet T520 36in - ABC123; Serial Number: 0123456789; Built:Tue Sep 09, 2014 08:32:54AM {012345678901}</example>
1855
2001
  <param pos="0" name="service.vendor" value="HP"/>
1856
2002
  <param pos="0" name="service.product" value="JetDirect"/>
1857
2003
  <param pos="0" name="service.family" value="JetDirect"/>
@@ -1863,6 +2009,7 @@
1863
2009
  <param pos="0" name="hw.family" value="JetDirect"/>
1864
2010
  <param pos="0" name="hw.product" value="JetDirect"/>
1865
2011
  <param pos="0" name="hw.device" value="Printer"/>
2012
+ <param pos="3" name="hw.serial_number"/>
1866
2013
  </fingerprint>
1867
2014
 
1868
2015
  <fingerprint pattern="^HTTP/1\.0$">
@@ -1917,7 +2064,7 @@
1917
2064
  <param pos="0" name="hw.device" value="Multifunction Device"/>
1918
2065
  </fingerprint>
1919
2066
 
1920
- <fingerprint pattern=".*Linksys.*">
2067
+ <fingerprint pattern="Linksys">
1921
2068
  <description>Linksys Wireless Access Point</description>
1922
2069
  <param pos="0" name="os.vendor" value="Linksys"/>
1923
2070
  <param pos="0" name="os.device" value="WAP"/>
@@ -1940,7 +2087,7 @@
1940
2087
  <param pos="0" name="hw.vendor" value="Cisco"/>
1941
2088
  </fingerprint>
1942
2089
 
1943
- <fingerprint pattern="^cisco-IOS/([^\s]+) HTTP-server/.*$">
2090
+ <fingerprint pattern="^cisco-IOS/([^\s]+) HTTP-server/">
1944
2091
  <description>Cisco IOS with version information</description>
1945
2092
  <example>cisco-IOS/12.1 HTTP-server/1.0(1)</example>
1946
2093
  <param pos="0" name="service.vendor" value="Cisco"/>
@@ -1964,7 +2111,7 @@
1964
2111
  <param pos="0" name="os.vendor" value="Cisco"/>
1965
2112
  <param pos="0" name="os.family" value="Adaptive Security Appliance"/>
1966
2113
  <param pos="0" name="os.product" value="Adaptive Security Appliance"/>
1967
- <param pos="0" name="os.cpe23" value="cpe:/o:cisco:adaptive_security_appliance:-"/>
2114
+ <param pos="0" name="os.cpe23" value="cpe:/o:cisco:adaptive_security_appliance_software:-"/>
1968
2115
  <param pos="0" name="hw.vendor" value="Cisco"/>
1969
2116
  <param pos="0" name="hw.family" value="Adaptive Security Appliance"/>
1970
2117
  <param pos="0" name="hw.product" value="Adaptive Security Appliance"/>
@@ -2012,7 +2159,7 @@
2012
2159
  <param pos="0" name="os.cpe23" value="cpe:/o:microsoft:windows:-"/>
2013
2160
  </fingerprint>
2014
2161
 
2015
- <fingerprint pattern="^Agent-ListenServer-HttpSvr/.*$">
2162
+ <fingerprint pattern="^Agent-ListenServer-HttpSvr/">
2016
2163
  <description>McAfee ePolicy Orchestrator</description>
2017
2164
  <param pos="0" name="service.vendor" value="McAfee"/>
2018
2165
  <param pos="0" name="service.product" value="ePolicy Orchestrator"/>
@@ -2020,7 +2167,7 @@
2020
2167
  <param pos="0" name="service.cpe23" value="cpe:/a:mcafee:epolicy_orchestrator:-"/>
2021
2168
  </fingerprint>
2022
2169
 
2023
- <fingerprint pattern="^LANDesk Management Agent/.*$">
2170
+ <fingerprint pattern="^LANDesk Management Agent/">
2024
2171
  <description>LANDesk Management Agent</description>
2025
2172
  <param pos="0" name="service.vendor" value="LANDesk"/>
2026
2173
  <param pos="0" name="service.product" value="Management Agent"/>
@@ -2089,6 +2236,7 @@
2089
2236
  <param pos="0" name="os.family" value="NetScaler"/>
2090
2237
  <param pos="0" name="os.device" value="Network Management Device"/>
2091
2238
  <param pos="0" name="os.product" value="NetScaler"/>
2239
+ <param pos="0" name="os.cpe23" value="cpe:/o:citrix:netscaler_firmware:-"/>
2092
2240
  <param pos="0" name="service.vendor" value="Citrix"/>
2093
2241
  <param pos="0" name="service.family" value="NetScaler"/>
2094
2242
  <param pos="0" name="service.device" value="Network Management Device"/>
@@ -2160,7 +2308,7 @@
2160
2308
  <param pos="0" name="os.device" value="IP Camera"/>
2161
2309
  </fingerprint>
2162
2310
 
2163
- <fingerprint pattern="^ListManagerWeb/(\S+) .*$">
2311
+ <fingerprint pattern="^ListManagerWeb/(\S+)">
2164
2312
  <description>Lyris ListManager</description>
2165
2313
  <example>ListManagerWeb/8.8a (based on Tcl-Webserver/3.4.2)</example>
2166
2314
  <param pos="0" name="service.vendor" value="Lyris"/>
@@ -2372,6 +2520,34 @@
2372
2520
  <param pos="2" name="python.version"/>
2373
2521
  </fingerprint>
2374
2522
 
2523
+ <fingerprint pattern="^Python/(\d\.[\d.]+) aiohttp/(\d[\w.]+)$">
2524
+ <description>AIOHTTP Project AIOHTTP</description>
2525
+ <example service.version="3.7.4.post0">Python/3.8 aiohttp/3.7.4.post0</example>
2526
+ <example python.version="3.4">Python/3.4 aiohttp/1.0.5</example>
2527
+ <param pos="0" name="service.vendor" value="AIOHTTP Project"/>
2528
+ <param pos="0" name="service.product" value="AIOHTTP"/>
2529
+ <param pos="2" name="service.version"/>
2530
+ <param pos="0" name="service.cpe23" value="cpe:/a:aiohttp_project:aiohttp:{service.version}"/>
2531
+ <param pos="1" name="python.version"/>
2532
+ </fingerprint>
2533
+
2534
+ <fingerprint pattern="^uvicorn$">
2535
+ <description>Encode uvicorn</description>
2536
+ <example>uvicorn</example>
2537
+ <param pos="0" name="service.vendor" value="Encode"/>
2538
+ <param pos="0" name="service.product" value="uvicorn"/>
2539
+ <param pos="0" name="service.cpe23" value="cpe:/a:encode:uvicorn:-"/>
2540
+ </fingerprint>
2541
+
2542
+ <fingerprint pattern="^Grandstream (GXP[^\s]+) ([\d\.]+)$">
2543
+ <description>Grandstream IP Phone</description>
2544
+ <example hw.product="GXP2020" hw.version="1.2.5.3">Grandstream GXP2020 1.2.5.3</example>
2545
+ <param pos="0" name="hw.vendor" value="Grandstream"/>
2546
+ <param pos="0" name="hw.device" value="VoIP"/>
2547
+ <param pos="2" name="hw.version"/>
2548
+ <param pos="1" name="hw.product"/>
2549
+ </fingerprint>
2550
+
2375
2551
  <fingerprint pattern="^HP Web Jetadmin/((?:\d+\.)*\d+)\s*(.*)$">
2376
2552
  <description>Apache variant for web access to HP printers.</description>
2377
2553
  <example>HP Web Jetadmin/2.0.50 (Win32) mod_auth_sspi/1.0.1 mod_ssl/2.0.50 OpenSSL/0.9.6m</example>
@@ -2415,6 +2591,17 @@
2415
2591
  <param pos="0" name="service.family" value="Web PN Server"/>
2416
2592
  </fingerprint>
2417
2593
 
2594
+ <fingerprint pattern="^ScreenConnect/([\d.]+)-(\d+)(?: Microsoft-HTTPAPI/2.0)?$">
2595
+ <description>ConnectWise Control formerly ScreenConnect</description>
2596
+ <example service.version="6.3.13446.6374">ScreenConnect/6.3.13446.6374-4039728469 Microsoft-HTTPAPI/2.0</example>
2597
+ <example service.version.version="3841999031">ScreenConnect/19.3.25270.7185-3841999031</example>
2598
+ <param pos="0" name="service.vendor" value="ConnectWise"/>
2599
+ <param pos="0" name="service.product" value="Control"/>
2600
+ <param pos="1" name="service.version"/>
2601
+ <param pos="2" name="service.version.version"/>
2602
+ <param pos="0" name="service.cpe23" value="cpe:/a:connectwise:control:{service.version}"/>
2603
+ </fingerprint>
2604
+
2418
2605
  <fingerprint pattern="^Lotus Expeditor Web Container/((?:\d+\.)*\d+)$">
2419
2606
  <description>Expeditor is a framework used by IBM in many products in the Lotus brand, such as Sametime and Notes.</description>
2420
2607
  <example>Lotus Expeditor Web Container/6.1</example>
@@ -2464,7 +2651,7 @@
2464
2651
  <param pos="1" name="service.version"/>
2465
2652
  </fingerprint>
2466
2653
 
2467
- <fingerprint pattern="^Embedthis-(?:Appweb|http)\/?(:?[\d.]+)?$">
2654
+ <fingerprint pattern="^Embedthis-(?:Appweb|http)\/?([\d.]+)?$">
2468
2655
  <description>Embedthis AppWeb</description>
2469
2656
  <example service.version="3.2.3">Embedthis-Appweb/3.2.3</example>
2470
2657
  <example>Embedthis-http</example>
@@ -2533,6 +2720,19 @@
2533
2720
  <param pos="0" name="service.product" value="Twisted Web"/>
2534
2721
  <param pos="0" name="service.family" value="Twisted Web"/>
2535
2722
  <param pos="1" name="service.version"/>
2723
+ <param pos="0" name="service.cpe23" value="cpe:/a:twistedmatrix:twistedweb:{service.version}"/>
2724
+ </fingerprint>
2725
+
2726
+ <fingerprint pattern="^Twisted/([\d.]+) TwistedWeb/([\d.]+)$">
2727
+ <description>Twisted Matrix Labs - TwistedWeb - verbose variant</description>
2728
+ <example service.version="13.0.0">Twisted/13.0.0 TwistedWeb/9.0.0</example>
2729
+ <example service.version.version="9.0.0">Twisted/17.9.0 TwistedWeb/9.0.0</example>
2730
+ <param pos="0" name="service.vendor" value="TwistedMatrix"/>
2731
+ <param pos="0" name="service.product" value="Twisted Web"/>
2732
+ <param pos="0" name="service.family" value="Twisted Web"/>
2733
+ <param pos="1" name="service.version"/>
2734
+ <param pos="2" name="service.version.version"/>
2735
+ <param pos="0" name="service.cpe23" value="cpe:/a:twistedmatrix:twistedweb:{service.version}"/>
2536
2736
  </fingerprint>
2537
2737
 
2538
2738
  <fingerprint pattern="^mini_httpd/((?:\d+\.)*\d+) \S*$">
@@ -2650,10 +2850,13 @@
2650
2850
  <fingerprint pattern="^PanWeb Server/ -">
2651
2851
  <description>HTTP and HTTPS server found on Palo Alto Networks devices</description>
2652
2852
  <example>PanWeb Server/ -</example>
2853
+ <param pos="0" name="hw.vendor" value="Palo Alto Networks"/>
2653
2854
  <param pos="0" name="service.vendor" value="Palo Alto Networks"/>
2654
2855
  <param pos="0" name="service.product" value="PA Firewall"/>
2856
+ <param pos="0" name="service.device" value="Firewall"/>
2655
2857
  <param pos="0" name="os.vendor" value="Palo Alto Networks"/>
2656
- <param pos="0" name="os.product" value="PA Firewall"/>
2858
+ <param pos="0" name="os.product" value="PAN-OS"/>
2859
+ <param pos="0" name="os.family" value="PAN-OS"/>
2657
2860
  <param pos="0" name="os.device" value="Firewall"/>
2658
2861
  <param pos="0" name="os.cpe23" value="cpe:/o:paloaltonetworks:pan-os:-"/>
2659
2862
  </fingerprint>
@@ -2684,7 +2887,7 @@
2684
2887
  <param pos="0" name="service.cpe23" value="cpe:/a:treck:tcp\/ip:{service.version}"/>
2685
2888
  </fingerprint>
2686
2889
 
2687
- <fingerprint pattern="^WEBrick/([\d\.]+) .*$">
2890
+ <fingerprint pattern="^WEBrick/([\d\.]+)">
2688
2891
  <description>WEBrick default setup</description>
2689
2892
  <example service.version="1.3.1">WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)</example>
2690
2893
  <param pos="0" name="service.vendor" value="Ruby-Lang"/>
@@ -2762,48 +2965,53 @@
2762
2965
  <param pos="0" name="service.product" value="2wire"/>
2763
2966
  </fingerprint>
2764
2967
 
2765
- <!-- junit says,
2766
- "Example pattern '' from http_servers.xml didn't match pattern '^$'"
2767
- Figure out if we have a way to support matching empty strings later.
2768
- <fingerprint pattern="^?">
2769
- <example></example>
2770
- <description>A blank banner; assert nothing.</description>
2771
- </fingerprint>
2772
-
2773
- -->
2774
-
2775
- <fingerprint pattern="^(?:(?:\d+.){3}\d+):\d{1,4}$">
2776
- <description>A banner consisting of an IP address and port -- assert nothing.</description>
2968
+ <fingerprint pattern="^(?:(?:\d{1,3}\.){3}\d{1,3}):\d{1,4}$">
2969
+ <description>A banner consisting of an IPv4 address and port -- assert nothing.</description>
2777
2970
  <example>192.168.0.4:9999</example>
2971
+ <param pos="0" name="hw.certainty" value="0.0"/>
2972
+ <param pos="0" name="os.certainty" value="0.0"/>
2973
+ <param pos="0" name="service.certainty" value="0.0"/>
2778
2974
  </fingerprint>
2779
2975
 
2780
2976
  <fingerprint pattern="^Web-Server/(?:\d+\.+\d+)$">
2781
2977
  <description>Obfuscated web server -- assert nothing.</description>
2782
2978
  <example>Web-Server/3.0</example>
2979
+ <param pos="0" name="hw.certainty" value="0.0"/>
2980
+ <param pos="0" name="os.certainty" value="0.0"/>
2981
+ <param pos="0" name="service.certainty" value="0.0"/>
2783
2982
  </fingerprint>
2784
2983
 
2785
2984
  <fingerprint pattern="^httpd$">
2786
2985
  <description>httpd - generic -- assert nothing.</description>
2787
2986
  <example>httpd</example>
2987
+ <param pos="0" name="hw.certainty" value="0.0"/>
2988
+ <param pos="0" name="os.certainty" value="0.0"/>
2989
+ <param pos="0" name="service.certainty" value="0.0"/>
2788
2990
  </fingerprint>
2789
2991
 
2790
2992
  <!-- Service provider equipment (CDNs, etc) -->
2791
2993
 
2792
- <fingerprint pattern="^AkamaiGHost$">
2994
+ <fingerprint pattern="^(?:Akamai)?GHost$">
2793
2995
  <description>Akamai Global Host</description>
2794
2996
  <example>AkamaiGHost</example>
2997
+ <example>GHost</example>
2795
2998
  <param pos="0" name="service.vendor" value="Akamai"/>
2796
2999
  <param pos="0" name="service.product" value="GHost"/>
3000
+ <param pos="0" name="service.cpe23" value="cpe:/a:akamai:akamaighost:-"/>
2797
3001
  <param pos="0" name="os.vendor" value="Akamai"/>
3002
+ <param pos="0" name="os.family" value="Linux"/>
2798
3003
  <param pos="0" name="os.device" value="Web Proxy"/>
2799
3004
  </fingerprint>
2800
3005
 
3006
+ <!-- Banner used for many Google services such as search, Gmail, etc. -->
3007
+
2801
3008
  <fingerprint pattern="^gws$">
2802
3009
  <description>Google Web Services</description>
2803
3010
  <example>gws</example>
2804
3011
  <param pos="0" name="service.vendor" value="Google"/>
2805
- <param pos="0" name="service.product" value="Google Web Services"/>
2806
3012
  <param pos="0" name="service.family" value="Google Web Server"/>
3013
+ <param pos="0" name="service.product" value="Google Web Services"/>
3014
+ <param pos="0" name="service.cpe23" value="cpe:/a:google:web_server:-"/>
2807
3015
  </fingerprint>
2808
3016
 
2809
3017
  <fingerprint pattern="^GFE/((?:\d+\.)*\d+)$">
@@ -2811,8 +3019,8 @@
2811
3019
  <example>GFE/1.3</example>
2812
3020
  <example>GFE/1</example>
2813
3021
  <param pos="0" name="service.vendor" value="Google"/>
2814
- <param pos="0" name="service.product" value="Google Front End"/>
2815
3022
  <param pos="0" name="service.family" value="Google Web Server"/>
3023
+ <param pos="0" name="service.product" value="Google Front End"/>
2816
3024
  <param pos="1" name="service.version"/>
2817
3025
  </fingerprint>
2818
3026
 
@@ -2820,8 +3028,9 @@
2820
3028
  <description>Amazon CloudFront web load balancer endpoint</description>
2821
3029
  <example>CloudFront</example>
2822
3030
  <param pos="0" name="service.vendor" value="Amazon"/>
3031
+ <param pos="0" name="service.family" value="Web Services"/>
2823
3032
  <param pos="0" name="service.product" value="CloudFront Load Balancer"/>
2824
- <param pos="0" name="service.family" value="CloudFront"/>
3033
+ <param pos="0" name="service.cpe23" value="cpe:/a:amazon:amazon_cloudfront:-"/>
2825
3034
  </fingerprint>
2826
3035
 
2827
3036
  <fingerprint pattern="^Amazon-Cloud-Drive$">
@@ -2835,13 +3044,16 @@
2835
3044
  <description>Amazon S3 (Simple Cloud Storage Service)</description>
2836
3045
  <example>AmazonS3</example>
2837
3046
  <param pos="0" name="service.vendor" value="Amazon"/>
3047
+ <param pos="0" name="service.family" value="Web Services"/>
2838
3048
  <param pos="0" name="service.product" value="S3"/>
3049
+ <param pos="0" name="service.cpe23" value="cpe:/a:amazon:amazon_simple_storage_service:-"/>
2839
3050
  </fingerprint>
2840
3051
 
2841
3052
  <fingerprint pattern="^Amazon SimpleDB$">
2842
3053
  <description>Amazon SimpleDB / Simple Database Service</description>
2843
3054
  <example>Amazon SimpleDB</example>
2844
3055
  <param pos="0" name="service.vendor" value="Amazon"/>
3056
+ <param pos="0" name="service.family" value="Web Services"/>
2845
3057
  <param pos="0" name="service.product" value="SimpleDB"/>
2846
3058
  </fingerprint>
2847
3059
 
@@ -2849,6 +3061,7 @@
2849
3061
  <description>Amazon Snowball</description>
2850
3062
  <example>AmazonSnowball</example>
2851
3063
  <param pos="0" name="service.vendor" value="Amazon"/>
3064
+ <param pos="0" name="service.family" value="Web Services"/>
2852
3065
  <param pos="0" name="service.product" value="Snowball"/>
2853
3066
  </fingerprint>
2854
3067
 
@@ -2856,8 +3069,10 @@
2856
3069
  <description>Amazon Elastic Load Balancing</description>
2857
3070
  <example service.version="2.0">awselb/2.0</example>
2858
3071
  <param pos="0" name="service.vendor" value="Amazon"/>
2859
- <param pos="0" name="service.family" value="Elastic Load Balancing"/>
3072
+ <param pos="0" name="service.family" value="Web Services"/>
3073
+ <param pos="0" name="service.product" value="Elastic Load Balancing"/>
2860
3074
  <param pos="1" name="service.version"/>
3075
+ <param pos="0" name="service.cpe23" value="cpe:/a:amazon:elastic_load_balancing:{service.version}"/>
2861
3076
  </fingerprint>
2862
3077
 
2863
3078
  <fingerprint pattern="^cloudflare(?:-nginx)?$">
@@ -2867,6 +3082,7 @@
2867
3082
  <param pos="0" name="service.vendor" value="CloudFlare"/>
2868
3083
  <param pos="0" name="service.product" value="CloudFlare Load Balancer"/>
2869
3084
  <param pos="0" name="service.family" value="CloudFlare"/>
3085
+ <param pos="0" name="service.cpe23" value="cpe:/a:cloudflare:load_balancing:-"/>
2870
3086
  </fingerprint>
2871
3087
 
2872
3088
  <fingerprint pattern="^gSOAP/([\d\.]+)$">
@@ -2932,7 +3148,7 @@
2932
3148
  <param pos="0" name="service.cpe23" value="cpe:/a:intel:active_management_technology:{service.version}"/>
2933
3149
  </fingerprint>
2934
3150
 
2935
- <fingerprint pattern="^(?:AMT|Intel\(R\) Active Management Technology)$">
3151
+ <fingerprint pattern="^AMT|Intel\(R\) Active Management Technology$">
2936
3152
  <description>Intel(R) Active Management Technology (AMT) without a version</description>
2937
3153
  <example>AMT</example>
2938
3154
  <example>Intel(R) Active Management Technology</example>
@@ -3020,6 +3236,7 @@
3020
3236
  <param pos="0" name="service.family" value="Gateway"/>
3021
3237
  <param pos="0" name="service.product" value="Gateway"/>
3022
3238
  <param pos="1" name="service.version"/>
3239
+ <param pos="0" name="service.cpe23" value="cpe:/a:konghq:kong_gateway:{service.version}"/>
3023
3240
  </fingerprint>
3024
3241
 
3025
3242
  <fingerprint pattern="^kong/([\d.-]+)-enterprise-edition$">
@@ -3030,6 +3247,7 @@
3030
3247
  <param pos="0" name="service.family" value="Gateway"/>
3031
3248
  <param pos="0" name="service.product" value="Gateway"/>
3032
3249
  <param pos="1" name="service.version"/>
3250
+ <param pos="0" name="service.cpe23" value="cpe:/a:konghq:kong_gateway:{service.version}"/>
3033
3251
  </fingerprint>
3034
3252
 
3035
3253
  <!-- Tridium previously had a product with the 'Niagra' spelling -->
@@ -3065,7 +3283,7 @@
3065
3283
  <param pos="0" name="service.product" value="Node"/>
3066
3284
  </fingerprint>
3067
3285
 
3068
- <fingerprint pattern="(?i)^(.*) UPnP/[\d\.]+\s+AVM FRITZ!(.*) ([\d\.]+)$">
3286
+ <fingerprint pattern="(?i)^(.{0,256}) UPnP/[\d\.]+\s+AVM FRITZ!(.*) ([\d\.]+)$">
3069
3287
  <description>AVM FRITZ! devices of various types</description>
3070
3288
  <example host.name="some thing" os.product="WLAN Repeater 1750E" os.version="134.07.01">some thing UPnP/1.0 AVM FRITZ!WLAN Repeater 1750E 134.07.01</example>
3071
3289
  <param pos="0" name="os.vendor" value="AVM"/>
@@ -3075,15 +3293,26 @@
3075
3293
  <param pos="1" name="host.name"/>
3076
3294
  </fingerprint>
3077
3295
 
3296
+ <fingerprint pattern="^airCube$">
3297
+ <description>Ubiquiti airMAX airCube accessory</description>
3298
+ <example>airCube</example>
3299
+ <param pos="0" name="os.vendor" value="Ubiquiti"/>
3300
+ <param pos="0" name="os.family" value="Linux"/>
3301
+ <param pos="0" name="hw.vendor" value="Ubiquiti"/>
3302
+ <param pos="0" name="hw.family" value="airMAX"/>
3303
+ <param pos="0" name="hw.product" value="airCube"/>
3304
+ <param pos="0" name="hw.device" value="WAP"/>
3305
+ </fingerprint>
3306
+
3078
3307
  <fingerprint pattern="(?i)^Linux/(\S+) UPnP/[\d\.]+ miniupnpd/([\d\.]+)$">
3079
3308
  <description>Linux MiniUPnPd UPnP Server</description>
3080
3309
  <example service.version="1.0">Linux/Cross_compiled UPnP/1.0 miniupnpd/1.0</example>
3081
3310
  <example>Linux/2.6.29.6-217.2.3.fc11.i686.PAE UPnP/1.0 miniupnpd/1.0</example>
3082
3311
  <example>Linux/2.4.21 UPnP/1.0 miniupnpd/1.0</example>
3083
3312
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3084
- <param pos="0" name="service.product" value="MiniUPnP"/>
3313
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3085
3314
  <param pos="2" name="service.version"/>
3086
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3315
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3087
3316
  <param pos="0" name="os.vendor" value="Linux"/>
3088
3317
  <param pos="0" name="os.product" value="Linux"/>
3089
3318
  <param pos="1" name="os.version"/>
@@ -3094,30 +3323,43 @@
3094
3323
  <description>Tomato UPnP Server</description>
3095
3324
  <example service.version="1.2">Tomato UPnP/1.0 MiniUPnPd/1.2</example>
3096
3325
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3097
- <param pos="0" name="service.product" value="MiniUPnP"/>
3326
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3098
3327
  <param pos="1" name="service.version"/>
3099
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3328
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3100
3329
  </fingerprint>
3101
3330
 
3102
3331
  <fingerprint pattern="(?i)^(RT-\w+) UPnP/\S+ MiniUPnPd/([\d.]+)$">
3103
3332
  <description>Asus WAP UPnP Server</description>
3104
3333
  <example service.version="1.2">RT-G32 UPnP/1.0 MiniUPnPd/1.2</example>
3105
3334
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3106
- <param pos="0" name="service.product" value="MiniUPnP"/>
3335
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3107
3336
  <param pos="2" name="service.version"/>
3108
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3337
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3109
3338
  <param pos="0" name="os.vendor" value="Asus"/>
3110
3339
  <param pos="1" name="os.product"/>
3111
3340
  <param pos="0" name="os.device" value="WAP"/>
3112
3341
  </fingerprint>
3113
3342
 
3343
+ <fingerprint pattern="(?i)^(AsusWRT)\/(\S+) UPnP/\S+ MiniUPnPd/([\d.]+)$">
3344
+ <description>AsusWRT Firmware</description>
3345
+ <example os.product="AsusWRT" os.version="3.0.0.4" service.version="1.9">AsusWRT/3.0.0.4 UPnP/1.1 MiniUPnPd/1.9</example>
3346
+ <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3347
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3348
+ <param pos="3" name="service.version"/>
3349
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3350
+ <param pos="0" name="os.vendor" value="Asus"/>
3351
+ <param pos="1" name="os.product"/>
3352
+ <param pos="2" name="os.version"/>
3353
+ <param pos="0" name="os.device" value="Router"/>
3354
+ </fingerprint>
3355
+
3114
3356
  <fingerprint pattern="(?i)^DrayTek/Vigor(\S+) UPnP/\S+ miniupnpd/([\d.]+)$">
3115
3357
  <description>DrayTek Vigor router UPnP Server</description>
3116
3358
  <example service.version="1.0" hw.model="2130">DrayTek/Vigor2130 UPnP/1.0 miniupnpd/1.0</example>
3117
3359
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3118
- <param pos="0" name="service.product" value="MiniUPnP"/>
3360
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3119
3361
  <param pos="2" name="service.version"/>
3120
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3362
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3121
3363
  <param pos="0" name="hw.vendor" value="DrayTek"/>
3122
3364
  <param pos="0" name="hw.product" value="Vigor"/>
3123
3365
  <param pos="1" name="hw.model"/>
@@ -3135,9 +3377,9 @@
3135
3377
  <description>OpenWRT Kamikaze WAP UPnP Server</description>
3136
3378
  <example service.version="1.5">OpenWRT/kamikaze UPnP/1.0 MiniUPnPd/1.5</example>
3137
3379
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3138
- <param pos="0" name="service.product" value="MiniUPnP"/>
3380
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3139
3381
  <param pos="1" name="service.version"/>
3140
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3382
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3141
3383
  <param pos="0" name="os.vendor" value="Linux"/>
3142
3384
  <param pos="0" name="os.family" value="OpenWRT"/>
3143
3385
  <param pos="0" name="os.product" value="Kamikaze"/>
@@ -3148,9 +3390,9 @@
3148
3390
  <description>Netgear DG834G or WNDR3300 WAP UPnP Server</description>
3149
3391
  <example service.version="1.0">Netgear/1.0 UPnP/1.0 miniupnpd/1.0</example>
3150
3392
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3151
- <param pos="0" name="service.product" value="MiniUPnP"/>
3393
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3152
3394
  <param pos="1" name="service.version"/>
3153
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3395
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3154
3396
  <param pos="0" name="os.vendor" value="Netgear"/>
3155
3397
  <param pos="0" name="os.device" value="WAP"/>
3156
3398
  <param pos="0" name="hw.vendor" value="Netgear"/>
@@ -3175,9 +3417,9 @@
3175
3417
  <example os.version="wheezy/sid" service.version="1.8">Debian/wheezy/sid UPnP/1.1 MiniUPnPd/1.8</example>
3176
3418
  <example os.version="4.0" service.version="1.0">Debian/4.0 UPnP/1.0 miniupnpd/1.0</example>
3177
3419
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3178
- <param pos="0" name="service.product" value="MiniUPnP"/>
3420
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3179
3421
  <param pos="2" name="service.version"/>
3180
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3422
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3181
3423
  <param pos="0" name="os.vendor" value="Debian"/>
3182
3424
  <param pos="0" name="os.product" value="Linux"/>
3183
3425
  <param pos="0" name="os.certainty" value="0.5"/>
@@ -3191,9 +3433,9 @@
3191
3433
  <example os.version="8" service.version="1.0">Fedora/8 UPnP/1.0 miniupnpd/1.0</example>
3192
3434
  <example os.version="6" service.version="1.0">FedoraCore/6 UPnP/1.0 miniupnpd/1.0</example>
3193
3435
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3194
- <param pos="0" name="service.product" value="MiniUPnP"/>
3436
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3195
3437
  <param pos="2" name="service.version"/>
3196
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3438
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3197
3439
  <param pos="0" name="os.family" value="Linux"/>
3198
3440
  <param pos="0" name="os.vendor" value="Red Hat"/>
3199
3441
  <param pos="0" name="os.product" value="Fedora Core Linux"/>
@@ -3208,9 +3450,9 @@
3208
3450
  <example os.version="7.10" service.version="1.0">Ubuntu/7.10 UPnP/1.0 miniupnpd/1.0</example>
3209
3451
  <example os.version="9.04" service.version="1.0">Ubuntu/9.04 UPnP/1.0 miniupnpd/1.0</example>
3210
3452
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3211
- <param pos="0" name="service.product" value="MiniUPnP"/>
3453
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3212
3454
  <param pos="2" name="service.version"/>
3213
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3455
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3214
3456
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3215
3457
  <param pos="0" name="os.product" value="Linux"/>
3216
3458
  <param pos="1" name="os.version"/>
@@ -3221,9 +3463,9 @@
3221
3463
  <description>miniupnpd on an Ubuntu bionic/18.04</description>
3222
3464
  <example os.version="18.04" service.version="1.4">Ubuntu/bionic UPnP/1.0 MiniUPnPd/1.4</example>
3223
3465
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3224
- <param pos="0" name="service.product" value="MiniUPnP"/>
3466
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3225
3467
  <param pos="1" name="service.version"/>
3226
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3468
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3227
3469
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3228
3470
  <param pos="0" name="os.product" value="Linux"/>
3229
3471
  <param pos="0" name="os.version" value="18.04"/>
@@ -3234,9 +3476,9 @@
3234
3476
  <description>miniupnpd on an Ubuntu yakkety/16.10</description>
3235
3477
  <example os.version="16.10" service.version="1.4">Ubuntu/yakkety UPnP/1.0 MiniUPnPd/1.4</example>
3236
3478
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3237
- <param pos="0" name="service.product" value="MiniUPnP"/>
3479
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3238
3480
  <param pos="1" name="service.version"/>
3239
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3481
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3240
3482
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3241
3483
  <param pos="0" name="os.product" value="Linux"/>
3242
3484
  <param pos="0" name="os.version" value="16.10"/>
@@ -3247,9 +3489,9 @@
3247
3489
  <description>miniupnpd on an Ubuntu xenial/16.04</description>
3248
3490
  <example os.version="16.04" service.version="1.4">Ubuntu/xenial UPnP/1.0 MiniUPnPd/1.4</example>
3249
3491
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3250
- <param pos="0" name="service.product" value="MiniUPnP"/>
3492
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3251
3493
  <param pos="1" name="service.version"/>
3252
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3494
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3253
3495
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3254
3496
  <param pos="0" name="os.product" value="Linux"/>
3255
3497
  <param pos="0" name="os.version" value="16.04"/>
@@ -3260,9 +3502,9 @@
3260
3502
  <description>miniupnpd on an Ubuntu utopic/14.10</description>
3261
3503
  <example os.version="14.10" service.version="1.4">Ubuntu/utopic UPnP/1.0 MiniUPnPd/1.4</example>
3262
3504
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3263
- <param pos="0" name="service.product" value="MiniUPnP"/>
3505
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3264
3506
  <param pos="1" name="service.version"/>
3265
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3507
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3266
3508
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3267
3509
  <param pos="0" name="os.product" value="Linux"/>
3268
3510
  <param pos="0" name="os.version" value="14.10"/>
@@ -3273,9 +3515,9 @@
3273
3515
  <description>miniupnpd on an Ubuntu trusty/14.04</description>
3274
3516
  <example os.version="14.04" service.version="1.4">Ubuntu/trusty UPnP/1.0 MiniUPnPd/1.4</example>
3275
3517
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3276
- <param pos="0" name="service.product" value="MiniUPnP"/>
3518
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3277
3519
  <param pos="1" name="service.version"/>
3278
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3520
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3279
3521
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3280
3522
  <param pos="0" name="os.product" value="Linux"/>
3281
3523
  <param pos="0" name="os.version" value="14.04"/>
@@ -3286,9 +3528,9 @@
3286
3528
  <description>miniupnpd on an Ubuntu saucy/13.10</description>
3287
3529
  <example os.version="13.10" service.version="1.4">Ubuntu/saucy UPnP/1.0 MiniUPnPd/1.4</example>
3288
3530
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3289
- <param pos="0" name="service.product" value="MiniUPnP"/>
3531
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3290
3532
  <param pos="1" name="service.version"/>
3291
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3533
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3292
3534
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3293
3535
  <param pos="0" name="os.product" value="Linux"/>
3294
3536
  <param pos="0" name="os.version" value="13.10"/>
@@ -3299,9 +3541,9 @@
3299
3541
  <description>miniupnpd on an Ubuntu raring/13.04</description>
3300
3542
  <example os.version="13.04" service.version="1.4">Ubuntu/raring UPnP/1.0 MiniUPnPd/1.4</example>
3301
3543
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3302
- <param pos="0" name="service.product" value="MiniUPnP"/>
3544
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3303
3545
  <param pos="1" name="service.version"/>
3304
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3546
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3305
3547
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3306
3548
  <param pos="0" name="os.product" value="Linux"/>
3307
3549
  <param pos="0" name="os.version" value="13.04"/>
@@ -3312,9 +3554,9 @@
3312
3554
  <description>miniupnpd on an Ubuntu quantal/12.10</description>
3313
3555
  <example os.version="12.10" service.version="1.4">Ubuntu/quantal UPnP/1.0 MiniUPnPd/1.4</example>
3314
3556
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3315
- <param pos="0" name="service.product" value="MiniUPnP"/>
3557
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3316
3558
  <param pos="1" name="service.version"/>
3317
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3559
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3318
3560
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3319
3561
  <param pos="0" name="os.product" value="Linux"/>
3320
3562
  <param pos="0" name="os.version" value="12.10"/>
@@ -3325,9 +3567,9 @@
3325
3567
  <description>miniupnpd on an Ubuntu precise/12.04</description>
3326
3568
  <example os.version="12.04" service.version="1.4">Ubuntu/precise UPnP/1.0 MiniUPnPd/1.4</example>
3327
3569
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3328
- <param pos="0" name="service.product" value="MiniUPnP"/>
3570
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3329
3571
  <param pos="1" name="service.version"/>
3330
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3572
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3331
3573
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3332
3574
  <param pos="0" name="os.product" value="Linux"/>
3333
3575
  <param pos="0" name="os.version" value="12.04"/>
@@ -3338,9 +3580,9 @@
3338
3580
  <description>miniupnpd on an Ubuntu oneiric/11.10</description>
3339
3581
  <example os.version="11.10" service.version="1.4">Ubuntu/oneiric UPnP/1.0 MiniUPnPd/1.4</example>
3340
3582
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3341
- <param pos="0" name="service.product" value="MiniUPnP"/>
3583
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3342
3584
  <param pos="1" name="service.version"/>
3343
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3585
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3344
3586
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3345
3587
  <param pos="0" name="os.product" value="Linux"/>
3346
3588
  <param pos="0" name="os.version" value="11.10"/>
@@ -3351,9 +3593,9 @@
3351
3593
  <description>miniupnpd on an Ubuntu natty/11.04</description>
3352
3594
  <example os.version="11.04" service.version="1.4">Ubuntu/natty UPnP/1.0 MiniUPnPd/1.4</example>
3353
3595
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3354
- <param pos="0" name="service.product" value="MiniUPnP"/>
3596
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3355
3597
  <param pos="1" name="service.version"/>
3356
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3598
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3357
3599
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3358
3600
  <param pos="0" name="os.product" value="Linux"/>
3359
3601
  <param pos="0" name="os.version" value="11.04"/>
@@ -3364,9 +3606,9 @@
3364
3606
  <description>miniupnpd on an Ubuntu maverick/10.10</description>
3365
3607
  <example os.version="10.10" service.version="1.4">Ubuntu/maverick UPnP/1.0 MiniUPnPd/1.4</example>
3366
3608
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3367
- <param pos="0" name="service.product" value="MiniUPnP"/>
3609
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3368
3610
  <param pos="1" name="service.version"/>
3369
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3611
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3370
3612
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3371
3613
  <param pos="0" name="os.product" value="Linux"/>
3372
3614
  <param pos="0" name="os.version" value="10.10"/>
@@ -3377,9 +3619,9 @@
3377
3619
  <description>miniupnpd on an Ubuntu lucid/10.04</description>
3378
3620
  <example os.version="10.04" service.version="1.4">Ubuntu/lucid UPnP/1.0 MiniUPnPd/1.4</example>
3379
3621
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3380
- <param pos="0" name="service.product" value="MiniUPnP"/>
3622
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3381
3623
  <param pos="1" name="service.version"/>
3382
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3624
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3383
3625
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3384
3626
  <param pos="0" name="os.product" value="Linux"/>
3385
3627
  <param pos="0" name="os.version" value="10.04"/>
@@ -3390,9 +3632,9 @@
3390
3632
  <description>miniupnpd on an Ubuntu karmic/9.10</description>
3391
3633
  <example os.version="9.10" service.version="1.4">Ubuntu/karmic UPnP/1.0 MiniUPnPd/1.4</example>
3392
3634
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3393
- <param pos="0" name="service.product" value="MiniUPnP"/>
3635
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3394
3636
  <param pos="1" name="service.version"/>
3395
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3637
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3396
3638
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3397
3639
  <param pos="0" name="os.product" value="Linux"/>
3398
3640
  <param pos="0" name="os.version" value="9.10"/>
@@ -3403,9 +3645,9 @@
3403
3645
  <description>miniupnpd on an Ubuntu jaunty/9.04</description>
3404
3646
  <example os.version="9.04" service.version="1.4">Ubuntu/jaunty UPnP/1.0 MiniUPnPd/1.4</example>
3405
3647
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3406
- <param pos="0" name="service.product" value="MiniUPnP"/>
3648
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3407
3649
  <param pos="1" name="service.version"/>
3408
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3650
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3409
3651
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3410
3652
  <param pos="0" name="os.product" value="Linux"/>
3411
3653
  <param pos="0" name="os.version" value="9.04"/>
@@ -3416,9 +3658,9 @@
3416
3658
  <description>miniupnpd on an Ubuntu hardy/8.04</description>
3417
3659
  <example os.version="8.04" service.version="1.4">Ubuntu/hardy UPnP/1.0 MiniUPnPd/1.4</example>
3418
3660
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3419
- <param pos="0" name="service.product" value="MiniUPnP"/>
3661
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3420
3662
  <param pos="1" name="service.version"/>
3421
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3663
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3422
3664
  <param pos="0" name="os.vendor" value="Ubuntu"/>
3423
3665
  <param pos="0" name="os.product" value="Linux"/>
3424
3666
  <param pos="0" name="os.version" value="8.04"/>
@@ -3429,9 +3671,9 @@
3429
3671
  <description>Linux MIPS UPnP Server</description>
3430
3672
  <example>Linux Mips 2.4.20 UPnP/1.0 MiniUPnPd/1.2</example>
3431
3673
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3432
- <param pos="0" name="service.product" value="MiniUPnP"/>
3674
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3433
3675
  <param pos="2" name="service.version"/>
3434
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3676
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3435
3677
  <param pos="0" name="os.vendor" value="Linux"/>
3436
3678
  <param pos="0" name="os.product" value="Linux"/>
3437
3679
  <param pos="1" name="os.version"/>
@@ -3446,12 +3688,12 @@
3446
3688
  <param pos="1" name="os.version"/>
3447
3689
  <param pos="0" name="os.cpe23" value="cpe:/o:smoothwall:smoothwall:{os.version}"/>
3448
3690
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3449
- <param pos="0" name="service.product" value="MiniUPnP"/>
3691
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3450
3692
  <param pos="2" name="service.version"/>
3451
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3693
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3452
3694
  </fingerprint>
3453
3695
 
3454
- <fingerprint pattern="^(\S+) \d+/Service Pack \d+, UPnP/[\d\.]+, TVersity Media Server$">
3696
+ <fingerprint pattern="^(\S{1,16}) \d+/Service Pack \d+, UPnP/[\d\.]+, TVersity Media Server$">
3455
3697
  <description>TVersity Media Server UPnP Server with Service Pack</description>
3456
3698
  <example>5.2.3790 2/Service Pack 1, UPnP/1.0, TVersity Media Server</example>
3457
3699
  <example>5.1.2600 2/Service Pack 3, UPnP/1.0, TVersity Media Server</example>
@@ -3460,7 +3702,7 @@
3460
3702
  <param pos="1" name="service.version"/>
3461
3703
  </fingerprint>
3462
3704
 
3463
- <fingerprint pattern="^(\S+) 2/, UPnP/\S+, TVersity Media Server$">
3705
+ <fingerprint pattern="^(\S{1,16}) 2/, UPnP/\S+, TVersity Media Server$">
3464
3706
  <description>TVersity Media Server UPnP Server</description>
3465
3707
  <example>6.2.8400 2/, UPnP/1.0, TVersity Media Server</example>
3466
3708
  <example>6.2.9200 2/, UPnP/1.0, TVersity Media Server</example>
@@ -3664,9 +3906,9 @@
3664
3906
  <example service.version="1.2">TBS/R2 UPnP/1.0 MiniUPnPd/1.2</example>
3665
3907
  <param pos="0" name="hw.vendor" value="D-Link"/>
3666
3908
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3667
- <param pos="0" name="service.product" value="MiniUPnP"/>
3909
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3668
3910
  <param pos="1" name="service.version"/>
3669
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
3911
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3670
3912
  </fingerprint>
3671
3913
 
3672
3914
  <fingerprint pattern="^alphapd/(\d\.[\d.]+)$">
@@ -3698,6 +3940,25 @@
3698
3940
  <param pos="0" name="os.device" value="WAP"/>
3699
3941
  </fingerprint>
3700
3942
 
3943
+ <fingerprint pattern="^Router Webserver$">
3944
+ <description>TP-Link Router httpd - seen on Wireless N and portable 3G routers</description>
3945
+ <example>Router Webserver</example>
3946
+ <param pos="0" name="service.vendor" value="TP-LINK"/>
3947
+ <param pos="0" name="os.vendor" value="TP-LINK"/>
3948
+ <param pos="0" name="os.device" value="Router"/>
3949
+ <param pos="0" name="hw.vendor" value="TP-LINK"/>
3950
+ <param pos="0" name="hw.device" value="Router"/>
3951
+ </fingerprint>
3952
+
3953
+ <fingerprint pattern="^TP-LINK HTTPD/1.0$">
3954
+ <description>TP-Link httpd</description>
3955
+ <example>TP-LINK HTTPD/1.0</example>
3956
+ <param pos="0" name="service.vendor" value="TP-LINK"/>
3957
+ <param pos="0" name="os.vendor" value="TP-LINK"/>
3958
+ <param pos="0" name="hw.vendor" value="TP-LINK"/>
3959
+ <param pos="0" name="hw.device" value="Device"/>
3960
+ </fingerprint>
3961
+
3701
3962
  <fingerprint pattern="^Linux/(\S+\_eureka_1), UPnP/[\d\.]+, Portable SDK for UPnP devices/(\S+)$">
3702
3963
  <description>Siqura Video Encoder</description>
3703
3964
  <example>Linux/2.6.37_eureka_1, UPnP/1.0, Portable SDK for UPnP devices/1.6.6</example>
@@ -3851,6 +4112,7 @@
3851
4112
  <param pos="0" name="hw.product" value="Roku"/>
3852
4113
  <param pos="0" name="hw.device" value="Media Server"/>
3853
4114
  <param pos="1" name="hw.version"/>
4115
+ <param pos="0" name="hw.cpe23" value="cpe:/h:roku:roku:{hw.version}"/>
3854
4116
  </fingerprint>
3855
4117
 
3856
4118
  <fingerprint pattern="^Roku/(\S+) UPnP/\S+ Roku/\S+$">
@@ -3860,6 +4122,7 @@
3860
4122
  <param pos="0" name="hw.product" value="Roku"/>
3861
4123
  <param pos="0" name="hw.device" value="Media Server"/>
3862
4124
  <param pos="1" name="hw.version"/>
4125
+ <param pos="0" name="hw.cpe23" value="cpe:/h:roku:roku:{hw.version}"/>
3863
4126
  </fingerprint>
3864
4127
 
3865
4128
  <fingerprint pattern="^Roku UPnP/\S+ MiniUPnPd/([\d\.]+)$">
@@ -3868,10 +4131,11 @@
3868
4131
  <param pos="0" name="hw.vendor" value="Roku"/>
3869
4132
  <param pos="0" name="hw.product" value="Roku"/>
3870
4133
  <param pos="0" name="hw.device" value="Media Server"/>
4134
+ <param pos="0" name="hw.cpe23" value="cpe:/h:roku:roku:-"/>
3871
4135
  <param pos="0" name="service.vendor" value="MiniUPnP Project"/>
3872
- <param pos="0" name="service.product" value="MiniUPnP"/>
4136
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
3873
4137
  <param pos="1" name="service.version"/>
3874
- <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnp:{service.version}"/>
4138
+ <param pos="0" name="service.cpe23" value="cpe:/a:miniupnp_project:miniupnpd:{service.version}"/>
3875
4139
  </fingerprint>
3876
4140
 
3877
4141
  <fingerprint pattern="^UPnP/\S+, DLNADOC/\S+, Platinum/(\S+)$">
@@ -4008,6 +4272,24 @@
4008
4272
  <param pos="0" name="service.cpe23" value="cpe:/a:xiph:icecast:{service.version}"/>
4009
4273
  </fingerprint>
4010
4274
 
4275
+ <fingerprint pattern="^Tableau$">
4276
+ <description>Tableau Tableau Server web interface</description>
4277
+ <example>Tableau</example>
4278
+ <param pos="0" name="service.vendor" value="Tableau"/>
4279
+ <param pos="0" name="service.product" value="Tableau Server"/>
4280
+ <param pos="0" name="service.cpe23" value="cpe:/a:tableau:tableau_server:-"/>
4281
+ </fingerprint>
4282
+
4283
+ <fingerprint pattern="^WowzaStreamingEngine/(\d\.[\w.]+)$">
4284
+ <description>Wowza Streaming Engine</description>
4285
+ <example service.version="4.7.7">WowzaStreamingEngine/4.7.7</example>
4286
+ <example service.version="4.6.0.04x">WowzaStreamingEngine/4.6.0.04x</example>
4287
+ <param pos="0" name="service.vendor" value="Wowza"/>
4288
+ <param pos="0" name="service.product" value="Streaming Engine"/>
4289
+ <param pos="1" name="service.version"/>
4290
+ <param pos="0" name="service.cpe23" value="cpe:/a:wowza:streaming_engine:{service.version}"/>
4291
+ </fingerprint>
4292
+
4011
4293
  <fingerprint pattern="^Couchbase Sync Gateway/([\d.]+) CE$">
4012
4294
  <description>Couchbase Sync Gateway Community Edition</description>
4013
4295
  <example service.version="2.5.0">Couchbase Sync Gateway/2.5.0 CE</example>
@@ -4070,6 +4352,17 @@
4070
4352
  <param pos="0" name="service.cpe23" value="cpe:/a:axtls_project:axtls:{service.version}"/>
4071
4353
  </fingerprint>
4072
4354
 
4355
+ <fingerprint pattern="^CommuniGatePro/(\d\.[\w.]+)$">
4356
+ <description>Communigate Communigate Pro</description>
4357
+ <example service.version="5.2.20">CommuniGatePro/5.2.20</example>
4358
+ <example service.version="6.2.16v">CommuniGatePro/6.2.16v</example>
4359
+ <param pos="0" name="service.vendor" value="Communigate"/>
4360
+ <param pos="0" name="service.family" value="Pro"/>
4361
+ <param pos="0" name="service.product" value="Communigate Pro"/>
4362
+ <param pos="1" name="service.version"/>
4363
+ <param pos="0" name="service.cpe23" value="cpe:/a:communigate:communigate_pro:{service.version}"/>
4364
+ </fingerprint>
4365
+
4073
4366
  <fingerprint pattern="^tinyproxy/([\d.]+)$">
4074
4367
  <description>TinyProxy Project tinyproxy</description>
4075
4368
  <example service.version="1.8.2">tinyproxy/1.8.2</example>
@@ -4171,6 +4464,67 @@
4171
4464
  <param pos="2" name="python.version"/>
4172
4465
  </fingerprint>
4173
4466
 
4467
+ <fingerprint pattern="^pve-api-daemon/[\d.]+">
4468
+ <description>Proxmox api daemon</description>
4469
+ <example>pve-api-daemon/3.0</example>
4470
+ <param pos="0" name="service.vendor" value="Proxmox"/>
4471
+ <param pos="0" name="service.product" value="Virtual Environment"/>
4472
+ <param pos="0" name="service.cpe23" value="cpe:/a:proxmox:virtual_environment:-"/>
4473
+ <param pos="0" name="os.vendor" value="Proxmox"/>
4474
+ <param pos="0" name="os.family" value="Linux"/>
4475
+ <param pos="0" name="os.product" value="Proxmox"/>
4476
+ </fingerprint>
4477
+
4478
+ <fingerprint pattern="^Cherokee/([\d.]+) \(Debian\)$">
4479
+ <description>Cherokee Web Server - Debian variant</description>
4480
+ <example service.version="1.2.104">Cherokee/1.2.104 (Debian)</example>
4481
+ <param pos="0" name="service.vendor" value="Cherokee Project"/>
4482
+ <param pos="0" name="service.product" value="Cherokee"/>
4483
+ <param pos="1" name="service.version"/>
4484
+ <param pos="0" name="service.cpe23" value="cpe:/a:cherokee-project:cherokee:{service.version}"/>
4485
+ <param pos="0" name="os.vendor" value="Debian"/>
4486
+ <param pos="0" name="os.product" value="Linux"/>
4487
+ <param pos="0" name="os.certainty" value="0.5"/>
4488
+ <param pos="0" name="os.cpe23" value="cpe:/o:debian:debian_linux:-"/>
4489
+ </fingerprint>
4490
+
4491
+ <fingerprint pattern="^Cherokee/([\d.]+) \(Ubuntu\)$">
4492
+ <description>Cherokee Web Server - Ubuntu variant</description>
4493
+ <example service.version="1.2.104">Cherokee/1.2.104 (Ubuntu)</example>
4494
+ <param pos="0" name="service.vendor" value="Cherokee Project"/>
4495
+ <param pos="0" name="service.product" value="Cherokee"/>
4496
+ <param pos="1" name="service.version"/>
4497
+ <param pos="0" name="service.cpe23" value="cpe:/a:cherokee-project:cherokee:{service.version}"/>
4498
+ <param pos="0" name="os.vendor" value="Ubuntu"/>
4499
+ <param pos="0" name="os.product" value="Linux"/>
4500
+ <param pos="0" name="os.certainty" value="0.5"/>
4501
+ <param pos="0" name="os.cpe23" value="cpe:/o:canonical:ubuntu_linux:-"/>
4502
+ </fingerprint>
4503
+
4504
+ <fingerprint pattern="^Cherokee/([\d.]+) \(Gentoo Linux\)$">
4505
+ <description>Cherokee Web Server - Gentoo variant</description>
4506
+ <example service.version="1.2.104">Cherokee/1.2.104 (Gentoo Linux)</example>
4507
+ <param pos="0" name="service.vendor" value="Cherokee Project"/>
4508
+ <param pos="0" name="service.product" value="Cherokee"/>
4509
+ <param pos="1" name="service.version"/>
4510
+ <param pos="0" name="service.cpe23" value="cpe:/a:cherokee-project:cherokee:{service.version}"/>
4511
+ <param pos="0" name="os.vendor" value="Gentoo"/>
4512
+ <param pos="0" name="os.product" value="Linux"/>
4513
+ <param pos="0" name="os.certainty" value="0.5"/>
4514
+ <param pos="0" name="os.cpe23" value="cpe:/o:gentoo:linux:-"/>
4515
+ </fingerprint>
4516
+
4517
+ <fingerprint pattern="^Cherokee(?:/([\d.]+))?(?: \(UNIX\))?$">
4518
+ <description>Cherokee Web Server</description>
4519
+ <example>Cherokee</example>
4520
+ <example service.version="0.2.7">Cherokee/0.2.7</example>
4521
+ <example service.version="1.2.101">Cherokee/1.2.101 (UNIX)</example>
4522
+ <param pos="0" name="service.vendor" value="Cherokee Project"/>
4523
+ <param pos="0" name="service.product" value="Cherokee"/>
4524
+ <param pos="1" name="service.version"/>
4525
+ <param pos="0" name="service.cpe23" value="cpe:/a:cherokee-project:cherokee:{service.version}"/>
4526
+ </fingerprint>
4527
+
4174
4528
  <!-- This is a version of ACME mini_httpd where the value 'mini_httpd' has been
4175
4529
  replaced with a UUID in the Server header AND body of the response. It
4176
4530
  is likely vendor or product specific.
@@ -4186,4 +4540,79 @@
4186
4540
  <param pos="0" name="service.cpe23" value="cpe:/a:acme:mini_httpd:-"/>
4187
4541
  </fingerprint>
4188
4542
 
4543
+ <fingerprint pattern="^Unspecified, UPnP/[\d\.]+, Unspecified$">
4544
+ <description>UPNP server</description>
4545
+ <example>Unspecified, UPnP/1.0, Unspecified</example>
4546
+ <param pos="0" name="service.family" value="UPnP"/>
4547
+ </fingerprint>
4548
+
4549
+ <fingerprint pattern="^WNR2000v([0-9]) UPnP/[\d\.]+ miniupnpd/([\d\.]+)$">
4550
+ <description>Netgear WNR2000v5 Router UPnP</description>
4551
+ <example hw.version="5" service.version="1.0">WNR2000v5 UPnP/1.0 miniupnpd/1.0</example>
4552
+ <param pos="1" name="hw.version"/>
4553
+ <param pos="2" name="service.version"/>
4554
+ <param pos="0" name="service.vendor" value="Netgear"/>
4555
+ <param pos="0" name="service.family" value="UPnP"/>
4556
+ <param pos="0" name="service.product" value="MiniUPnPd"/>
4557
+ <param pos="0" name="hw.vendor" value="Netgear"/>
4558
+ <param pos="0" name="hw.product" value="WNR2000"/>
4559
+ <param pos="0" name="hw.device" value="Router"/>
4560
+ <param pos="0" name="hw.cpe23" value="cpe:/h:netgear:wnr2000:{hw.version}"/>
4561
+ </fingerprint>
4562
+
4563
+ <fingerprint pattern="^ev-compat$">
4564
+ <description>PELCO CAMERA DEVICE</description>
4565
+ <example>ev-compat</example>
4566
+ <param pos="0" name="service.vendor" value="Pelco"/>
4567
+ <param pos="0" name="service.family" value="UPnP"/>
4568
+ <param pos="0" name="hw.vendor" value="Pelco"/>
4569
+ <param pos="0" name="hw.device" value="IP Camera"/>
4570
+ </fingerprint>
4571
+
4572
+ <fingerprint pattern="UNMS (\d+\.\d+\.\d+)">
4573
+ <description>Ubiquiti UNMS</description>
4574
+ <example>302 Found UNMS 1.2.7</example>
4575
+ <param pos="0" name="service.vendor" value="Ubiquiti"/>
4576
+ <param pos="0" name="service.product" value="UNMS"/>
4577
+ <param pos="1" name="service.version"/>
4578
+ </fingerprint>
4579
+
4580
+ <fingerprint pattern="^xxxxxxxx-xxxxx$">
4581
+ <description>Fortinet - device unknown</description>
4582
+ <example>xxxxxxxx-xxxxx</example>
4583
+ <param pos="0" name="os.vendor" value="Fortinet"/>
4584
+ <param pos="0" name="os.family" value="FortiOS"/>
4585
+ <param pos="0" name="os.product" value="FortiOS"/>
4586
+ <param pos="0" name="os.device" value="Firewall"/>
4587
+ <param pos="0" name="os.cpe23" value="cpe:/o:fortinet:fortios:-"/>
4588
+ <param pos="0" name="hw.vendor" value="Fortinet"/>
4589
+ </fingerprint>
4590
+
4591
+ <fingerprint pattern="^VBrick (\S+) Server$">
4592
+ <description>VBrick Encoding Server</description>
4593
+ <example service.product="VB6000">VBrick VB6000 Server</example>
4594
+ <param pos="0" name="service.vendor" value="VBrick"/>
4595
+ <param pos="1" name="service.product"/>
4596
+ <param pos="0" name="hw.product" value="{service.product}"/>
4597
+ <param pos="0" name="hw.vendor" value="{service.vendor}"/>
4598
+ <param pos="0" name="hw.device" value="Video Encoder"/>
4599
+ </fingerprint>
4600
+
4601
+ <fingerprint pattern="^kx-ns1000$">
4602
+ <description>Panasonic KX-NS1000 IP PBX</description>
4603
+ <example>kx-ns1000</example>
4604
+ <param pos="0" name="hw.product" value="KX-NS1000"/>
4605
+ <param pos="0" name="hw.vendor" value="Panasonic"/>
4606
+ <param pos="0" name="hw.device" value="VoIP Server"/>
4607
+ </fingerprint>
4608
+
4609
+ <fingerprint pattern="^Oce Express WebTools$">
4610
+ <description>Oce Printer</description>
4611
+ <example>Oce Express WebTools</example>
4612
+ <param pos="0" name="service.vendor" value="Oce"/>
4613
+ <param pos="0" name="service.product" value="Express WebTools"/>
4614
+ <param pos="0" name="hw.vendor" value="Oce"/>
4615
+ <param pos="0" name="hw.device" value="Printer"/>
4616
+ </fingerprint>
4617
+
4189
4618
  </fingerprints>