recog 2.3.17 → 2.3.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +26 -0
  3. data/bin/recog_standardize +6 -0
  4. data/cpe-remap.yaml +342 -200
  5. data/identifiers/README.md +24 -10
  6. data/identifiers/fields.txt +104 -0
  7. data/identifiers/hw_device.txt +2 -0
  8. data/identifiers/hw_family.txt +11 -0
  9. data/identifiers/hw_product.txt +71 -0
  10. data/identifiers/os_device.txt +2 -1
  11. data/identifiers/os_family.txt +2 -0
  12. data/identifiers/os_product.txt +36 -8
  13. data/identifiers/service_family.txt +10 -1
  14. data/identifiers/service_product.txt +78 -2
  15. data/identifiers/vendor.txt +55 -0
  16. data/lib/recog/nizer.rb +1 -82
  17. data/lib/recog/version.rb +1 -1
  18. data/requirements.txt +1 -1
  19. data/update_cpes.py +18 -5
  20. data/xml/apache_modules.xml +60 -0
  21. data/xml/apache_os.xml +1 -1
  22. data/xml/dns_versionbind.xml +11 -1
  23. data/xml/favicons.xml +122 -3
  24. data/xml/ftp_banners.xml +62 -51
  25. data/xml/html_title.xml +553 -41
  26. data/xml/http_cookies.xml +262 -61
  27. data/xml/http_servers.xml +478 -108
  28. data/xml/http_wwwauth.xml +36 -9
  29. data/xml/imap_banners.xml +5 -5
  30. data/xml/ldap_searchresult.xml +1 -0
  31. data/xml/mdns_device-info_txt.xml +340 -10
  32. data/xml/mysql_banners.xml +2 -1
  33. data/xml/nntp_banners.xml +1 -1
  34. data/xml/ntp_banners.xml +16 -2
  35. data/xml/operating_system.xml +4 -4
  36. data/xml/pop_banners.xml +4 -4
  37. data/xml/rtsp_servers.xml +7 -0
  38. data/xml/sip_banners.xml +347 -9
  39. data/xml/sip_user_agents.xml +323 -4
  40. data/xml/smb_native_lm.xml +32 -1
  41. data/xml/smb_native_os.xml +160 -33
  42. data/xml/smtp_banners.xml +167 -128
  43. data/xml/smtp_expn.xml +1 -0
  44. data/xml/smtp_vrfy.xml +1 -0
  45. data/xml/snmp_sysdescr.xml +205 -36
  46. data/xml/ssh_banners.xml +139 -25
  47. data/xml/telnet_banners.xml +92 -48
  48. data/xml/tls_jarm.xml +140 -0
  49. data/xml/x509_issuers.xml +201 -2
  50. data/xml/x509_subjects.xml +251 -32
  51. metadata +5 -2
data/xml/http_wwwauth.xml CHANGED
@@ -2,6 +2,14 @@
2
2
  <fingerprints matches="http_header.wwwauth" protocol="http" database_type="service" preference="0.85">
3
3
  <!-- HTTP WWW-Authenticate headers are matched against these patterns to fingerprint HTTP servers. -->
4
4
 
5
+ <fingerprint pattern="^(?:Basic|Digest) realm=&quot;monit&quot;$">
6
+ <description>Minot</description>
7
+ <example>Basic realm="monit"</example>
8
+ <param pos="0" name="service.vendor" value="Tildeslash"/>
9
+ <param pos="0" name="service.product" value="Monit"/>
10
+ <param pos="0" name="service.cpe23" value="cpe:/a:tildeslash:monit:-"/>
11
+ </fingerprint>
12
+
5
13
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;access&quot;$">
6
14
  <description>Cisco IOS 11.x</description>
7
15
  <example>Basic realm="access"</example>
@@ -184,10 +192,20 @@
184
192
  <param pos="0" name="service.family" value="GoAhead Webserver"/>
185
193
  </fingerprint>
186
194
 
195
+ <fingerprint pattern="^(?:Basic|Digest) realm=&quot;Logitech Media Server&quot;.*$">
196
+ <description>Logitech Media server</description>
197
+ <example>Basic realm="Logitech Media Server"</example>
198
+ <param pos="0" name="service.vendor" value="Logitech"/>
199
+ <param pos="0" name="service.product" value="Squeezebox"/>
200
+ </fingerprint>
201
+
187
202
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;kubernetes-master&quot;.*$">
188
203
  <description>Kubernetes master nodes</description>
189
204
  <example>Basic realm="kubernetes-master"</example>
190
205
  <param pos="0" name="service.vendor" value="Kubernetes"/>
206
+ <param pos="0" name="service.family" value="Kubernetes"/>
207
+ <param pos="0" name="service.product" value="Kubernetes"/>
208
+ <param pos="0" name="service.cpe23" value="cpe:/a:kubernetes:kubernetes:-"/>
191
209
  </fingerprint>
192
210
 
193
211
  <fingerprint pattern="(?i)^(?:Basic|Digest) realm=&quot;RUIJIE(?:-CPE)?&quot;.*$">
@@ -318,29 +336,35 @@
318
336
 
319
337
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;(TD-[VW8][A-Z0-9]+)(?:| \d+\.\d+)&quot;$">
320
338
  <description>TP-LINK SoHo Router - dash variant</description>
321
- <example>Basic realm="TD-W8901G"</example>
339
+ <example os.product="TD-W8901G">Basic realm="TD-W8901G"</example>
322
340
  <example>Basic realm="TD-8840T 2.0"</example>
323
- <example>Basic realm="TD-8811"</example>
341
+ <example hw.product="TD-8811">Basic realm="TD-8811"</example>
324
342
  <param pos="0" name="os.vendor" value="TP-LINK"/>
325
343
  <param pos="0" name="os.device" value="Router"/>
326
344
  <param pos="1" name="os.product"/>
