recog 2.3.22 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +2 -0
- data/LICENSE +1 -1
- data/README.md +25 -16
- data/Rakefile +2 -9
- data/lib/recog/db_manager.rb +1 -1
- data/lib/recog/fingerprint.rb +21 -7
- data/lib/recog/fingerprint_parse_error.rb +10 -0
- data/lib/recog/match_reporter.rb +37 -3
- data/lib/recog/matcher.rb +5 -10
- data/lib/recog/verifier.rb +4 -4
- data/lib/recog/verify_reporter.rb +7 -6
- data/lib/recog/version.rb +1 -1
- data/{bin → recog/bin}/recog_match +20 -7
- data/{xml → recog/xml}/apache_modules.xml +0 -0
- data/{xml → recog/xml}/apache_os.xml +61 -19
- data/{xml → recog/xml}/architecture.xml +15 -1
- data/{xml → recog/xml}/dhcp_vendor_class.xml +10 -10
- data/{xml → recog/xml}/dns_versionbind.xml +16 -13
- data/{xml → recog/xml}/favicons.xml +167 -9
- data/{xml → recog/xml}/fingerprints.xsd +9 -1
- data/{xml → recog/xml}/ftp_banners.xml +131 -141
- data/{xml → recog/xml}/h323_callresp.xml +2 -2
- data/{xml → recog/xml}/hp_pjl_id.xml +81 -81
- data/{xml → recog/xml}/html_title.xml +250 -9
- data/{xml → recog/xml}/http_cookies.xml +111 -34
- data/{xml → recog/xml}/http_servers.xml +483 -270
- data/{xml → recog/xml}/http_wwwauth.xml +83 -37
- data/{xml → recog/xml}/imap_banners.xml +10 -10
- data/{xml → recog/xml}/ldap_searchresult.xml +0 -0
- data/{xml → recog/xml}/mdns_device-info_txt.xml +0 -0
- data/{xml → recog/xml}/mdns_workstation_txt.xml +0 -0
- data/{xml → recog/xml}/mysql_banners.xml +0 -0
- data/{xml → recog/xml}/mysql_error.xml +0 -0
- data/{xml → recog/xml}/nntp_banners.xml +8 -5
- data/{xml → recog/xml}/ntp_banners.xml +33 -33
- data/{xml → recog/xml}/operating_system.xml +92 -77
- data/{xml → recog/xml}/pop_banners.xml +25 -25
- data/{xml → recog/xml}/rsh_resp.xml +0 -0
- data/{xml → recog/xml}/rtsp_servers.xml +0 -0
- data/{xml → recog/xml}/sip_banners.xml +16 -5
- data/{xml → recog/xml}/sip_user_agents.xml +122 -27
- data/{xml → recog/xml}/smb_native_lm.xml +5 -5
- data/{xml → recog/xml}/smb_native_os.xml +25 -25
- data/{xml → recog/xml}/smtp_banners.xml +132 -131
- data/{xml → recog/xml}/smtp_debug.xml +0 -0
- data/{xml → recog/xml}/smtp_ehlo.xml +0 -0
- data/{xml → recog/xml}/smtp_expn.xml +0 -0
- data/{xml → recog/xml}/smtp_help.xml +1 -1
- data/{xml → recog/xml}/smtp_mailfrom.xml +0 -0
- data/{xml → recog/xml}/smtp_noop.xml +0 -0
- data/{xml → recog/xml}/smtp_quit.xml +0 -0
- data/{xml → recog/xml}/smtp_rcptto.xml +0 -0
- data/{xml → recog/xml}/smtp_rset.xml +0 -0
- data/{xml → recog/xml}/smtp_turn.xml +0 -0
- data/{xml → recog/xml}/smtp_vrfy.xml +0 -0
- data/{xml → recog/xml}/snmp_sysdescr.xml +1248 -1233
- data/{xml → recog/xml}/snmp_sysobjid.xml +13 -2
- data/{xml → recog/xml}/ssh_banners.xml +9 -5
- data/{xml → recog/xml}/telnet_banners.xml +83 -1
- data/{xml → recog/xml}/tls_jarm.xml +30 -2
- data/{xml → recog/xml}/x11_banners.xml +3 -3
- data/{xml → recog/xml}/x509_issuers.xml +24 -4
- data/{xml → recog/xml}/x509_subjects.xml +32 -3
- data/recog.gemspec +9 -5
- 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/recog/db_spec.rb +84 -61
- data/spec/lib/recog/fingerprint_spec.rb +4 -4
- data/spec/lib/recog/match_reporter_spec.rb +22 -8
- data/spec/lib/recog/verify_reporter_spec.rb +8 -8
- data/spec/spec_helper.rb +4 -0
- data.tar.gz.sig +0 -0
- metadata +154 -142
- metadata.gz.sig +0 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -37
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
- data/.github/ISSUE_TEMPLATE/fingerprint_request.md +0 -27
- data/.github/PULL_REQUEST_TEMPLATE +0 -24
- data/.github/SECURITY.md +0 -35
- data/.github/dependabot.yml +0 -8
- data/.github/workflows/ci.yml +0 -26
- data/.github/workflows/verify.yml +0 -89
- data/.gitignore +0 -23
- data/.rspec +0 -3
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/.snyk +0 -10
- data/.travis.yml +0 -25
- data/CONTRIBUTING.md +0 -276
- data/bin/recog_cleanup +0 -16
- data/bin/recog_export +0 -81
- data/bin/recog_standardize +0 -163
- data/bin/recog_verify +0 -63
- data/cpe-remap.yaml +0 -356
- data/features/data/failing_banners_fingerprints.xml +0 -20
- data/features/data/matching_banners_fingerprints.xml +0 -23
- data/features/data/multiple_banners_fingerprints.xml +0 -32
- data/features/data/no_tests.xml +0 -3
- data/features/data/sample_banner.txt +0 -2
- data/features/data/successful_tests.xml +0 -18
- data/features/data/tests_with_failures.xml +0 -20
- data/features/data/tests_with_warnings.xml +0 -17
- data/features/match.feature +0 -36
- data/features/support/aruba.rb +0 -3
- data/features/support/env.rb +0 -6
- data/features/verify.feature +0 -48
- data/identifiers/README.md +0 -70
- data/identifiers/fields.txt +0 -105
- data/identifiers/hw_device.txt +0 -84
- data/identifiers/hw_family.txt +0 -121
- data/identifiers/hw_product.txt +0 -461
- data/identifiers/os_architecture.txt +0 -10
- data/identifiers/os_device.txt +0 -75
- data/identifiers/os_family.txt +0 -234
- data/identifiers/os_product.txt +0 -350
- data/identifiers/service_family.txt +0 -249
- data/identifiers/service_product.txt +0 -764
- data/identifiers/vendor.txt +0 -847
- data/lib/recog/verifier_factory.rb +0 -13
- data/misc/convert_mysql_err +0 -61
- data/misc/order.xsl +0 -17
- data/requirements.txt +0 -2
- data/spec/lib/fingerprint_self_test_spec.rb +0 -175
- data/tools/dev/hooks/pre-commit +0 -21
- data/update_cpes.py +0 -250
@@ -1,20 +0,0 @@
|
|
1
|
-
<?xml version="1.0"?>
|
2
|
-
<fingerprints>
|
3
|
-
<fingerprint pattern="^foo$">
|
4
|
-
<description>foo test</description>
|
5
|
-
<!-- Fail: doesn't match -->
|
6
|
-
<example>bar</example>
|
7
|
-
</fingerprint>
|
8
|
-
<fingerprint pattern="^This matches$">
|
9
|
-
<!-- Warn: no name -->
|
10
|
-
<!-- Fail: doesn't match -->
|
11
|
-
<example>This almost matches</example>
|
12
|
-
</fingerprint>
|
13
|
-
<fingerprint pattern="^(\S+) ([\d.]+)$">
|
14
|
-
<description>bar test</description>
|
15
|
-
<!-- Fail: expected os.version doesn't match the capture group -->
|
16
|
-
<example os.version="5.0" >bar 1.0</example>
|
17
|
-
<param pos="2" name="os.version" />
|
18
|
-
<param pos="1" name="os.name" value="Bar" />
|
19
|
-
</fingerprint>
|
20
|
-
</fingerprints>
|
@@ -1,17 +0,0 @@
|
|
1
|
-
<?xml version="1.0"?>
|
2
|
-
<fingerprints>
|
3
|
-
<fingerprint pattern="^-{10} Welcome to Pure-FTPd (.*)-{10}$">
|
4
|
-
<example pureftpd.config="">---------- Welcome to Pure-FTPd ----------</example>
|
5
|
-
<description>Pure-FTPd</description>
|
6
|
-
<param pos="1" name="pureftpd.config"/>
|
7
|
-
<param pos="0" name="service.family" value="Pure-FTPd"/>
|
8
|
-
<param pos="0" name="service.product" value="Pure-FTPd"/>
|
9
|
-
</fingerprint>
|
10
|
-
<fingerprint pattern="^-{10} Welcome to Pure-FTPd (.*)-{10}$">
|
11
|
-
<!-- should warn with no examples -->
|
12
|
-
<description>Pure-FTPd</description>
|
13
|
-
<param pos="1" name="pureftpd.config"/>
|
14
|
-
<param pos="0" name="service.family" value="Pure-FTPd"/>
|
15
|
-
<param pos="0" name="service.product" value="Pure-FTPd"/>
|
16
|
-
</fingerprint>
|
17
|
-
</fingerprints>
|
data/features/match.feature
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
Feature: Match
|
2
|
-
@no-clobber
|
3
|
-
Scenario: Finds matches
|
4
|
-
When I run `recog_match matching_banners_fingerprints.xml sample_banner.txt`
|
5
|
-
Then it should pass with:
|
6
|
-
"""
|
7
|
-
MATCH: {"matched"=>"Pure-FTPd Config data can be zero or more of: [privsep] [TLS]", "pureftpd.config"=>"[privsep] [TLS] ", "service.family"=>"Pure-FTPd", "service.product"=>"Pure-FTPd", "service.protocol"=>"ftp", "fingerprint_db"=>"matching_banners_fingerprints", "data"=>"---------- Welcome to Pure-FTPd [privsep] [TLS] ----------"}
|
8
|
-
MATCH: {"matched"=>"SunOS/Solaris", "os.vendor"=>"Sun", "os.family"=>"Solaris", "os.product"=>"Solaris", "os.device"=>"General", "host.name"=>"polaris", "os.version"=>"5.8", "service.protocol"=>"ftp", "fingerprint_db"=>"matching_banners_fingerprints", "data"=>"polaris FTP server (SunOS 5.8) ready."}
|
9
|
-
"""
|
10
|
-
|
11
|
-
@no-clobber
|
12
|
-
Scenario: Fails at finding matches
|
13
|
-
When I run `recog_match failing_banners_fingerprints.xml sample_banner.txt`
|
14
|
-
Then it should pass with:
|
15
|
-
"""
|
16
|
-
FAIL: ---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
|
17
|
-
FAIL: polaris FTP server (SunOS 5.8) ready
|
18
|
-
"""
|
19
|
-
|
20
|
-
@no-clobber
|
21
|
-
Scenario: Finds multiple matches
|
22
|
-
When I run `recog_match multiple_banners_fingerprints.xml sample_banner.txt --multi-match`
|
23
|
-
Then it should pass with:
|
24
|
-
"""
|
25
|
-
MATCHES: {"matched"=>"Generic FTP, Checks for the existence of the word FTP in the line", "service.protocol"=>"", "fingerprint_db"=>"multiple_banners_fingerprints", "data"=>"---------- Welcome to Pure-FTPd [privsep] [TLS] ----------"},{"matched"=>"Pure-FTPd Config data can be zero or more of: [privsep] [TLS]", "pureftpd.config"=>"[privsep] [TLS] ", "service.family"=>"Pure-FTPd", "service.product"=>"Pure-FTPd", "service.protocol"=>"ftp", "fingerprint_db"=>"multiple_banners_fingerprints", "data"=>"---------- Welcome to Pure-FTPd [privsep] [TLS] ----------"}
|
26
|
-
MATCHES: {"matched"=>"Generic FTP, Checks for the existence of the word FTP in the line", "service.protocol"=>"", "fingerprint_db"=>"multiple_banners_fingerprints", "data"=>"polaris FTP server (SunOS 5.8) ready."},{"matched"=>"SunOS/Solaris", "service.protocol"=>"ftp", "os.vendor"=>"Sun", "os.family"=>"Solaris", "os.product"=>"Solaris", "os.device"=>"General", "host.name"=>"polaris", "os.version"=>"5.8", "fingerprint_db"=>"multiple_banners_fingerprints", "data"=>"polaris FTP server (SunOS 5.8) ready."}
|
27
|
-
"""
|
28
|
-
|
29
|
-
@no-clobber
|
30
|
-
Scenario: Finds first matches using no-multi-match flag
|
31
|
-
When I run `recog_match multiple_banners_fingerprints.xml sample_banner.txt --no-multi-match`
|
32
|
-
Then it should pass with:
|
33
|
-
"""
|
34
|
-
MATCH: {"matched"=>"Generic FTP, Checks for the existence of the word FTP in the line", "service.protocol"=>"", "fingerprint_db"=>"multiple_banners_fingerprints", "data"=>"---------- Welcome to Pure-FTPd [privsep] [TLS] ----------"}
|
35
|
-
MATCH: {"matched"=>"Generic FTP, Checks for the existence of the word FTP in the line", "service.protocol"=>"", "fingerprint_db"=>"multiple_banners_fingerprints", "data"=>"polaris FTP server (SunOS 5.8) ready."}
|
36
|
-
"""
|
data/features/support/aruba.rb
DELETED
data/features/support/env.rb
DELETED
data/features/verify.feature
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
Feature: Verify
|
2
|
-
@no-clobber
|
3
|
-
Scenario: No tests
|
4
|
-
When I run `recog_verify no_tests.xml`
|
5
|
-
Then it should pass with exactly:
|
6
|
-
"""
|
7
|
-
no_tests.xml: SUMMARY: Test completed with 0 successful, 0 warnings, and 0 failures
|
8
|
-
"""
|
9
|
-
|
10
|
-
@no-clobber
|
11
|
-
Scenario: Successful tests
|
12
|
-
When I run `recog_verify successful_tests.xml`
|
13
|
-
Then it should pass with exactly:
|
14
|
-
"""
|
15
|
-
successful_tests.xml: SUMMARY: Test completed with 4 successful, 0 warnings, and 0 failures
|
16
|
-
"""
|
17
|
-
|
18
|
-
@no-clobber
|
19
|
-
Scenario: Tests with warnings, warnings enabled
|
20
|
-
When I run `recog_verify tests_with_warnings.xml`
|
21
|
-
Then it should fail with:
|
22
|
-
"""
|
23
|
-
tests_with_warnings.xml: WARN: 'Pure-FTPd' has no test cases
|
24
|
-
tests_with_warnings.xml: WARN: 'Pure-FTPd' is missing an example that checks for parameter 'pureftpd.config' which is derived from a capture group
|
25
|
-
tests_with_warnings.xml: SUMMARY: Test completed with 1 successful, 2 warnings, and 0 failures
|
26
|
-
"""
|
27
|
-
And the exit status should be 2
|
28
|
-
|
29
|
-
@no-clobber
|
30
|
-
Scenario: Tests with warnings, warnings disabled
|
31
|
-
When I run `recog_verify --no-warnings tests_with_warnings.xml`
|
32
|
-
Then it should pass with exactly:
|
33
|
-
"""
|
34
|
-
tests_with_warnings.xml: SUMMARY: Test completed with 1 successful, 0 warnings, and 0 failures
|
35
|
-
"""
|
36
|
-
|
37
|
-
@no-clobber
|
38
|
-
Scenario: Tests with failures
|
39
|
-
When I run `recog_verify tests_with_failures.xml`
|
40
|
-
Then it should fail with:
|
41
|
-
"""
|
42
|
-
tests_with_failures.xml: FAIL: 'foo test' failed to match "bar" with (?-mix:^foo$)'
|
43
|
-
tests_with_failures.xml: FAIL: '' failed to match "This almost matches" with (?-mix:^This matches$)'
|
44
|
-
tests_with_failures.xml: FAIL: 'bar test's os.name is a non-zero pos but specifies a value of 'Bar'
|
45
|
-
tests_with_failures.xml: FAIL: 'bar test' failed to find expected capture group os.version '5.0'. Result was 1.0
|
46
|
-
tests_with_failures.xml: SUMMARY: Test completed with 0 successful, 0 warnings, and 4 failures
|
47
|
-
"""
|
48
|
-
And the exit status should be 4
|
data/identifiers/README.md
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
# Recog: Identifiers
|
2
|
-
|
3
|
-
This directory contains lists of standard identifiers for mapping Recog matches.
|
4
|
-
The goal is define a standard set of constants to represent known software,
|
5
|
-
hardware, vendors, and categories.
|
6
|
-
|
7
|
-
This is currently incomplete and will be updated as standardization work moves
|
8
|
-
forward.
|
9
|
-
|
10
|
-
Fingerprints should use these identifiers whenever possible; if a different name
|
11
|
-
or syntax for a given identifier is preferred, this should be implemented in the
|
12
|
-
application through a mapping function.
|
13
|
-
|
14
|
-
## Lists
|
15
|
-
|
16
|
-
### Fields
|
17
|
-
|
18
|
-
`fields.txt` defines the various fields (`os.vendor`, etc.) used to assert
|
19
|
-
information about a match.
|
20
|
-
|
21
|
-
### Vendors
|
22
|
-
|
23
|
-
`vendor.txt` defines known vendor names, covering services, operating systems,
|
24
|
-
and hardware.
|
25
|
-
|
26
|
-
### Operating Systems
|
27
|
-
|
28
|
-
`os_architecture.txt` defines known CPU types.
|
29
|
-
|
30
|
-
`os_product.txt` defines known operating system names.
|
31
|
-
|
32
|
-
`os_family.txt` defines known operating system families.
|
33
|
-
|
34
|
-
`os_device.txt` defines known types of devices by function or purpose.
|
35
|
-
|
36
|
-
### Hardware
|
37
|
-
|
38
|
-
`hw_product.txt` defines known hardware product names.
|
39
|
-
|
40
|
-
`hw_family.txt` defines known hardware product families.
|
41
|
-
|
42
|
-
`hw_device.txt` defines known types of devices by function or purpose (overlaps
|
43
|
-
with `os_device.txt`).
|
44
|
-
|
45
|
-
### Services
|
46
|
-
|
47
|
-
`service_product.txt` defines known service product names.
|
48
|
-
|
49
|
-
`service_family.txt` defines known service product families.
|
50
|
-
|
51
|
-
### Software
|
52
|
-
|
53
|
-
`software_product.txt` defines known software product names.
|
54
|
-
|
55
|
-
`software_family.txt` defines known software product families.
|
56
|
-
|
57
|
-
`software_class.txt` defines known types of software by function or purpose.
|
58
|
-
|
59
|
-
## Pending Work
|
60
|
-
|
61
|
-
* All existing fingerprints should be correlated against these lists to
|
62
|
-
identify mismatches and updated accordingly.
|
63
|
-
|
64
|
-
* All net new identifiers from the existing fingerprints should be merged into
|
65
|
-
these lists.
|
66
|
-
|
67
|
-
* All fingerprint assertions should be enumerated, documented, and standardized
|
68
|
-
where possible (`host.mac`, etc).
|
69
|
-
|
70
|
-
* Hardware identifiers should be enumerated, consolidated, and standardized.
|
data/identifiers/fields.txt
DELETED
@@ -1,105 +0,0 @@
|
|
1
|
-
agilent.serial
|
2
|
-
apache.info
|
3
|
-
apache.variant
|
4
|
-
apache.variant.version
|
5
|
-
aptinex.model
|
6
|
-
chromecast.capabilities
|
7
|
-
chromecast.generation
|
8
|
-
cisco.imc_model
|
9
|
-
cisco.model
|
10
|
-
cookie
|
11
|
-
dell.service_tag
|
12
|
-
digi.serial_number
|
13
|
-
extron.model
|
14
|
-
host.domain
|
15
|
-
host.ip
|
16
|
-
host.mac
|
17
|
-
host.mac_eui64
|
18
|
-
host.mac_local
|
19
|
-
host.name
|
20
|
-
host.time
|
21
|
-
hw.certainty
|
22
|
-
hw.cpe23
|
23
|
-
hw.device
|
24
|
-
hw.family
|
25
|
-
hw.model
|
26
|
-
hw.product
|
27
|
-
hw.serial_number
|
28
|
-
hw.series
|
29
|
-
hw.vendor
|
30
|
-
hw.version
|
31
|
-
imail.eval
|
32
|
-
jetty.info
|
33
|
-
junction.cookie
|
34
|
-
junction.name
|
35
|
-
lantronix.serial_number
|
36
|
-
lenovo.machine_model
|
37
|
-
lenovo.machine_type
|
38
|
-
linux.kernel.version
|
39
|
-
loadbalancer.poolname
|
40
|
-
mdaemon.unregistered
|
41
|
-
mercur.os.info
|
42
|
-
metainfo.version
|
43
|
-
metainfo.version.version
|
44
|
-
ms.nttp.version
|
45
|
-
notes.build.version
|
46
|
-
ntmail.id
|
47
|
-
openssh.comment
|
48
|
-
openssh.cvepatch
|
49
|
-
os.arch
|
50
|
-
os.build
|
51
|
-
os.certainty
|
52
|
-
os.cpe23
|
53
|
-
os.device
|
54
|
-
os.edition
|
55
|
-
os.family
|
56
|
-
os.model
|
57
|
-
os.product
|
58
|
-
os.rev
|
59
|
-
os.vendor
|
60
|
-
os.version
|
61
|
-
os.version.version
|
62
|
-
os.version.version.version
|
63
|
-
postfix.os.info
|
64
|
-
postoffice.build
|
65
|
-
postoffice.id
|
66
|
-
procurve.model
|
67
|
-
proftpd.server.name
|
68
|
-
pureftpd.config
|
69
|
-
python.version
|
70
|
-
qpopper.version
|
71
|
-
securetransport.build
|
72
|
-
sendmail.config.version
|
73
|
-
sendmail.hpux.phne.version
|
74
|
-
sendmail.vendor.version
|
75
|
-
service.certainty
|
76
|
-
service.component.cpe23
|
77
|
-
service.component.family
|
78
|
-
service.component.product
|
79
|
-
service.component.vendor
|
80
|
-
service.component.version
|
81
|
-
service.cpe23
|
82
|
-
service.device
|
83
|
-
service.edition
|
84
|
-
service.family
|
85
|
-
service.node
|
86
|
-
service.product
|
87
|
-
service.protocol
|
88
|
-
service.vendor
|
89
|
-
service.version
|
90
|
-
service.version.version
|
91
|
-
service.version.version.version
|
92
|
-
service.version.version.version.version
|
93
|
-
siemens.model
|
94
|
-
snmp.fpmib.oid.1
|
95
|
-
snmp.fpmib.oid.2
|
96
|
-
system.time
|
97
|
-
system.time.format
|
98
|
-
system.time.micros
|
99
|
-
system.time.millis
|
100
|
-
tandberg.model
|
101
|
-
thttpd.mx-patch
|
102
|
-
tomcat.info
|
103
|
-
unify.model
|
104
|
-
wd2go.device_id
|
105
|
-
zmailer.ident
|
data/identifiers/hw_device.txt
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
ADSL Modem
|
2
|
-
AV Receiver
|
3
|
-
Access Control
|
4
|
-
Alarm Panel
|
5
|
-
Appliance
|
6
|
-
Audio Encoder
|
7
|
-
Broadband Router
|
8
|
-
Building Automation
|
9
|
-
Cable Modem
|
10
|
-
Check Scanner
|
11
|
-
DOCSIS Cable Modem
|
12
|
-
DSL Modem
|
13
|
-
DVR
|
14
|
-
Data Terminal
|
15
|
-
Desktop
|
16
|
-
Device
|
17
|
-
Device Hub
|
18
|
-
Device Server
|
19
|
-
Display Controller
|
20
|
-
Environment Control
|
21
|
-
Ethernet Adapter
|
22
|
-
Firewall
|
23
|
-
HMI Controller
|
24
|
-
Handheld Scanner
|
25
|
-
Hypervisor
|
26
|
-
IP Camera
|
27
|
-
IPS
|
28
|
-
Industrial Control
|
29
|
-
JTAG Adapter
|
30
|
-
KVM
|
31
|
-
Laptop
|
32
|
-
Light Bulb
|
33
|
-
Lights Out Management
|
34
|
-
Media Player
|
35
|
-
Media Receiver
|
36
|
-
Media Server
|
37
|
-
Mobile Phone
|
38
|
-
Monitoring
|
39
|
-
Multifunction Device
|
40
|
-
NAS
|
41
|
-
Network Appliance
|
42
|
-
Network Audio
|
43
|
-
Network Management Device
|
44
|
-
PLC
|
45
|
-
Power Device
|
46
|
-
Power Meter
|
47
|
-
Power Relay
|
48
|
-
Powerline
|
49
|
-
Print Server
|
50
|
-
Printer
|
51
|
-
Relay Controller
|
52
|
-
Router
|
53
|
-
SD-WAN Appliance
|
54
|
-
SIP Device
|
55
|
-
SIP Gateway
|
56
|
-
Scanner
|
57
|
-
Security Appliance
|
58
|
-
Sensor
|
59
|
-
Smart TV
|
60
|
-
Storage
|
61
|
-
Storage Appliance
|
62
|
-
Support Appliance
|
63
|
-
Switch
|
64
|
-
Tablet
|
65
|
-
Tape Library
|
66
|
-
Telecom
|
67
|
-
Test Instrument
|
68
|
-
Thin Client
|
69
|
-
UPS
|
70
|
-
VPN
|
71
|
-
Video Conference
|
72
|
-
Video Conferencing
|
73
|
-
Video Decoder
|
74
|
-
Video Encoder
|
75
|
-
VoIP
|
76
|
-
VoIP Server
|
77
|
-
VoIP Switch
|
78
|
-
Voice Appliance
|
79
|
-
WAP
|
80
|
-
WLAN Repeater
|
81
|
-
Web Cam
|
82
|
-
Whiteboard
|
83
|
-
Wireless Controller
|
84
|
-
Wireless Presenter
|
data/identifiers/hw_family.txt
DELETED
@@ -1,121 +0,0 @@
|
|
1
|
-
AR Series
|
2
|
-
Adaptive Security Appliance
|
3
|
-
Aficio
|
4
|
-
AirPort
|
5
|
-
Apple TV
|
6
|
-
Communication Manager
|
7
|
-
DVR
|
8
|
-
Data ONTAP
|
9
|
-
DiskStation
|
10
|
-
Document Centre
|
11
|
-
EDR
|
12
|
-
Eurotherm
|
13
|
-
Extended Systems ExtendNet
|
14
|
-
FRITZ!Box
|
15
|
-
FRITZ!Fon
|
16
|
-
FRITZ!Powerline
|
17
|
-
FRITZ!WLAN Repeater
|
18
|
-
FS
|
19
|
-
Firewall-1
|
20
|
-
Forms Printer
|
21
|
-
FortiGate
|
22
|
-
FortiVoice
|
23
|
-
GW25
|
24
|
-
GXV
|
25
|
-
GXW
|
26
|
-
HDX
|
27
|
-
HandyTone
|
28
|
-
HomePod
|
29
|
-
Honeywell
|
30
|
-
ILOM
|
31
|
-
IMDVR
|
32
|
-
ION
|
33
|
-
JetDirect
|
34
|
-
LX Series
|
35
|
-
LaserJet
|
36
|
-
LinkCom Xpress
|
37
|
-
MGate
|
38
|
-
MPEG4 DVR
|
39
|
-
MT
|
40
|
-
MX Series
|
41
|
-
Mac mini
|
42
|
-
MacBook
|
43
|
-
MacBook Pro
|
44
|
-
MegaRAC
|
45
|
-
MiiNePort
|
46
|
-
Multifunction
|
47
|
-
My Book
|
48
|
-
NE
|
49
|
-
NPort
|
50
|
-
NetScaler
|
51
|
-
NetVanta
|
52
|
-
Netscaler
|
53
|
-
Network Audio
|
54
|
-
Network Security Appliance
|
55
|
-
Network Video Door Station
|
56
|
-
OpenScape Desk Phone
|
57
|
-
Optra
|
58
|
-
Orbi
|
59
|
-
POWER System
|
60
|
-
Phaser
|
61
|
-
Primergy
|
62
|
-
Pro Series
|
63
|
-
RMX
|
64
|
-
ReadyNAS
|
65
|
-
RealPresence
|
66
|
-
RealPresence Group
|
67
|
-
Router
|
68
|
-
S500 Range
|
69
|
-
SIP Device
|
70
|
-
SIP Gateway
|
71
|
-
SL2100
|
72
|
-
Service Access Switch
|
73
|
-
Service Router
|
74
|
-
Simatic HMI
|
75
|
-
Simatic NET
|
76
|
-
Simatic S7
|
77
|
-
Simatic Sinumerik
|
78
|
-
SoundPoint
|
79
|
-
SoundTouch
|
80
|
-
SpeedTouch
|
81
|
-
Speedport
|
82
|
-
Storage
|
83
|
-
Sun Fire
|
84
|
-
Sunny
|
85
|
-
Switch
|
86
|
-
System X
|
87
|
-
TASKalfa
|
88
|
-
TelePresence
|
89
|
-
Time Capsule
|
90
|
-
TippingPoint
|
91
|
-
Turbo Station
|
92
|
-
UNIVERGE
|
93
|
-
UniFi
|
94
|
-
Unified Security Gateway
|
95
|
-
VDX
|
96
|
-
VSX
|
97
|
-
VVX
|
98
|
-
Vigor
|
99
|
-
VoIP
|
100
|
-
WD2GO
|
101
|
-
WiMax
|
102
|
-
Wide Format
|
103
|
-
Wide Format Printer
|
104
|
-
WorkCentre
|
105
|
-
WorkCentre Pro
|
106
|
-
Xserve
|
107
|
-
ZXDSL
|
108
|
-
ZXHN
|
109
|
-
ZXV
|
110
|
-
airMAX
|
111
|
-
iLO
|
112
|
-
iMac
|
113
|
-
iPad
|
114
|
-
iPad Air
|
115
|
-
iPad Pro
|
116
|
-
iPad mini
|
117
|
-
iPhone
|
118
|
-
iPod
|
119
|
-
iSTAR Door Controllers
|
120
|
-
imageClass
|
121
|
-
imageRunner
|