recog 2.3.20 → 2.3.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +8 -0
- data/.github/workflows/ci.yml +1 -1
- data/.github/workflows/verify.yml +89 -0
- data/.vscode/bin/monitor-recog-fingerprints.sh +54 -0
- data/.vscode/extensions.json +5 -0
- data/.vscode/settings.json +8 -0
- data/.vscode/tasks.json +77 -0
- data/CONTRIBUTING.md +8 -0
- data/README.md +17 -0
- data/bin/recog_standardize +28 -13
- data/bin/recog_verify +42 -8
- data/cpe-remap.yaml +62 -3
- data/features/data/schema_failure.xml +4 -0
- data/features/data/tests_with_failures.xml +6 -0
- data/features/support/hooks.rb +9 -0
- data/features/verify.feature +85 -21
- data/identifiers/fields.txt +6 -5
- data/identifiers/hw_device.txt +8 -0
- data/identifiers/hw_family.txt +8 -0
- data/identifiers/hw_product.txt +54 -0
- data/identifiers/os_device.txt +2 -0
- data/identifiers/os_family.txt +2 -0
- data/identifiers/os_product.txt +18 -2
- data/identifiers/service_product.txt +26 -0
- data/identifiers/vendor.txt +62 -1
- data/lib/recog/db.rb +2 -1
- data/lib/recog/fingerprint.rb +33 -6
- data/lib/recog/fingerprint_parse_error.rb +10 -0
- data/lib/recog/nizer.rb +1 -82
- data/lib/recog/verifier.rb +9 -9
- data/lib/recog/verify_reporter.rb +17 -6
- data/lib/recog/version.rb +1 -1
- data/requirements.txt +1 -1
- data/spec/data/external_example_fingerprint/hp_printer_ex_01.txt +1 -0
- data/spec/data/external_example_fingerprint/hp_printer_ex_02.txt +1 -0
- data/spec/data/external_example_fingerprint.xml +8 -0
- data/spec/data/external_example_illegal_path_fingerprint.xml +7 -0
- data/spec/lib/fingerprint_self_test_spec.rb +1 -0
- data/spec/lib/recog/db_spec.rb +84 -61
- data/spec/lib/recog/fingerprint_spec.rb +4 -4
- data/spec/lib/recog/verify_reporter_spec.rb +73 -4
- data/tools/dev/hooks/pre-commit +21 -0
- data/update_cpes.py +130 -37
- data/xml/apache_os.xml +98 -56
- data/xml/architecture.xml +15 -1
- data/xml/dhcp_vendor_class.xml +206 -0
- data/xml/dns_versionbind.xml +26 -13
- data/xml/favicons.xml +236 -47
- data/xml/fingerprints.xsd +9 -1
- data/xml/ftp_banners.xml +213 -197
- data/xml/h323_callresp.xml +101 -101
- data/xml/hp_pjl_id.xml +84 -84
- data/xml/html_title.xml +715 -45
- data/xml/http_cookies.xml +143 -80
- data/xml/http_servers.xml +510 -310
- data/xml/http_wwwauth.xml +177 -75
- data/xml/imap_banners.xml +10 -10
- data/xml/mdns_device-info_txt.xml +421 -26
- data/xml/mysql_banners.xml +3 -2
- data/xml/nntp_banners.xml +12 -9
- data/xml/ntp_banners.xml +97 -97
- data/xml/operating_system.xml +98 -83
- data/xml/pop_banners.xml +27 -27
- data/xml/rsh_resp.xml +3 -3
- data/xml/sip_banners.xml +46 -8
- data/xml/sip_user_agents.xml +180 -27
- data/xml/smb_native_lm.xml +5 -5
- data/xml/smb_native_os.xml +28 -25
- data/xml/smtp_banners.xml +258 -254
- data/xml/smtp_ehlo.xml +1 -1
- data/xml/smtp_help.xml +11 -11
- data/xml/smtp_noop.xml +2 -2
- data/xml/snmp_sysdescr.xml +1554 -1429
- data/xml/snmp_sysobjid.xml +27 -27
- data/xml/ssh_banners.xml +27 -20
- data/xml/telnet_banners.xml +256 -57
- data/xml/tls_jarm.xml +48 -6
- data/xml/x11_banners.xml +3 -3
- data/xml/x509_issuers.xml +69 -2
- data/xml/x509_subjects.xml +144 -33
- metadata +24 -4
- data/lib/recog/verifier_factory.rb +0 -13
data/features/verify.feature
CHANGED
@@ -2,47 +2,111 @@ Feature: Verify
|
|
2
2
|
@no-clobber
|
3
3
|
Scenario: No tests
|
4
4
|
When I run `recog_verify no_tests.xml`
|
5
|
-
Then it should pass with:
|
5
|
+
Then it should pass with exactly:
|
6
6
|
"""
|
7
|
-
SUMMARY: Test completed with 0 successful, 0 warnings, and 0 failures
|
7
|
+
no_tests.xml: SUMMARY: Test completed with 0 successful, 0 warnings, and 0 failures
|
8
8
|
"""
|
9
9
|
|
10
10
|
@no-clobber
|
11
11
|
Scenario: Successful tests
|
12
12
|
When I run `recog_verify successful_tests.xml`
|
13
|
-
Then it should pass with:
|
13
|
+
Then it should pass with exactly:
|
14
14
|
"""
|
15
|
-
SUMMARY: Test completed with 4 successful, 0 warnings, and 0 failures
|
15
|
+
successful_tests.xml: SUMMARY: Test completed with 4 successful, 0 warnings, and 0 failures
|
16
16
|
"""
|
17
17
|
|
18
18
|
@no-clobber
|
19
|
-
Scenario: Tests with warnings, warnings
|
19
|
+
Scenario: Tests with warnings, warnings disabled
|
20
|
+
When I run `recog_verify --no-warnings tests_with_warnings.xml`
|
21
|
+
Then it should pass with exactly:
|
22
|
+
"""
|
23
|
+
tests_with_warnings.xml: SUMMARY: Test completed with 1 successful, 0 warnings, and 0 failures
|
24
|
+
"""
|
25
|
+
|
26
|
+
# These tests vary due to line numbering issues in Nokogiri, so there are different versions
|
27
|
+
# of the same test depending on the ruby runtime. Nokogiri uses libxml under CRuby, and a custom
|
28
|
+
# java-based parser under JRuby. The Java-based parser only approximates line numbers, which are
|
29
|
+
# typically off if XML prolog or comments are present.
|
30
|
+
#
|
31
|
+
# See https://github.com/sparklemotion/nokogiri/issues/2380
|
32
|
+
@no-clobber
|
33
|
+
@unsupported-on-platform-java
|
34
|
+
Scenario: Tests with warnings, warnings enabled (CRuby)
|
20
35
|
When I run `recog_verify tests_with_warnings.xml`
|
21
36
|
Then it should fail with:
|
22
37
|
"""
|
23
|
-
WARN: 'Pure-FTPd' has no test cases
|
24
|
-
|
25
|
-
SUMMARY: Test completed with 1 successful, 2 warnings, and 0 failures
|
38
|
+
tests_with_warnings.xml:10: WARN: 'Pure-FTPd' has no test cases
|
39
|
+
tests_with_warnings.xml: SUMMARY: Test completed with 1 successful, 1 warnings, and 0 failures
|
26
40
|
"""
|
27
|
-
And the exit status should be
|
28
|
-
|
41
|
+
And the exit status should be 1
|
42
|
+
|
43
|
+
# JRuby 9.2.20.1 and 9.3.3.0 differ in how they parse XML, where the latter is more close to libxml
|
44
|
+
# and Nokogiri. We use a regex test to match results from both versions.
|
29
45
|
@no-clobber
|
30
|
-
|
31
|
-
|
32
|
-
|
46
|
+
@requires-ruby-platform-java
|
47
|
+
Scenario: Tests with warnings, warnings enabled (JRuby)
|
48
|
+
When I run `recog_verify tests_with_warnings.xml`
|
49
|
+
Then it should fail with regex:
|
33
50
|
"""
|
34
|
-
|
51
|
+
tests_with_warnings.xml:\d+: WARN: 'Pure-FTPd' has no test cases
|
52
|
+
tests_with_warnings.xml: SUMMARY: Test completed with 1 successful, 1 warnings, and 0 failures
|
35
53
|
"""
|
54
|
+
And the exit status should be 1
|
36
55
|
|
37
56
|
@no-clobber
|
38
|
-
|
57
|
+
@unsupported-on-platform-java
|
58
|
+
Scenario: Tests with failures (CRuby)
|
39
59
|
When I run `recog_verify tests_with_failures.xml`
|
40
60
|
Then it should fail with:
|
41
61
|
"""
|
42
|
-
FAIL: 'foo test' failed to match "bar" with (?-mix:^foo$)'
|
43
|
-
FAIL: '' failed to match "This almost matches" with (?-mix:^This matches$)'
|
44
|
-
FAIL: 'bar test's os.name is a non-zero pos but specifies a value of 'Bar'
|
45
|
-
FAIL: 'bar test' failed to find expected capture group os.version '5.0'. Result was 1.0
|
46
|
-
|
62
|
+
tests_with_failures.xml:3: FAIL: 'foo test' failed to match "bar" with (?-mix:^foo$)'
|
63
|
+
tests_with_failures.xml:8: FAIL: '' failed to match "This almost matches" with (?-mix:^This matches$)'
|
64
|
+
tests_with_failures.xml:13: FAIL: 'bar test's os.name is a non-zero pos but specifies a value of 'Bar'
|
65
|
+
tests_with_failures.xml:13: FAIL: 'bar test' failed to find expected capture group os.version '5.0'. Result was 1.0
|
66
|
+
tests_with_failures.xml:20: FAIL: 'example with untested parameter' is missing an example that checks for parameter 'os.version' which is derived from a capture group
|
67
|
+
tests_with_failures.xml: SUMMARY: Test completed with 1 successful, 0 warnings, and 5 failures
|
68
|
+
"""
|
69
|
+
And the exit status should be 5
|
70
|
+
|
71
|
+
# JRuby 9.2.20.1 and 9.3.3.0 differ in how they parse XML, where the latter is more close to libxml
|
72
|
+
# and Nokogiri. We use a regex test to match results from both versions.
|
73
|
+
@no-clobber
|
74
|
+
@requires-ruby-platform-java
|
75
|
+
Scenario: Tests with failures (JRuby)
|
76
|
+
When I run `recog_verify tests_with_failures.xml`
|
77
|
+
Then it should fail with regex:
|
78
|
+
"""
|
79
|
+
tests_with_failures.xml:\d+: FAIL: 'foo test' failed to match "bar" with \(\?-mix:\^foo\$\)'
|
80
|
+
tests_with_failures.xml:\d+: FAIL: '' failed to match "This almost matches" with \(\?-mix:\^This matches\$\)'
|
81
|
+
tests_with_failures.xml:\d+: FAIL: 'bar test's os\.name is a non-zero pos but specifies a value of 'Bar'
|
82
|
+
tests_with_failures.xml:\d+: FAIL: 'bar test' failed to find expected capture group os\.version '5\.0'. Result was 1\.0
|
83
|
+
tests_with_failures.xml:\d+: FAIL: 'example with untested parameter' is missing an example that checks for parameter 'os\.version' which is derived from a capture group
|
84
|
+
tests_with_failures.xml: SUMMARY: Test completed with 1 successful, 0 warnings, and 5 failures
|
85
|
+
"""
|
86
|
+
And the exit status should be 5
|
87
|
+
|
88
|
+
@no-clobber
|
89
|
+
@unsupported-on-platform-java
|
90
|
+
Scenario: recog_verify produces XML errors from the XSD with a malformed XML document (CRuby)
|
91
|
+
When I run `recog_verify --schema-location ../../xml/fingerprints.xsd schema_failure.xml`
|
92
|
+
Then it should fail with:
|
93
|
+
"""
|
94
|
+
schema_failure.xml:3: FAIL: 3:0: ERROR: Element 'fingerprint', attribute 'name': The attribute 'name' is not allowed.
|
95
|
+
schema_failure.xml:3: FAIL: 3:0: ERROR: Element 'fingerprint': The attribute 'pattern' is required but missing.
|
96
|
+
schema_failure.xml:3: FAIL: 3:0: ERROR: Element 'fingerprint': Missing child element(s). Expected is ( description ).
|
97
|
+
schema_failure.xml: SUMMARY: Test completed with 0 successful, 0 warnings, and 3 failures
|
98
|
+
"""
|
99
|
+
And the exit status should be 3
|
100
|
+
|
101
|
+
@no-clobber
|
102
|
+
@requires-ruby-platform-java
|
103
|
+
Scenario: recog_verify produces XML errors from the XSD with a malformed XML document (JRuby)
|
104
|
+
When I run `recog_verify --schema_location ../../xml/fingerprints.xsd schema_failure.xml`
|
105
|
+
Then it should fail with:
|
106
|
+
"""
|
107
|
+
schema_failure.xml:-1: FAIL: -1:-1: ERROR: cvc-complex-type.3.2.2: Attribute 'name' is not allowed to appear in element 'fingerprint'.
|
108
|
+
schema_failure.xml:-1: FAIL: -1:-1: ERROR: cvc-complex-type.4: Attribute 'pattern' must appear on element 'fingerprint'.
|
109
|
+
schema_failure.xml:-1: FAIL: -1:-1: ERROR: cvc-complex-type.2.4.b: The content of element 'fingerprint' is not complete. One of '{description}' is expected.
|
110
|
+
schema_failure.xml: SUMMARY: Test completed with 0 successful, 0 warnings, and 3 failures
|
47
111
|
"""
|
48
|
-
And the exit status should be
|
112
|
+
And the exit status should be 3
|
data/identifiers/fields.txt
CHANGED
@@ -2,17 +2,16 @@ agilent.serial
|
|
2
2
|
apache.info
|
3
3
|
apache.variant
|
4
4
|
apache.variant.version
|
5
|
+
aptinex.model
|
5
6
|
chromecast.capabilities
|
6
7
|
chromecast.generation
|
7
|
-
chromecast.serial_number
|
8
8
|
cisco.imc_model
|
9
|
-
cisco.
|
9
|
+
cisco.model
|
10
10
|
cookie
|
11
11
|
dell.service_tag
|
12
|
+
digi.serial_number
|
12
13
|
extron.model
|
13
|
-
fortinet.serial_number
|
14
14
|
host.domain
|
15
|
-
host.id
|
16
15
|
host.ip
|
17
16
|
host.mac
|
18
17
|
host.mac_eui64
|
@@ -25,6 +24,7 @@ hw.device
|
|
25
24
|
hw.family
|
26
25
|
hw.model
|
27
26
|
hw.product
|
27
|
+
hw.serial_number
|
28
28
|
hw.series
|
29
29
|
hw.vendor
|
30
30
|
hw.version
|
@@ -32,6 +32,7 @@ imail.eval
|
|
32
32
|
jetty.info
|
33
33
|
junction.cookie
|
34
34
|
junction.name
|
35
|
+
lantronix.serial_number
|
35
36
|
lenovo.machine_model
|
36
37
|
lenovo.machine_type
|
37
38
|
linux.kernel.version
|
@@ -67,7 +68,6 @@ proftpd.server.name
|
|
67
68
|
pureftpd.config
|
68
69
|
python.version
|
69
70
|
qpopper.version
|
70
|
-
ruckus.serial_number
|
71
71
|
securetransport.build
|
72
72
|
sendmail.config.version
|
73
73
|
sendmail.hpux.phne.version
|
@@ -100,5 +100,6 @@ system.time.millis
|
|
100
100
|
tandberg.model
|
101
101
|
thttpd.mx-patch
|
102
102
|
tomcat.info
|
103
|
+
unify.model
|
103
104
|
wd2go.device_id
|
104
105
|
zmailer.ident
|
data/identifiers/hw_device.txt
CHANGED
@@ -25,12 +25,14 @@ Handheld Scanner
|
|
25
25
|
Hypervisor
|
26
26
|
IP Camera
|
27
27
|
IPS
|
28
|
+
IPTV
|
28
29
|
Industrial Control
|
29
30
|
JTAG Adapter
|
30
31
|
KVM
|
31
32
|
Laptop
|
32
33
|
Light Bulb
|
33
34
|
Lights Out Management
|
35
|
+
Media Player
|
34
36
|
Media Receiver
|
35
37
|
Media Server
|
36
38
|
Mobile Phone
|
@@ -42,6 +44,7 @@ Network Audio
|
|
42
44
|
Network Management Device
|
43
45
|
PLC
|
44
46
|
Power Device
|
47
|
+
Power Meter
|
45
48
|
Power Relay
|
46
49
|
Powerline
|
47
50
|
Print Server
|
@@ -53,6 +56,7 @@ SIP Device
|
|
53
56
|
SIP Gateway
|
54
57
|
Scanner
|
55
58
|
Security Appliance
|
59
|
+
Sensor
|
56
60
|
Smart TV
|
57
61
|
Storage
|
58
62
|
Storage Appliance
|
@@ -62,17 +66,21 @@ Tablet
|
|
62
66
|
Tape Library
|
63
67
|
Telecom
|
64
68
|
Test Instrument
|
69
|
+
Thin Client
|
70
|
+
UPS
|
65
71
|
VPN
|
66
72
|
Video Conference
|
67
73
|
Video Conferencing
|
68
74
|
Video Decoder
|
69
75
|
Video Encoder
|
70
76
|
VoIP
|
77
|
+
VoIP Gateway
|
71
78
|
VoIP Server
|
72
79
|
VoIP Switch
|
73
80
|
Voice Appliance
|
74
81
|
WAP
|
75
82
|
WLAN Repeater
|
83
|
+
Web Cam
|
76
84
|
Whiteboard
|
77
85
|
Wireless Controller
|
78
86
|
Wireless Presenter
|
data/identifiers/hw_family.txt
CHANGED
@@ -9,6 +9,7 @@ Data ONTAP
|
|
9
9
|
DiskStation
|
10
10
|
Document Centre
|
11
11
|
EDR
|
12
|
+
Eurotherm
|
12
13
|
Extended Systems ExtendNet
|
13
14
|
FRITZ!Box
|
14
15
|
FRITZ!Fon
|
@@ -30,6 +31,7 @@ ILOM
|
|
30
31
|
IMDVR
|
31
32
|
ION
|
32
33
|
JetDirect
|
34
|
+
LX Series
|
33
35
|
LaserJet
|
34
36
|
LinkCom Xpress
|
35
37
|
MGate
|
@@ -51,6 +53,7 @@ Netscaler
|
|
51
53
|
Network Audio
|
52
54
|
Network Security Appliance
|
53
55
|
Network Video Door Station
|
56
|
+
OpenScape Desk Phone
|
54
57
|
Optra
|
55
58
|
Orbi
|
56
59
|
POWER System
|
@@ -91,6 +94,7 @@ UniFi
|
|
91
94
|
Unified Security Gateway
|
92
95
|
VDX
|
93
96
|
VSX
|
97
|
+
VVX
|
94
98
|
Vigor
|
95
99
|
VoIP
|
96
100
|
WD2GO
|
@@ -111,3 +115,7 @@ iPad Air
|
|
111
115
|
iPad Pro
|
112
116
|
iPad mini
|
113
117
|
iPhone
|
118
|
+
iPod
|
119
|
+
iSTAR Door Controllers
|
120
|
+
imageClass
|
121
|
+
imageRunner
|
data/identifiers/hw_product.txt
CHANGED
@@ -15,20 +15,25 @@ Adaptive Security Appliance
|
|
15
15
|
AirPort Express
|
16
16
|
AirPort Extreme
|
17
17
|
Alarm Panel
|
18
|
+
AmpliFi
|
18
19
|
AppDynamics
|
19
20
|
Apple TV (2nd generation)
|
20
21
|
Apple TV (3rd generation)
|
21
22
|
Apple TV (4th generation)
|
22
23
|
Apple TV 4K
|
24
|
+
Apple TV 4K (2nd generation)
|
23
25
|
Appliance
|
24
26
|
ArchiveTeam Warrior
|
25
27
|
Asset Management
|
28
|
+
AutoDome
|
26
29
|
AutoVu SharpV
|
30
|
+
BlackBox
|
27
31
|
BladeSystem Onboard Administrator
|
28
32
|
Border GW
|
29
33
|
Bridge
|
30
34
|
CC EtherNet/IP
|
31
35
|
CP
|
36
|
+
CU360
|
32
37
|
Camera
|
33
38
|
Captive Portal
|
34
39
|
CarDetector
|
@@ -39,6 +44,8 @@ Chromecast
|
|
39
44
|
ClearPass Policy Manager
|
40
45
|
ClickShare
|
41
46
|
CloudKey
|
47
|
+
Color Bulb
|
48
|
+
CommServer
|
42
49
|
CommandPost
|
43
50
|
ConnectUPS Web Card
|
44
51
|
Crosswork SON Appliance
|
@@ -48,12 +55,16 @@ DCS-932
|
|
48
55
|
DD OS
|
49
56
|
DNA Center
|
50
57
|
DSL Router
|
58
|
+
DX800A
|
51
59
|
Data ONTAP
|
52
60
|
Digital Signage Player
|
53
61
|
Discover
|
54
62
|
Discovery
|
63
|
+
DocCam
|
55
64
|
Document Centre
|
65
|
+
Drone Detector
|
56
66
|
DuraFon
|
67
|
+
E5810 Gateway Device
|
57
68
|
ECOM100
|
58
69
|
EDR-G902
|
59
70
|
EDR-G903
|
@@ -67,6 +78,7 @@ EdgeSwitch
|
|
67
78
|
Elevation
|
68
79
|
Email Security Gateway
|
69
80
|
EqualLogic
|
81
|
+
Eternus
|
70
82
|
Ethernet Relay Controller
|
71
83
|
Ethernet Relay Module
|
72
84
|
Excella
|
@@ -92,10 +104,12 @@ HT812
|
|
92
104
|
HT813
|
93
105
|
HT814
|
94
106
|
HT818
|
107
|
+
Helium Miner
|
95
108
|
HiPer Access Router Card
|
96
109
|
Home Controller
|
97
110
|
Home Gateway
|
98
111
|
HomePod
|
112
|
+
HomePod mini
|
99
113
|
Hue
|
100
114
|
HyperFlex Connect
|
101
115
|
IA Appliance
|
@@ -109,6 +123,7 @@ IP2IR
|
|
109
123
|
IPMI
|
110
124
|
IVR
|
111
125
|
Infinity Controler
|
126
|
+
Instreamer
|
112
127
|
IntelliSlot Web Card
|
113
128
|
Internet Payment Gateway
|
114
129
|
Internet Phone Adapter
|
@@ -119,8 +134,10 @@ J9155A
|
|
119
134
|
JetDirect
|
120
135
|
K1000
|
121
136
|
KWS-1043N
|
137
|
+
KX-NS1000
|
122
138
|
Key Management
|
123
139
|
Key Management Server
|
140
|
+
LORIX ONE
|
124
141
|
Lantick Ethernet Relay Controller
|
125
142
|
Lencore Sound Manager 2
|
126
143
|
MDS 9000
|
@@ -203,11 +220,15 @@ Mercury
|
|
203
220
|
Mergepoint
|
204
221
|
Miniserver
|
205
222
|
My Book Live
|
223
|
+
N1913A Power Meter
|
206
224
|
N5172B Signal Generator
|
207
225
|
NAM
|
208
226
|
NAS4Free
|
209
227
|
NFVIS
|
210
228
|
NPort
|
229
|
+
NR900
|
230
|
+
NTP-2
|
231
|
+
NTP-RG-1402G
|
211
232
|
NetScaler Gateway
|
212
233
|
NetScaler SDX Gateway
|
213
234
|
NetScreen
|
@@ -220,6 +241,7 @@ Network Node
|
|
220
241
|
Network Security Appliance
|
221
242
|
Nexus 1000V
|
222
243
|
Nexus Player
|
244
|
+
Novus UPS
|
223
245
|
OfficeConnect Switch
|
224
246
|
OnHub
|
225
247
|
OpenManage
|
@@ -227,30 +249,37 @@ OpenManage Switch
|
|
227
249
|
OpenNAC
|
228
250
|
Orbi micro
|
229
251
|
Orbit IP Camera
|
252
|
+
PCoIP Endpoint Device
|
230
253
|
PDR M800
|
231
254
|
PIAF Virtual Appliance
|
232
255
|
PLAY
|
233
256
|
PLC-5
|
234
257
|
Paragon-100G
|
235
258
|
Photonic Switch
|
259
|
+
Plug Outdoor
|
236
260
|
PoliWall
|
261
|
+
PowerLogic Power Meter
|
237
262
|
PowerVault 124T
|
238
263
|
Prime Collaboration Manager
|
239
264
|
Primergy
|
240
265
|
Printer
|
241
266
|
Prosafe Plus
|
267
|
+
Quad Plus Receiver
|
242
268
|
R Series
|
243
269
|
RT31P2
|
244
270
|
RTU
|
245
271
|
Rack PDU Card
|
272
|
+
RadioLinx
|
246
273
|
Raspberry Pi
|
247
274
|
ReadyNAS
|
248
275
|
RecoverPoint
|
249
276
|
ReeCam
|
250
277
|
Roku
|
251
278
|
Room Alert
|
279
|
+
Roomba
|
252
280
|
S7 DALI Gateway
|
253
281
|
SD-WAN
|
282
|
+
SHDSL Router
|
254
283
|
SHIELD
|
255
284
|
SIP Gateway
|
256
285
|
SIParator Firewall
|
@@ -273,6 +302,7 @@ Site Recovery Manager
|
|
273
302
|
SmartEdge Sensor
|
274
303
|
Softswitch
|
275
304
|
SolsticePod
|
305
|
+
SonicPoint
|
276
306
|
SoundPoint
|
277
307
|
Spot
|
278
308
|
Stealthwatch
|
@@ -297,9 +327,12 @@ UCM6202
|
|
297
327
|
UCM6204
|
298
328
|
UCM6208
|
299
329
|
UCS Manager
|
330
|
+
UDS
|
331
|
+
UPS
|
300
332
|
USG20-VPN
|
301
333
|
USG40
|
302
334
|
USG60
|
335
|
+
Ultra Door Controller
|
303
336
|
UniFi Cloud Key
|
304
337
|
UniFi NVR
|
305
338
|
UniFi Security Gateway
|
@@ -319,6 +352,7 @@ WebBox
|
|
319
352
|
Whiteboard
|
320
353
|
Wireless Dock
|
321
354
|
Wireless LAN Controller
|
355
|
+
Wireless Radio
|
322
356
|
Wireless Router
|
323
357
|
XCC
|
324
358
|
Xfinity Broadband Router
|
@@ -345,6 +379,7 @@ iMac (21.5-inch, Mid 2010)
|
|
345
379
|
iMac (21.5-inch, Mid 2011)
|
346
380
|
iMac (21.5-inch, Mid 2014)
|
347
381
|
iMac (24-inch, Early 2009)
|
382
|
+
iMac (24-inch, M1, 2021)
|
348
383
|
iMac (27-inch, Late 2009)
|
349
384
|
iMac (27-inch, Late 2012)
|
350
385
|
iMac (27-inch, Late 2013)
|
@@ -362,12 +397,17 @@ iMac Pro (Retina 5K, Late 2017)
|
|
362
397
|
iPad (4th generation)
|
363
398
|
iPad (5th generation)
|
364
399
|
iPad (6th generation)
|
400
|
+
iPad (7th generation)
|
401
|
+
iPad (8th generation)
|
402
|
+
iPad (9th generation)
|
365
403
|
iPad Air
|
366
404
|
iPad Air (3rd generation)
|
405
|
+
iPad Air (4th generation)
|
367
406
|
iPad Air 2
|
368
407
|
iPad Pro (10.5-inch)
|
369
408
|
iPad Pro (11-inch)
|
370
409
|
iPad Pro (11-inch, 2nd generation)
|
410
|
+
iPad Pro (11-inch, 3rd generation)
|
371
411
|
iPad Pro (12.9-inch)
|
372
412
|
iPad Pro (12.9-inch, 2nd generation)
|
373
413
|
iPad Pro (12.9-inch, 3rd generation)
|
@@ -375,16 +415,22 @@ iPad Pro (12.9-inch, 4th generation)
|
|
375
415
|
iPad Pro (9.7-inch)
|
376
416
|
iPad mini
|
377
417
|
iPad mini (5th generation)
|
418
|
+
iPad mini (6th generation)
|
378
419
|
iPad mini 2
|
379
420
|
iPad mini 3
|
380
421
|
iPad mini 4
|
381
422
|
iPhone
|
423
|
+
iPhone 11
|
382
424
|
iPhone 11 Pro
|
383
425
|
iPhone 11 Pro Max
|
384
426
|
iPhone 12 5G
|
385
427
|
iPhone 12 Mini 5G
|
386
428
|
iPhone 12 Pro 5G
|
387
429
|
iPhone 12 Pro Max 5G
|
430
|
+
iPhone 13
|
431
|
+
iPhone 13 Pro
|
432
|
+
iPhone 13 Pro Max
|
433
|
+
iPhone 13 mini
|
388
434
|
iPhone 3G
|
389
435
|
iPhone 3GS
|
390
436
|
iPhone 4
|
@@ -406,4 +452,12 @@ iPhone X
|
|
406
452
|
iPhone XR
|
407
453
|
iPhone XS
|
408
454
|
iPhone XS Max
|
455
|
+
iPod Touch (1st generation)
|
456
|
+
iPod Touch (2nd generation)
|
457
|
+
iPod Touch (3rd generation)
|
458
|
+
iPod Touch (4th generation)
|
459
|
+
iPod Touch (5th generation)
|
460
|
+
iPod Touch (6th generation)
|
461
|
+
iPod Touch (7th generation)
|
462
|
+
iSTAR Ultra
|
409
463
|
vManage
|
data/identifiers/os_device.txt
CHANGED
data/identifiers/os_family.txt
CHANGED
@@ -185,6 +185,7 @@ System Storage
|
|
185
185
|
T3 Termination
|
186
186
|
TASKalfa
|
187
187
|
TDS750 Series
|
188
|
+
Teradici
|
188
189
|
Time Capsule
|
189
190
|
TippingPoint
|
190
191
|
Total Access
|
@@ -206,6 +207,7 @@ VRP
|
|
206
207
|
Vantage
|
207
208
|
VarioLink
|
208
209
|
VarioPrint
|
210
|
+
Vigor
|
209
211
|
VoIP
|
210
212
|
VxWorks
|
211
213
|
WAP
|
data/identifiers/os_product.txt
CHANGED
@@ -81,13 +81,17 @@ Fabric OS
|
|
81
81
|
Fastmark M5
|
82
82
|
FaxPress
|
83
83
|
Fedora
|
84
|
-
Fedora Core
|
84
|
+
Fedora Core
|
85
|
+
Fermentrack
|
85
86
|
Fiery Print Server
|
86
87
|
Firepower
|
87
88
|
Firewall-1
|
88
89
|
Fireware
|
89
90
|
FortiOS
|
90
91
|
FreeBSD
|
92
|
+
FreeNAS Firmware
|
93
|
+
Freebox OS
|
94
|
+
FreshTomato
|
91
95
|
G2 Console Switch
|
92
96
|
GAiA OS
|
93
97
|
GXP1610 Firmware
|
@@ -116,13 +120,13 @@ IPReach
|
|
116
120
|
IPSO
|
117
121
|
IRIX
|
118
122
|
Integrated Lights Out Manager
|
119
|
-
Integrated Lights Out Manager firmware
|
120
123
|
Irix
|
121
124
|
Isilon OneFS OS
|
122
125
|
JetDirect
|
123
126
|
Junos OS
|
124
127
|
Kamikaze
|
125
128
|
KeeneticOS
|
129
|
+
LORIX OS
|
126
130
|
LX
|
127
131
|
Linux
|
128
132
|
Linux AMI
|
@@ -136,10 +140,12 @@ Mac OS
|
|
136
140
|
Mac OS X
|
137
141
|
Mac OS X Server
|
138
142
|
Management Processor
|
143
|
+
Media Server
|
139
144
|
Meeting Management
|
140
145
|
MegaRAC
|
141
146
|
Mergepoint
|
142
147
|
Meridian 1 Call Server
|
148
|
+
Mongoose OS
|
143
149
|
NAM
|
144
150
|
NAS4Free
|
145
151
|
NEO Tape Library
|
@@ -147,6 +153,8 @@ NET+OS
|
|
147
153
|
NFVIS
|
148
154
|
NRG Printer
|
149
155
|
NT
|
156
|
+
NTP-2 Firmware
|
157
|
+
NTP-RG-1402G Firmware
|
150
158
|
NX-OS
|
151
159
|
NetBSD
|
152
160
|
NetCache
|
@@ -167,6 +175,7 @@ OSSIM
|
|
167
175
|
OfficeConnect Cable Modem
|
168
176
|
Onboard Administrator
|
169
177
|
OneFS
|
178
|
+
Onyx
|
170
179
|
OpenBSD
|
171
180
|
OpenMediaVault
|
172
181
|
OpenServer
|
@@ -216,6 +225,7 @@ SCO UNIX
|
|
216
225
|
SEHI
|
217
226
|
SINIX
|
218
227
|
SL2100 Firmware
|
228
|
+
SMG Firmware
|
219
229
|
SPA112 Firmware
|
220
230
|
SPA122 Firmware
|
221
231
|
SV8100 Firmware
|
@@ -225,6 +235,7 @@ ScanFront
|
|
225
235
|
ScreenOS
|
226
236
|
Secure Linux
|
227
237
|
SecureOS
|
238
|
+
Serenity
|
228
239
|
SmartEdge OS
|
229
240
|
SmartServer
|
230
241
|
SmoothWall
|
@@ -241,6 +252,7 @@ SuperStack 3
|
|
241
252
|
SuperStack 3 Firewall
|
242
253
|
SuperStack II
|
243
254
|
SureStore Tape Library
|
255
|
+
SwOS
|
244
256
|
Switch
|
245
257
|
TMS zl Module
|
246
258
|
TRU64
|
@@ -251,6 +263,8 @@ Tenable Core
|
|
251
263
|
TetrationOS
|
252
264
|
TimOS
|
253
265
|
Time Capsule Firmware
|
266
|
+
Tomato
|
267
|
+
TomatoUSB
|
254
268
|
Traverse
|
255
269
|
Tru64 Unix
|
256
270
|
UCM6202 Firmware
|
@@ -263,6 +277,7 @@ USG40 firmware
|
|
263
277
|
USG60 firmware
|
264
278
|
Ubuntu Linux
|
265
279
|
Ultrix
|
280
|
+
Unified SIP Phone 3900 Firmware
|
266
281
|
UnixWare
|
267
282
|
VBrick Rev
|
268
283
|
VIDOS-NVR
|
@@ -338,4 +353,5 @@ ipOS
|
|
338
353
|
tvOS
|
339
354
|
vManage
|
340
355
|
vSphere Management Assistant
|
356
|
+
webOS
|
341
357
|
z/OS
|