345
+ <param pos="0" name="hw.vendor" value="TP-LINK"/>
346
+ <param pos="0" name="hw.device" value="Router"/>
347
+ <param pos="1" name="hw.product"/>
327
348
  </fingerprint>
328
349
 
329
350
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;(TD8[A-Z0-9]+)&quot;$">
330
351
  <description>TP-LINK SoHo Router</description>
331
- <example>Basic realm="TD854W"</example>
332
- <example>Basic realm="TD811"</example>
352
+ <example os.product="TD854W">Basic realm="TD854W"</example>
353
+ <example hw.product="TD811">Basic realm="TD811"</example>
333
354
  <example>Basic realm="TD821"</example>
334
355
  <example>Basic realm="TD841"</example>
335
356
  <param pos="0" name="os.vendor" value="TP-LINK"/>
336
357
  <param pos="0" name="os.device" value="Router"/>
337
358
  <param pos="1" name="os.product"/>
359
+ <param pos="0" name="hw.vendor" value="TP-LINK"/>
360
+ <param pos="0" name="hw.device" value="Router"/>
361
+ <param pos="1" name="hw.product"/>
338
362
  </fingerprint>
339
363
 
340
364
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;TP-LINK.*(?:Access Point|Extender|AP) ([A-Z0-9\-\+]+)&quot;.*$">
341
365
  <description>TP-LINK SoHo Router - verbose variant</description>
342
- <example>Basic realm="TP-LINK Wireless N Access Point WA801N"</example>
343
- <example>Basic realm="TP-LINK Wireless Range Extender WA830RE"</example>
366
+ <example os.product="WA801N">Basic realm="TP-LINK Wireless N Access Point WA801N"</example>
367
+ <example hw.product="WA830RE">Basic realm="TP-LINK Wireless Range Extender WA830RE"</example>
344
368
  <example>Basic realm="TP-LINK Wireless Range Extender WA850RE"</example>
345
369
  <example>Basic realm="TP-LINK Wireless AP WA501G"</example>
346
370
  <example>Basic realm="TP-LINK Wireless N Access Point WA701ND"</example>
@@ -358,6 +382,9 @@
358
382
  <param pos="0" name="os.vendor" value="TP-LINK"/>
359
383
  <param pos="0" name="os.device" value="WAP"/>
360
384
  <param pos="1" name="os.product"/>
385
+ <param pos="0" name="hw.vendor" value="TP-LINK"/>
386
+ <param pos="0" name="hw.device" value="WAP"/>
387
+ <param pos="1" name="hw.product"/>
361
388
  </fingerprint>
362
389
 
363
390
  <fingerprint pattern="(?i)^(?:Basic|Digest).*realm=&quot;TP-LINK (.*Router.*)&quot;.*$">
@@ -392,7 +419,7 @@
392
419
  <param pos="0" name="service.product" value="SWAT"/>
393
420
  </fingerprint>
394
421
 
395
- <fingerprint pattern="^.*(?:Basic|Digest) realm=&quot;SPIP Configuration&quot;.*$">
422
+ <fingerprint pattern="^.{0,1024}(?:Basic|Digest) realm=&quot;SPIP Configuration&quot;.*$">
396
423
  <description>SPIP publishing system (www.spip.net)</description>
397
424
  <example>Basic realm="SPIP Configuration", Digest realm="SPIP Configuration", nonce="116761147", algorithm="MD5"</example>
398
425
  <param pos="0" name="service.vendor" value="SPIP"/>
@@ -400,7 +427,7 @@
400
427
  <param pos="0" name="service.cpe23" value="cpe:/a:spip:spip:-"/>
401
428
  </fingerprint>
402
429
 
403
- <fingerprint pattern="^.*(?:Basic|Digest) .*realm=&quot;HP ISEE @ ([^&quot;]+)&quot;.*$">
430
+ <fingerprint pattern="^.{0,1024}(?:Basic|Digest) .*realm=&quot;HP ISEE @ ([^&quot;]+)&quot;.*$">
404
431
  <description>HP Instant Support Enterprise Edition with a hostname</description>
405
432
  <example host.name="blah">Basic realm="HP ISEE @ blah"</example>
406
433
  <param pos="0" name="service.vendor" value="HP"/>
@@ -408,7 +435,7 @@
408
435
  <param pos="1" name="host.name"/>
409
436
  </fingerprint>
410
437
 
411
- <fingerprint pattern="^.*(?:Basic|Digest) .*realm=&quot;BIG-IP&quot;.*$">
438
+ <fingerprint pattern="^.{0,1024}(?:Basic|Digest) .*realm=&quot;BIG-IP&quot;.*$">
412
439
  <description>Generic F5 Big-IP</description>
413
440
  <example>Basic realm="BIG-IP"</example>
414
441
  <param pos="0" name="service.vendor" value="F5"/>
data/xml/imap_banners.xml CHANGED
@@ -166,7 +166,7 @@
166
166
  <param pos="0" name="service.product" value="Courier IMAP"/>
167
167
  </fingerprint>
168
168
 
169
- <fingerprint pattern="^(\S+) CallPilot IMAP4rev1 v(\S+) server ready\.?$">
169
+ <fingerprint pattern="^(\S{1,512}) CallPilot IMAP4rev1 v(\S+) server ready\.?$">
170
170
  <description>Nortel CallPilot</description>
171
171
  <example>nottest.localdomain CallPilot IMAP4rev1 v42.02.05.22 server ready.</example>
172
172
  <example>test.localdomain CallPilot IMAP4rev1 v43.03.19.22 server ready.</example>
@@ -177,7 +177,7 @@
177
177
  <param pos="1" name="host.name"/>
178
178
  </fingerprint>
179
179
 
180
- <fingerprint pattern="^(\S+) Zimbra IMAP4rev1 server ready\.?$">
180
+ <fingerprint pattern="^(\S{1,512}) Zimbra IMAP4rev1 server ready\.?$">
181
181
  <description>VMware Zimbra IMAP</description>
182
182
  <example host.name="foo.bar">foo.bar Zimbra IMAP4rev1 server ready</example>
183
183
  <param pos="0" name="service.vendor" value="VMware"/>
@@ -186,7 +186,7 @@
186
186
  <param pos="1" name="host.name"/>
187
187
  </fingerprint>
188
188
 
189
- <fingerprint pattern="^(\S+) Zimbra (\S+) IMAP4rev1 server ready\.?$">
189
+ <fingerprint pattern="^(\S{1,512}) Zimbra (\S+) IMAP4rev1 server ready\.?$">
190
190
  <description>VMware Zimbra IMAP with service version</description>
191
191
  <example host.name="foo.bar" service.version="7.0.0_GA_3079">foo.bar Zimbra 7.0.0_GA_3079 IMAP4rev1 server ready</example>
192
192
  <param pos="0" name="service.vendor" value="VMware"/>
@@ -196,7 +196,7 @@
196
196
  <param pos="1" name="host.name"/>
197
197
  </fingerprint>
198
198
 
199
- <fingerprint pattern="^(.+) Cyrus IMAP4 v(\d+\.\d+.*)-OS X(?: Server)? ([\d\.]+).* server ready$">
199
+ <fingerprint pattern="^(\S{1,512}) Cyrus IMAP4 v(\d+\.\d+.*)-OS X(?: Server)? ([\d\.]+).* server ready$">
200
200
  <description>CMU Cyrus IMAP on Mac OS X</description>
201
201
  <example host.name="example.com" service.version="2.2.12" os.version="10.4.0">example.com Cyrus IMAP4 v2.2.12-OS X 10.4.0 server ready</example>
202
202
  <example host.name="example.com" service.version="2.3.8" os.version="10.5">example.com Cyrus IMAP4 v2.3.8-OS X Server 10.5: 9A562 server ready</example>
@@ -213,7 +213,7 @@
213
213
  <param pos="1" name="host.name"/>
214
214
  </fingerprint>
215
215
 
216
- <fingerprint pattern="^(.+) Cyrus IMAP4? (?:\S+ )?v(\d+\.\d+.*) server ready$">
216
+ <fingerprint pattern="^(\S{1,512}) Cyrus IMAP4? (?:\S+ )?v(\d+\.\d+.*) server ready$">
217
217
  <description>CMU Cyrus IMAP</description>
218
218
  <example host.name="example.com" service.version="2.3.7">example.com Cyrus IMAP4 v2.3.7 server ready</example>
219
219
  <example host.name="example.com" service.version="2.4.8-Invoca-RPM-2.4.8-1">example.com Cyrus IMAP Murder v2.4.8-Invoca-RPM-2.4.8-1 server ready</example>
@@ -365,6 +365,7 @@
365
365
  </example>
366
366
  <param pos="0" name="service.vendor" value="Kerio"/>
367
367
  <param pos="0" name="service.product" value="Connect"/>
368
+ <param pos="0" name="service.cpe23" value="cpe:/a:kerio:connect:-"/>
368
369
  </fingerprint>
369
370
 
370
371
  <fingerprint pattern="(?im:vmwPlatformServicesControllerVersion1.\x04.(\d\.\d\.\d)0.)">
@@ -14,6 +14,16 @@
14
14
  version of OS X plus 4. E.g. osxvers=13 means OS X 10.9
15
15
  -->
16
16
 
17
+ <fingerprint pattern="^osxvers=20">
18
+ <description>OS X 11.0 (Big Sur)</description>
19
+ <example>osxvers=20</example>
20
+ <param pos="0" name="os.vendor" value="Apple"/>
21
+ <param pos="0" name="os.family" value="Mac OS X"/>
22
+ <param pos="0" name="os.product" value="Mac OS X"/>
23
+ <param pos="0" name="os.version" value="11.0"/>
24
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:11.0"/>
25
+ </fingerprint>
26
+
17
27
  <fingerprint pattern="^osxvers=19">
18
28
  <description>OS X 10.15 (Catalina)</description>
19
29
  <example>osxvers=19</example>
@@ -238,6 +248,49 @@
238
248
 
239
249
  <!-- MacBookPro - Reference for the following: https://support.apple.com/en-us/HT201300 -->
240
250
 
251
+ <fingerprint pattern="^model=MacBookPro17,1$">
252
+ <description>MacBook Pro (13-inch, M1, 2020)</description>
253
+ <example>model=MacBookPro17,1</example>
254
+ <param pos="0" name="os.vendor" value="Apple"/>
255
+ <param pos="0" name="os.family" value="Mac OS X"/>
256
+ <param pos="0" name="os.product" value="Mac OS X"/>
257
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
258
+ <param pos="0" name="hw.vendor" value="Apple"/>
259
+ <param pos="0" name="hw.family" value="MacBook Pro"/>
260
+ <param pos="0" name="hw.product" value="MacBook Pro (13-inch, M1, 2020)"/>
261
+ <param pos="0" name="hw.device" value="Laptop"/>
262
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
263
+ </fingerprint>
264
+
265
+ <fingerprint pattern="^model=MacBookPro16,1$">
266
+ <description>MacBook Pro (16-inch, 2019)</description>
267
+ <example>model=MacBookPro16,1</example>
268
+ <param pos="0" name="os.vendor" value="Apple"/>
269
+ <param pos="0" name="os.family" value="Mac OS X"/>
270
+ <param pos="0" name="os.product" value="Mac OS X"/>
271
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
272
+ <param pos="0" name="hw.vendor" value="Apple"/>
273
+ <param pos="0" name="hw.family" value="MacBook Pro"/>
274
+ <param pos="0" name="hw.product" value="MacBook Pro (16-inch, 2019)"/>
275
+ <param pos="0" name="hw.device" value="Laptop"/>
276
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
277
+ </fingerprint>
278
+
279
+ <fingerprint pattern="^model=MacBookPro16,[23]$">
280
+ <description>MacBook Pro (13-inch, 2020)</description>
281
+ <example>model=MacBookPro16,2</example>
282
+ <example>model=MacBookPro16,3</example>
283
+ <param pos="0" name="os.vendor" value="Apple"/>
284
+ <param pos="0" name="os.family" value="Mac OS X"/>
285
+ <param pos="0" name="os.product" value="Mac OS X"/>
286
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
287
+ <param pos="0" name="hw.vendor" value="Apple"/>
288
+ <param pos="0" name="hw.family" value="MacBook Pro"/>
289
+ <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2020)"/>
290
+ <param pos="0" name="hw.device" value="Laptop"/>
291
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
292
+ </fingerprint>
293
+
241
294
  <fingerprint pattern="^model=MacBookPro15,4$">
242
295
  <description>MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)</description>
243
296
  <example>model=MacBookPro15,4</example>
@@ -249,6 +302,7 @@
249
302
  <param pos="0" name="hw.family" value="MacBook Pro"/>
250
303
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)"/>
251
304
  <param pos="0" name="hw.device" value="Laptop"/>
305
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
252
306
  </fingerprint>
253
307
 
254
308
  <fingerprint pattern="^model=MacBookPro15,3$">
@@ -262,6 +316,7 @@
262
316
  <param pos="0" name="hw.family" value="MacBook Pro"/>
263
317
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, 2019)"/>
264
318
  <param pos="0" name="hw.device" value="Laptop"/>
319
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
265
320
  </fingerprint>
266
321
 
267
322
  <fingerprint pattern="^model=MacBookPro15,2$">
@@ -275,6 +330,7 @@
275
330
  <param pos="0" name="hw.family" value="MacBook Pro"/>
276
331
  <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2018, Four Thunderbolt 3 ports)"/>
277
332
  <param pos="0" name="hw.device" value="Laptop"/>
333
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
278
334
  </fingerprint>
279
335
 
280
336
  <fingerprint pattern="^model=MacBookPro15,1$">
@@ -288,6 +344,7 @@
288
344
  <param pos="0" name="hw.family" value="MacBook Pro"/>
289
345
  <param pos="0" name="hw.product" value="MacBook Pro (15-inch, 2018)"/>
290
346
  <param pos="0" name="hw.device" value="Laptop"/>
347
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
291
348
  </fingerprint>
292
349
 
293
350
  <fingerprint pattern="^model=MacBookPro14,3$">
@@ -379,11 +436,13 @@
379
436
  <param pos="0" name="hw.family" value="MacBook Pro"/>
380
437
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 13-inch, Early 2015)"/>
381
438
  <param pos="0" name="hw.device" value="Laptop"/>
439
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
382
440
  </fingerprint>
383
441
 
384
- <fingerprint pattern="^model=MacBookPro11,4$">
442
+ <fingerprint pattern="^model=MacBookPro11,[45]$">
385
443
  <description>MacBook Pro (Retina, 15-inch, Mid 2015)</description>
386
444
  <example>model=MacBookPro11,4</example>
445
+ <example>model=MacBookPro11,5</example>
387
446
  <param pos="0" name="os.vendor" value="Apple"/>
388
447
  <param pos="0" name="os.family" value="Mac OS X"/>
389
448
  <param pos="0" name="os.product" value="Mac OS X"/>
@@ -392,6 +451,7 @@
392
451
  <param pos="0" name="hw.family" value="MacBook Pro"/>
393
452
  <param pos="0" name="hw.product" value="MacBook Pro (Retina, 15-inch, Mid 2015)"/>
394
453
  <param pos="0" name="hw.device" value="Laptop"/>
454
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_pro:-"/>
395
455
  </fingerprint>
396
456
 
397
457
  <fingerprint pattern="^model=MacBookPro11,3$">
@@ -472,6 +532,19 @@
472
532
  <param pos="0" name="hw.device" value="Laptop"/>
473
533
  </fingerprint>
474
534
 
535
+ <fingerprint pattern="^model=MacBookPro9,1$">
536
+ <description>MacBook Pro (15-inch, Mid 2012)</description>
537
+ <example>model=MacBookPro9,1</example>
538
+ <param pos="0" name="os.vendor" value="Apple"/>
539
+ <param pos="0" name="os.family" value="Mac OS X"/>
540
+ <param pos="0" name="os.product" value="Mac OS X"/>
541
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
542
+ <param pos="0" name="hw.vendor" value="Apple"/>
543
+ <param pos="0" name="hw.family" value="MacBook Pro"/>
544
+ <param pos="0" name="hw.product" value="MacBook Pro (15-inch, Mid 2012)"/>
545
+ <param pos="0" name="hw.device" value="Laptop"/>
546
+ </fingerprint>
547
+
475
548
  <fingerprint pattern="^model=MacBookPro8,3$">
476
549
  <description>MacBook Pro (17-inch, Late 2011)</description>
477
550
  <example>model=MacBookPro8,3</example>
@@ -671,6 +744,34 @@
671
744
 
672
745
  <!-- MacBookAir - Reference for the following: https://support.apple.com/en-us/HT201862 -->
673
746
 
747
+ <fingerprint pattern="^model=MacBookAir10,1$">
748
+ <description>MacBook Air (M1, 2020)</description>
749
+ <example>model=MacBookAir10,1</example>
750
+ <param pos="0" name="os.vendor" value="Apple"/>
751
+ <param pos="0" name="os.family" value="Mac OS X"/>
752
+ <param pos="0" name="os.product" value="Mac OS X"/>
753
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
754
+ <param pos="0" name="hw.vendor" value="Apple"/>
755
+ <param pos="0" name="hw.family" value="MacBook"/>
756
+ <param pos="0" name="hw.product" value="MacBook Air (M1, 2020)"/>
757
+ <param pos="0" name="hw.device" value="Laptop"/>
758
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_air:-"/>
759
+ </fingerprint>
760
+
761
+ <fingerprint pattern="^model=MacBookAir9,1$">
762
+ <description>MacBook Air (Retina, 13-inch, 2020)</description>
763
+ <example>model=MacBookAir9,1</example>
764
+ <param pos="0" name="os.vendor" value="Apple"/>
765
+ <param pos="0" name="os.family" value="Mac OS X"/>
766
+ <param pos="0" name="os.product" value="Mac OS X"/>
767
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
768
+ <param pos="0" name="hw.vendor" value="Apple"/>
769
+ <param pos="0" name="hw.family" value="MacBook"/>
770
+ <param pos="0" name="hw.product" value="MacBook Air (Retina, 13-inch, 2020)"/>
771
+ <param pos="0" name="hw.device" value="Laptop"/>
772
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_air:-"/>
773
+ </fingerprint>
774
+
674
775
  <fingerprint pattern="^model=MacBookAir8,2$">
675
776
  <description>MacBook Air (Retina, 13-inch, 2019)</description>
676
777
  <example>model=MacBookAir8,2</example>
@@ -682,6 +783,7 @@
682
783
  <param pos="0" name="hw.family" value="MacBook"/>
683
784
  <param pos="0" name="hw.product" value="MacBook Air (Retina, 13-inch, 2019)"/>
684
785
  <param pos="0" name="hw.device" value="Laptop"/>
786
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_air:-"/>
685
787
  </fingerprint>
686
788
 
687
789
  <fingerprint pattern="^model=MacBookAir8,1$">
@@ -695,6 +797,7 @@
695
797
  <param pos="0" name="hw.family" value="MacBook"/>
696
798
  <param pos="0" name="hw.product" value="MacBook Air (Retina, 13-inch, 2018)"/>
697
799
  <param pos="0" name="hw.device" value="Laptop"/>
800
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_air:-"/>
698
801
  </fingerprint>
699
802
 
700
803
  <fingerprint pattern="^model=MacBookAir7,2$">
@@ -708,6 +811,7 @@
708
811
  <param pos="0" name="hw.family" value="MacBook"/>
709
812
  <param pos="0" name="hw.product" value="MacBook Air (13-inch, 2017)"/>
710
813
  <param pos="0" name="hw.device" value="Laptop"/>
814
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:macbook_air:-"/>
711
815
  </fingerprint>
712
816
 
713
817
  <fingerprint pattern="^model=MacBookAir7,1$">
@@ -842,6 +946,19 @@
842
946
 
843
947
  <!-- MacMini - Reference for the following: https://support.apple.com/en-us/HT201894 -->
844
948
 
949
+ <fingerprint pattern="^model=Macmini9,1$">
950
+ <description>Mac mini (M1, 2020)</description>
951
+ <example>model=Macmini9,1</example>
952
+ <param pos="0" name="os.vendor" value="Apple"/>
953
+ <param pos="0" name="os.family" value="Mac OS X"/>
954
+ <param pos="0" name="os.product" value="Mac OS X"/>
955
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
956
+ <param pos="0" name="hw.vendor" value="Apple"/>
957
+ <param pos="0" name="hw.family" value="Mac mini"/>
958
+ <param pos="0" name="hw.product" value="Mac mini (M1, 2020)"/>
959
+ <param pos="0" name="hw.device" value="Desktop"/>
960
+ </fingerprint>
961
+
845
962
  <fingerprint pattern="^model=Macmini8,1$">
846
963
  <description>Mac mini (Late 2018)</description>
847
964
  <example>model=Macmini8,1</example>
@@ -1122,6 +1239,20 @@
1122
1239
 
1123
1240
  <!-- iMAC - Reference for the following: https://support.apple.com/en-us/HT201634 -->
1124
1241
 
1242
+ <fingerprint pattern="^model=iMac20,1$">
1243
+ <description>iMac (Retina 5K, 27-inch, 2020)</description>
1244
+ <example>model=iMac20,1</example>
1245
+ <param pos="0" name="os.vendor" value="Apple"/>
1246
+ <param pos="0" name="os.family" value="Mac OS X"/>
1247
+ <param pos="0" name="os.product" value="Mac OS X"/>
1248
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
1249
+ <param pos="0" name="hw.vendor" value="Apple"/>
1250
+ <param pos="0" name="hw.family" value="iMac"/>
1251
+ <param pos="0" name="hw.product" value="iMac (Retina 5K, 27-inch, 2020)"/>
1252
+ <param pos="0" name="hw.device" value="Desktop"/>
1253
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:imac:-"/>
1254
+ </fingerprint>
1255
+
1125
1256
  <fingerprint pattern="^model=iMac19,1$">
1126
1257
  <description>iMac (Retina 5K, 27-inch, 2019)</description>
1127
1258
  <example>model=iMac19,1</example>
@@ -1133,6 +1264,7 @@
1133
1264
  <param pos="0" name="hw.family" value="iMac"/>
1134
1265
  <param pos="0" name="hw.product" value="iMac (Retina 5K, 27-inch, 2019)"/>
1135
1266
  <param pos="0" name="hw.device" value="Desktop"/>
1267
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:imac:-"/>
1136
1268
  </fingerprint>
1137
1269
 
1138
1270
  <fingerprint pattern="^model=iMac19,2$">
@@ -1146,6 +1278,7 @@
1146
1278
  <param pos="0" name="hw.family" value="iMac"/>
1147
1279
  <param pos="0" name="hw.product" value="iMac (Retina 4K, 21.5-inch, 2019)"/>
1148
1280
  <param pos="0" name="hw.device" value="Desktop"/>
1281
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:imac:-"/>
1149
1282
  </fingerprint>
1150
1283
 
1151
1284
  <fingerprint pattern="^model=iMacPro1,1$">
@@ -1172,6 +1305,7 @@
1172
1305
  <param pos="0" name="hw.family" value="iMac"/>
1173
1306
  <param pos="0" name="hw.product" value="iMac (Retina 5K, 27-inch, 2017)"/>
1174
1307
  <param pos="0" name="hw.device" value="Desktop"/>
1308
+ <param pos="0" name="hw.cpe23" value="cpe:/h:apple:imac:-"/>
1175
1309
  </fingerprint>
1176
1310
 
1177
1311
  <fingerprint pattern="^model=iMac18,2$">
@@ -1369,8 +1503,21 @@
1369
1503
  <param pos="0" name="hw.device" value="Desktop"/>
1370
1504
  </fingerprint>
1371
1505
 
1506
+ <fingerprint pattern="^model=iMac11,1$">
1507
+ <description>iMac 10 (27-inch, Late 2009)</description>
1508
+ <example>model=iMac11,1</example>
1509
+ <param pos="0" name="os.vendor" value="Apple"/>
1510
+ <param pos="0" name="os.family" value="Mac OS X"/>
1511
+ <param pos="0" name="os.product" value="Mac OS X"/>
1512
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
1513
+ <param pos="0" name="hw.vendor" value="Apple"/>
1514
+ <param pos="0" name="hw.family" value="iMac"/>
1515
+ <param pos="0" name="hw.product" value="iMac (27-inch, Late 2009)"/>
1516
+ <param pos="0" name="hw.device" value="Desktop"/>
1517
+ </fingerprint>
1518
+
1372
1519
  <fingerprint pattern="^model=iMac10,1$">
1373
- <description>iMac (27-inch, Late 2009)</description>
1520
+ <description>iMac 11 (27-inch, Late 2009)</description>
1374
1521
  <example>model=iMac10,1</example>
1375
1522
  <param pos="0" name="os.vendor" value="Apple"/>
1376
1523
  <param pos="0" name="os.family" value="Mac OS X"/>
@@ -1395,10 +1542,50 @@
1395
1542
  <param pos="0" name="hw.device" value="Desktop"/>
1396
1543
  </fingerprint>
1397
1544
 
1545
+ <fingerprint pattern="^model=iMac8,1$">
1546
+ <description>iMac (20/24-inch, Early 2008)</description>
1547
+ <example>model=iMac8,1</example>
1548
+ <param pos="0" name="os.vendor" value="Apple"/>
1549
+ <param pos="0" name="os.family" value="Mac OS X"/>
1550
+ <param pos="0" name="os.product" value="Mac OS X"/>
1551
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
1552
+ <param pos="0" name="hw.vendor" value="Apple"/>
1553
+ <param pos="0" name="hw.family" value="iMac"/>
1554
+ <param pos="0" name="hw.product" value="iMac (20/24-inch, Early 2008)"/>
1555
+ <param pos="0" name="hw.device" value="Desktop"/>
1556
+ </fingerprint>
1557
+
1398
1558
  <!-- iPad Pro - Reference for the following: https://www.theiphonewiki.com/ -->
1399
1559
 
1560
+ <fingerprint pattern="^model=J42[01]AP$">
1561
+ <description>iPad Pro (12.9-inch, 4th generation)</description>
1562
+ <example>model=J420AP</example>
1563
+ <example>model=J421AP</example>
1564
+ <param pos="0" name="os.vendor" value="Apple"/>
1565
+ <param pos="0" name="os.family" value="iOS"/>
1566
+ <param pos="0" name="os.product" value="iOS"/>
1567
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1568
+ <param pos="0" name="hw.vendor" value="Apple"/>
1569
+ <param pos="0" name="hw.family" value="iPad Pro"/>
1570
+ <param pos="0" name="hw.product" value="iPad Pro (12.9-inch, 4th generation)"/>
1571
+ <param pos="0" name="hw.device" value="Tablet"/>
1572
+ </fingerprint>
1573
+
1574
+ <fingerprint pattern="^model=J41[78]AP$">
1575
+ <description>iPad Pro (11-inch, 2nd generation)</description>
1576
+ <example>model=J417AP</example>
1577
+ <param pos="0" name="os.vendor" value="Apple"/>
1578
+ <param pos="0" name="os.family" value="iOS"/>
1579
+ <param pos="0" name="os.product" value="iOS"/>
1580
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1581
+ <param pos="0" name="hw.vendor" value="Apple"/>
1582
+ <param pos="0" name="hw.family" value="iPad Pro"/>
1583
+ <param pos="0" name="hw.product" value="iPad Pro (11-inch, 2nd generation)"/>
1584
+ <param pos="0" name="hw.device" value="Tablet"/>
1585
+ </fingerprint>
1586
+
1400
1587
  <fingerprint pattern="^model=J32[01]x?AP$">
1401
- <description>iPad Pro (12.9-inch)</description>
1588
+ <description>iPad Pro (12.9-inch, 3rd generation)</description>
1402
1589
  <example>model=J320AP</example>
1403
1590
  <example>model=J321xAP</example>
1404
1591
  <param pos="0" name="os.vendor" value="Apple"/>
@@ -1407,7 +1594,7 @@
1407
1594
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1408
1595
  <param pos="0" name="hw.vendor" value="Apple"/>
1409
1596
  <param pos="0" name="hw.family" value="iPad Pro"/>
1410
- <param pos="0" name="hw.product" value="iPad Pro (12.9-inch)"/>
1597
+ <param pos="0" name="hw.product" value="iPad Pro (12.9-inch, 3rd generation)"/>
1411
1598
  <param pos="0" name="hw.device" value="Tablet"/>
1412
1599
  </fingerprint>
1413
1600
 
@@ -1428,6 +1615,7 @@
1428
1615
  <fingerprint pattern="^model=J20[78]AP$">
1429
1616
  <description>iPad Pro (10.5-inch)</description>
1430
1617
  <example>model=J207AP</example>
1618
+ <example>model=J208AP</example>
1431
1619
  <param pos="0" name="os.vendor" value="Apple"/>
1432
1620
  <param pos="0" name="os.family" value="iOS"/>
1433
1621
  <param pos="0" name="os.product" value="iOS"/>
@@ -1451,10 +1639,38 @@
1451
1639
  <param pos="0" name="hw.device" value="Tablet"/>
1452
1640
  </fingerprint>
1453
1641
 
1642
+ <fingerprint pattern="^model=J12[01]AP$">
1643
+ <description>iPad Pro (12.9-inch, 2nd generation)</description>
1644
+ <example>model=J120AP</example>
1645
+ <example>model=J121AP</example>
1646
+ <param pos="0" name="os.vendor" value="Apple"/>
1647
+ <param pos="0" name="os.family" value="iOS"/>
1648
+ <param pos="0" name="os.product" value="iOS"/>
1649
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1650
+ <param pos="0" name="hw.vendor" value="Apple"/>
1651
+ <param pos="0" name="hw.family" value="iPad Pro"/>
1652
+ <param pos="0" name="hw.product" value="iPad Pro (12.9-inch, 2nd generation)"/>
1653
+ <param pos="0" name="hw.device" value="Tablet"/>
1654
+ </fingerprint>
1655
+
1656
+ <fingerprint pattern="^model=J9[89]aAP$">
1657
+ <description>iPad Pro (12.9-inch)</description>
1658
+ <example>model=J98aAP</example>
1659
+ <example>model=J99aAP</example>
1660
+ <param pos="0" name="os.vendor" value="Apple"/>
1661
+ <param pos="0" name="os.family" value="iOS"/>
1662
+ <param pos="0" name="os.product" value="iOS"/>
1663
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1664
+ <param pos="0" name="hw.vendor" value="Apple"/>
1665
+ <param pos="0" name="hw.family" value="iPad Pro"/>
1666
+ <param pos="0" name="hw.product" value="iPad Pro (12.9-inch)"/>
1667
+ <param pos="0" name="hw.device" value="Tablet"/>
1668
+ </fingerprint>
1669
+
1454
1670
  <!-- iPad -->
1455
1671
 
1456
1672
  <fingerprint pattern="^model=J7[12]bAP$">
1457
- <description>iPad 6th generation)</description>
1673
+ <description>iPad (6th generation)</description>
1458
1674
  <example>model=J72bAP</example>
1459
1675
  <example>model=J71bAP</example>
1460
1676
  <param pos="0" name="os.vendor" value="Apple"/>
@@ -1619,9 +1835,24 @@
1619
1835
 
1620
1836
  <!-- Apple TV -->
1621
1837
 
1622
- <fingerprint pattern="^model=J105aAP$">
1838
+ <fingerprint pattern="^model=(?:J305AP|AppleTV11,1)$">
1839
+ <description>Apple TV 4K (2nd generation)</description>
1840
+ <example>model=J305AP</example>
1841
+ <example>model=AppleTV11,1</example>
1842
+ <param pos="0" name="os.vendor" value="Apple"/>
1843
+ <param pos="0" name="os.family" value="tvOS"/>
1844
+ <param pos="0" name="os.product" value="tvOS"/>
1845
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:tvos:-"/>
1846
+ <param pos="0" name="hw.vendor" value="Apple"/>
1847
+ <param pos="0" name="hw.family" value="Apple TV"/>
1848
+ <param pos="0" name="hw.product" value="Apple TV 4K (2nd generation)"/>
1849
+ <param pos="0" name="hw.device" value="Media Server"/>
1850
+ </fingerprint>
1851
+
1852
+ <fingerprint pattern="^model=(?:J105aAP|AppleTV6,2)$">
1623
1853
  <description>Apple TV 4K</description>
1624
1854
  <example>model=J105aAP</example>
1855
+ <example>model=AppleTV6,2</example>
1625
1856
  <param pos="0" name="os.vendor" value="Apple"/>
1626
1857
  <param pos="0" name="os.family" value="tvOS"/>
1627
1858
  <param pos="0" name="os.product" value="tvOS"/>
@@ -1632,9 +1863,10 @@
1632
1863
  <param pos="0" name="hw.device" value="Media Server"/>
1633
1864
  </fingerprint>
1634
1865
 
1635
- <fingerprint pattern="^model=J42dAP$">
1866
+ <fingerprint pattern="^model=(?:J42dAP|AppleTV5,3)$">
1636
1867
  <description>Apple TV (4th generation)</description>
1637
1868
  <example>model=J42dAP</example>
1869
+ <example>model=AppleTV5,3</example>
1638
1870
  <param pos="0" name="os.vendor" value="Apple"/>
1639
1871
  <param pos="0" name="os.family" value="tvOS"/>
1640
1872
  <param pos="0" name="os.product" value="tvOS"/>
@@ -1645,11 +1877,13 @@
1645
1877
  <param pos="0" name="hw.device" value="Media Server"/>
1646
1878
  </fingerprint>
1647
1879
 
1648
- <fingerprint pattern="^model=J33[Ii]?AP$">
1880
+ <fingerprint pattern="^model=(?:J33[Ii]?AP|AppleTV3,[21])$">
1649
1881
  <description>Apple TV (3rd generation)</description>
1650
1882
  <example>model=J33IAP</example>
1651
1883
  <example>model=J33iAP</example>
1652
1884
  <example>model=J33AP</example>
1885
+ <example>model=AppleTV3,2</example>
1886
+ <example>model=AppleTV3,1</example>
1653
1887
  <param pos="0" name="os.vendor" value="Apple"/>
1654
1888
  <param pos="0" name="os.family" value="tvOS"/>
1655
1889
  <param pos="0" name="os.product" value="tvOS"/>
@@ -1660,9 +1894,10 @@
1660
1894
  <param pos="0" name="hw.device" value="Media Server"/>
1661
1895
  </fingerprint>
1662
1896
 
1663
- <fingerprint pattern="^model=K66AP$">
1897
+ <fingerprint pattern="^model=(?:K66AP|AppleTV2,1)$">
1664
1898
  <description>Apple TV (2nd generation)</description>
1665
1899
  <example>model=K66AP</example>
1900
+ <example>model=AppleTV2,1</example>
1666
1901
  <param pos="0" name="os.vendor" value="Apple"/>
1667
1902
  <param pos="0" name="os.family" value="tvOS"/>
1668
1903
  <param pos="0" name="os.product" value="tvOS"/>
@@ -1673,7 +1908,102 @@
1673
1908
  <param pos="0" name="hw.device" value="Media Server"/>
1674
1909
  </fingerprint>
1675
1910
 
1676
- <!-- iPad Pro - Reference for the following: https://www.theiphonewiki.com/ -->
1911
+ <!-- iPhones - Reference for the following: https://www.theiphonewiki.com/wiki/Category:Devices
1912
+ and http://phonedb.net/ -->
1913
+
1914
+ <fingerprint pattern="^model=D79AP$">
1915
+ <description>iPhone SE (2020)</description>
1916
+ <example>model=D79AP</example>
1917
+ <param pos="0" name="os.vendor" value="Apple"/>
1918
+ <param pos="0" name="os.family" value="iOS"/>
1919
+ <param pos="0" name="os.product" value="iOS"/>
1920
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1921
+ <param pos="0" name="hw.vendor" value="Apple"/>
1922
+ <param pos="0" name="hw.family" value="iPhone"/>
1923
+ <param pos="0" name="hw.product" value="iPhone SE (2020)"/>
1924
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1925
+ </fingerprint>
1926
+
1927
+ <fingerprint pattern="^model=D54pAP$">
1928
+ <description>iPhone 12 Pro Max 5G</description>
1929
+ <example>model=D54pAP</example>
1930
+ <param pos="0" name="os.vendor" value="Apple"/>
1931
+ <param pos="0" name="os.family" value="iOS"/>
1932
+ <param pos="0" name="os.product" value="iOS"/>
1933
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1934
+ <param pos="0" name="hw.vendor" value="Apple"/>
1935
+ <param pos="0" name="hw.family" value="iPhone"/>
1936
+ <param pos="0" name="hw.product" value="iPhone 12 Pro Max 5G"/>
1937
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1938
+ </fingerprint>
1939
+
1940
+ <fingerprint pattern="^model=D53pAP$">
1941
+ <description>iPhone 12 Pro 5G</description>
1942
+ <example>model=D53pAP</example>
1943
+ <param pos="0" name="os.vendor" value="Apple"/>
1944
+ <param pos="0" name="os.family" value="iOS"/>
1945
+ <param pos="0" name="os.product" value="iOS"/>
1946
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1947
+ <param pos="0" name="hw.vendor" value="Apple"/>
1948
+ <param pos="0" name="hw.family" value="iPhone"/>
1949
+ <param pos="0" name="hw.product" value="iPhone 12 Pro 5G"/>
1950
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1951
+ </fingerprint>
1952
+
1953
+ <fingerprint pattern="^model=D53gAP$">
1954
+ <description>iPhone 12 5G</description>
1955
+ <example>model=D53gAP</example>
1956
+ <param pos="0" name="os.vendor" value="Apple"/>
1957
+ <param pos="0" name="os.family" value="iOS"/>
1958
+ <param pos="0" name="os.product" value="iOS"/>
1959
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1960
+ <param pos="0" name="hw.vendor" value="Apple"/>
1961
+ <param pos="0" name="hw.family" value="iPhone"/>
1962
+ <param pos="0" name="hw.product" value="iPhone 12 5G"/>
1963
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1964
+ </fingerprint>
1965
+
1966
+ <fingerprint pattern="^model=D52g?AP$">
1967
+ <description>iPhone 12 Mini 5G</description>
1968
+ <example>model=D52gAP</example>
1969
+ <example>model=D52AP</example>
1970
+ <param pos="0" name="os.vendor" value="Apple"/>
1971
+ <param pos="0" name="os.family" value="iOS"/>
1972
+ <param pos="0" name="os.product" value="iOS"/>
1973
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1974
+ <param pos="0" name="hw.vendor" value="Apple"/>
1975
+ <param pos="0" name="hw.family" value="iPhone"/>
1976
+ <param pos="0" name="hw.product" value="iPhone 12 Mini 5G"/>
1977
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1978
+ </fingerprint>
1979
+
1980
+ <fingerprint pattern="^model=D431p?AP$">
1981
+ <description>iPhone 11 Pro Max</description>
1982
+ <example>model=D431pAP</example>
1983
+ <example>model=D431AP</example>
1984
+ <param pos="0" name="os.vendor" value="Apple"/>
1985
+ <param pos="0" name="os.family" value="iOS"/>
1986
+ <param pos="0" name="os.product" value="iOS"/>
1987
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1988
+ <param pos="0" name="hw.vendor" value="Apple"/>
1989
+ <param pos="0" name="hw.family" value="iPhone"/>
1990
+ <param pos="0" name="hw.product" value="iPhone 11 Pro Max"/>
1991
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1992
+ </fingerprint>
1993
+
1994
+ <fingerprint pattern="^model=D421p?AP$">
1995
+ <description>iPhone 11 Pro</description>
1996
+ <example>model=D421pAP</example>
1997
+ <example>model=D421AP</example>
1998
+ <param pos="0" name="os.vendor" value="Apple"/>
1999
+ <param pos="0" name="os.family" value="iOS"/>
2000
+ <param pos="0" name="os.product" value="iOS"/>
2001
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
2002
+ <param pos="0" name="hw.vendor" value="Apple"/>
2003
+ <param pos="0" name="hw.family" value="iPhone"/>
2004
+ <param pos="0" name="hw.product" value="iPhone 11 Pro"/>
2005
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
2006
+ </fingerprint>
1677
2007
 
1678
2008
  <fingerprint pattern="^model=D331p?AP$">
1679
2009
  <description>iPhone XS Max</description>