recog 2.3.15 → 2.3.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +26 -0
  3. data/.snyk +10 -0
  4. data/LICENSE +1 -1
  5. data/bin/recog_standardize +8 -2
  6. data/cpe-remap.yaml +314 -170
  7. data/identifiers/README.md +24 -10
  8. data/identifiers/fields.txt +104 -0
  9. data/identifiers/hw_device.txt +5 -4
  10. data/identifiers/hw_family.txt +17 -0
  11. data/identifiers/hw_product.txt +87 -6
  12. data/identifiers/os_architecture.txt +0 -10
  13. data/identifiers/os_device.txt +12 -31
  14. data/identifiers/os_family.txt +2 -94
  15. data/identifiers/os_product.txt +45 -124
  16. data/identifiers/service_family.txt +14 -37
  17. data/identifiers/service_product.txt +283 -88
  18. data/identifiers/vendor.txt +99 -192
  19. data/lib/recog/version.rb +1 -1
  20. data/requirements.txt +1 -1
  21. data/update_cpes.py +110 -49
  22. data/xml/apache_modules.xml +60 -0
  23. data/xml/dns_versionbind.xml +40 -17
  24. data/xml/favicons.xml +163 -20
  25. data/xml/ftp_banners.xml +25 -25
  26. data/xml/hp_pjl_id.xml +1 -1
  27. data/xml/html_title.xml +561 -51
  28. data/xml/http_cookies.xml +266 -61
  29. data/xml/http_servers.xml +472 -96
  30. data/xml/http_wwwauth.xml +53 -26
  31. data/xml/ldap_searchresult.xml +10 -6
  32. data/xml/mdns_device-info_txt.xml +308 -10
  33. data/xml/ntp_banners.xml +15 -1
  34. data/xml/operating_system.xml +1 -0
  35. data/xml/rtsp_servers.xml +7 -0
  36. data/xml/sip_banners.xml +346 -8
  37. data/xml/sip_user_agents.xml +321 -7
  38. data/xml/smb_native_lm.xml +32 -1
  39. data/xml/smb_native_os.xml +158 -33
  40. data/xml/smtp_banners.xml +48 -7
  41. data/xml/smtp_expn.xml +1 -0
  42. data/xml/smtp_help.xml +2 -0
  43. data/xml/smtp_vrfy.xml +3 -1
  44. data/xml/snmp_sysdescr.xml +211 -42
  45. data/xml/ssh_banners.xml +127 -14
  46. data/xml/telnet_banners.xml +44 -14
  47. data/xml/tls_jarm.xml +140 -0
  48. data/xml/x509_issuers.xml +179 -7
  49. data/xml/x509_subjects.xml +252 -35
  50. metadata +6 -5
  51. data/identifiers/software_class.txt +0 -26
  52. data/identifiers/software_family.txt +0 -91
  53. data/identifiers/software_product.txt +0 -333
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>
@@ -103,7 +111,7 @@
103
111
  <param pos="0" name="service.vendor" value="APC"/>
104
112
  <param pos="0" name="service.product" value="HTTP"/>
105
113
  <param pos="0" name="os.vendor" value="APC"/>
106
- <param pos="0" name="os.device" value="Power device"/>
114
+ <param pos="0" name="os.device" value="Power Device"/>
107
115
  </fingerprint>
108
116
 
109
117
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;ADSL\S* (?:Modem|Router|Modem/Router)&quot;.*$">
@@ -118,7 +126,7 @@
118
126
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;Broadband Router&quot;.*$">
119
127
  <description>Generic Broadband modems/routers</description>
120
128
  <example>Basic realm="Broadband Router"</example>
121
- <param pos="0" name="hw.device" value="Broadband router"/>
129
+ <param pos="0" name="hw.device" value="Broadband Router"/>
122
130
  </fingerprint>
123
131
 
124
132
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;DSL\S* (?:Modem|Router|Modem/Router)&quot;.*$">
@@ -164,7 +172,7 @@
164
172
  <example>Basic realm="camera"</example>
165
173
  <example>Basic realm="IPCamera Login"</example>
166
174
  <example>Basic realm="Mini Dome IP Camera"</example>
167
- <param pos="0" name="hw.device" value="Web cam"/>
175
+ <param pos="0" name="hw.device" value="IP Camera"/>
168
176
  </fingerprint>
169
177
 
170
178
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;(DCS-[^&quot;]+)&quot;.*$">
@@ -172,7 +180,7 @@
172
180
  <example hw.product="DCS-5222LB1">Basic realm="DCS-5222LB1"</example>
173
181
  <example hw.product="DCS-2530L">Basic realm="DCS-2530L"</example>
174
182
  <param pos="0" name="hw.vendor" value="D-Link"/>
175
- <param pos="0" name="hw.device" value="Web cam"/>
183
+ <param pos="0" name="hw.device" value="IP Camera"/>
176
184
  <param pos="1" name="hw.product"/>
177
185
  </fingerprint>
178
186
 
@@ -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;.*$">
@@ -203,11 +221,11 @@
203
221
  <param pos="0" name="service.product" value="SpeedTouch"/>
204
222
  <param pos="0" name="service.family" value="SpeedTouch"/>
205
223
  <param pos="0" name="os.vendor" value="Thomson"/>
206
- <param pos="0" name="os.device" value="Broadband router"/>
224
+ <param pos="0" name="os.device" value="Broadband Router"/>
207
225
  <param pos="0" name="os.family" value="SpeedTouch"/>
208
226
  <param pos="0" name="hw.vendor" value="Thomson"/>
209
227
  <param pos="0" name="hw.family" value="SpeedTouch"/>
210
- <param pos="0" name="hw.device" value="Broadband router"/>
228
+ <param pos="0" name="hw.device" value="Broadband Router"/>
211
229
  </fingerprint>
212
230
 
213
231
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;SpeedTouch \(([0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2})\)&quot;$">
@@ -217,12 +235,12 @@
217
235
  <param pos="0" name="service.product" value="SpeedTouch"/>
218
236
  <param pos="0" name="service.family" value="SpeedTouch"/>
219
237
  <param pos="0" name="os.vendor" value="Thomson"/>
220
- <param pos="0" name="os.device" value="Broadband router"/>
238
+ <param pos="0" name="os.device" value="Broadband Router"/>
221
239
  <param pos="0" name="os.family" value="SpeedTouch"/>
222
240
  <param pos="0" name="os.product" value="SpeedTouch"/>
223
241
  <param pos="0" name="hw.vendor" value="Thomson"/>
224
242
  <param pos="0" name="hw.family" value="SpeedTouch"/>
225
- <param pos="0" name="hw.device" value="Broadband router"/>
243
+ <param pos="0" name="hw.device" value="Broadband Router"/>
226
244
  <param pos="1" name="host.mac"/>
227
245
  </fingerprint>
228
246
 
@@ -237,12 +255,12 @@
237
255
  <param pos="0" name="service.product" value="SpeedTouch"/>
238
256
  <param pos="0" name="service.family" value="SpeedTouch"/>
239
257
  <param pos="0" name="os.vendor" value="Thomson"/>
240
- <param pos="0" name="os.device" value="Broadband router"/>
258
+ <param pos="0" name="os.device" value="Broadband Router"/>
241
259
  <param pos="0" name="os.family" value="SpeedTouch"/>
242
260
  <param pos="0" name="os.product" value="SpeedTouch"/>
243
261
  <param pos="0" name="hw.vendor" value="Thomson"/>
244
262
  <param pos="0" name="hw.family" value="SpeedTouch"/>
245
- <param pos="0" name="hw.device" value="Broadband router"/>
263
+ <param pos="0" name="hw.device" value="Broadband Router"/>
246
264
  <param pos="1" name="host.mac"/>
247
265
  </fingerprint>
248
266
 
@@ -252,11 +270,11 @@
252
270
  <param pos="0" name="service.product" value="SpeedTouch"/>
253
271
  <param pos="0" name="service.family" value="SpeedTouch"/>
254
272
  <param pos="0" name="os.vendor" value="Thomson"/>
255
- <param pos="0" name="os.device" value="Broadband router"/>
273
+ <param pos="0" name="os.device" value="Broadband Router"/>
256
274
  <param pos="0" name="os.family" value="SpeedTouch"/>
257
275
  <param pos="0" name="hw.vendor" value="Thomson"/>
258
276
  <param pos="0" name="hw.family" value="SpeedTouch"/>
259
- <param pos="0" name="hw.device" value="Broadband router"/>
277
+ <param pos="0" name="hw.device" value="Broadband Router"/>
260
278
  <param pos="1" name="os.product"/>
261
279
  <param pos="2" name="host.mac"/>
262
280
  </fingerprint>
@@ -266,7 +284,7 @@
266
284
  <example>Digest realm="Thomson Gateway"</example>
267
285
  <example>Basic realm="Thomson"</example>
268
286
  <param pos="0" name="hw.vendor" value="Thomson"/>
269
- <param pos="0" name="hw.device" value="Broadband router"/>
287
+ <param pos="0" name="hw.device" value="Broadband Router"/>
270
288
  </fingerprint>
271
289
 
272
290
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;(?:SmartAX )?(MT\d+[^ ]*)(?: ADSL Router)?&quot;$">
@@ -276,11 +294,11 @@
276
294
  <param pos="0" name="service.family" value="MT"/>
277
295
  <param pos="1" name="service.product"/>
278
296
  <param pos="0" name="os.vendor" value="Huawei"/>
279
- <param pos="0" name="os.device" value="Broadband router"/>
297
+ <param pos="0" name="os.device" value="Broadband Router"/>
280
298
  <param pos="0" name="os.family" value="MT"/>
281
299
  <param pos="1" name="os.product"/>
282
300
  <param pos="0" name="hw.vendor" value="Huawei"/>
283
- <param pos="0" name="hw.device" value="Broadband router"/>
301
+ <param pos="0" name="hw.device" value="Broadband Router"/>
284
302
  <param pos="0" name="hw.family" value="MT"/>
285
303
  <param pos="1" name="hw.product"/>
286
304
  </fingerprint>
@@ -289,7 +307,7 @@
289
307
  <description>Huawei Home Gateway Routers</description>
290
308
  <example>Basic realm="HuaweiHomeGateway"</example>
291
309
  <param pos="0" name="hw.vendor" value="Huawei"/>
292
- <param pos="0" name="hw.device" value="Broadband router"/>
310
+ <param pos="0" name="hw.device" value="Broadband Router"/>
293
311
  <param pos="0" name="hw.product" value="Home Gateway"/>
294
312
  </fingerprint>
295
313
 
@@ -298,7 +316,7 @@
298
316
  <example>Basic realm="EchoLife Portal de Inicio"</example>
299
317
  <example>Basic realm="EchoLife Home Gateway"</example>
300
318
  <param pos="0" name="hw.vendor" value="Huawei"/>
301
- <param pos="0" name="hw.device" value="Broadband router"/>
319
+ <param pos="0" name="hw.device" value="Broadband Router"/>
302
320
  <param pos="0" name="hw.product" value="EchoLife Home Gateway"/>
303
321
  </fingerprint>
304
322
 
@@ -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;.*$">
@@ -374,7 +401,7 @@
374
401
  <description>TP-LINK IP-Cameras</description>
375
402
  <example>Basic realm="TP-LINK IP-Camera"</example>
376
403
  <param pos="0" name="hw.vendor" value="TP-LINK"/>
377
- <param pos="0" name="hw.device" value="Web cam"/>
404
+ <param pos="0" name="hw.device" value="IP Camera"/>
378
405
  </fingerprint>
379
406
 
380
407
  <fingerprint pattern="(?i)^(?:Basic|Digest) .*realm=&quot;Broadcom Management Service&quot;.*$">
@@ -458,7 +485,7 @@
458
485
  <description>Ubee Cable Modems</description>
459
486
  <example>Digest qop="auth", realm="Ubee", nonce="1544738973"</example>
460
487
  <param pos="0" name="hw.vendor" value="Ubee"/>
461
- <param pos="0" name="hw.device" value="Broadband router"/>
488
+ <param pos="0" name="hw.device" value="Broadband Router"/>
462
489
  </fingerprint>
463
490
 
464
491
  <fingerprint pattern="^(?:Basic|Digest) realm=&quot;XDB&quot;$">
@@ -506,7 +533,7 @@
506
533
  <description>Steinsvik Orbit 351 IP Camera (Truen TCAM Rebrand)</description>
507
534
  <example hw.product="Orbit-351">Digest realm="Orbit-351", nonce="0000040dY892418598785d2a2304a74adf22f6098f2792", stale=FALSE</example>
508
535
  <param pos="0" name="hw.vendor" value="Steinsvik"/>
509
- <param pos="0" name="hw.device" value="Web cam"/>
536
+ <param pos="0" name="hw.device" value="IP Camera"/>
510
537
  <param pos="1" name="hw.product"/>
511
538
  <param pos="0" name="os.vendor" value="Steinsvik"/>
512
539
  <param pos="0" name="os.family" value="Linux"/>
@@ -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.)">
@@ -382,7 +383,7 @@
382
383
  <!-- http://directory.fedoraproject.org/docs/389ds/FAQ/history.html -->
383
384
 
384
385
  <fingerprint pattern="(?i:vendorname1.\x04.Fedora Project0.\x04\rvendorversion1.\x04.Fedora-Directory/(\d\.\d[\w.]* B\d+\.\d+\.\d+))">
385
- <description>Fedora Project Fedora Directory Server</description>
386
+ <description>Fedora Project 389 Directory Server - Old Fedora branding</description>
386
387
  <example service.version="1.0.4 B2006.312.5450" _encoding="base64">
387
388
  dmVuZG9yTmFtZTEQBA5GZWRvcmEgUHJvamVjdDA3BA12ZW5kb3JWZXJzaW9uMSYEJEZlZG9yY
388
389
  S1EaXJlY3RvcnkvMS4wLjQgQjIwMDYuMzEyLjU0NTA=
@@ -391,20 +392,22 @@
391
392
  dmVuZG9yTmFtZTEQBA5GZWRvcmEgUHJvamVjdDA4BA12ZW5kb3JWZXJzaW9uMScEJUZlZG9yY
392
393
  S1EaXJlY3RvcnkvMS4wLjQgQjIwMDcuMzA0LjExMzgw
393
394
  </example>
394
- <param pos="0" name="service.vendor" value="Red Hat"/>
395
- <param pos="0" name="service.product" value="Fedora Directory Server"/>
395
+ <param pos="0" name="service.vendor" value="Fedora Project"/>
396
+ <param pos="0" name="service.product" value="389 Directory Server"/>
396
397
  <param pos="1" name="service.version"/>
398
+ <param pos="0" name="service.cpe23" value="cpe:/a:fedoraproject:389_directory_server:{service.version}"/>
397
399
  </fingerprint>
398
400
 
399
401
  <fingerprint pattern="(?i:vendorname1.\x04.389 Project0.\x04\rvendorversion1.\x04.389-Directory/(\d\.\d[\w.]* B\d+\.\d+\.\d+))">
400
- <description>389 Project 389 Directory Server</description>
402
+ <description>Fedora Project 389 Directory Server</description>
401
403
  <example service.version="1.2.11.25 B2013.325.19510" _encoding="base64">
402
404
  dmVuZG9yTmFtZTENBAszODkgUHJvamVjdDA5BA12ZW5kb3JWZXJzaW9uMSgEJjM4OS1EaXJlY
403
405
  3RvcnkvMS4yLjExLjI1IEIyMDEzLjMyNS4xOTUxMA==
404
406
  </example>
405
- <param pos="0" name="service.vendor" value="389 Project"/>
407
+ <param pos="0" name="service.vendor" value="Fedora Project"/>
406
408
  <param pos="0" name="service.product" value="389 Directory Server"/>
407
409
  <param pos="1" name="service.version"/>
410
+ <param pos="0" name="service.cpe23" value="cpe:/a:fedoraproject:389_directory_server:{service.version}"/>
408
411
  </fingerprint>
409
412
 
410
413
  <fingerprint pattern="(?im:vendorName1.\x04.CentOS0.\x04\rvendorVersion1.\x04.CentOS-Directory/(\d\.\d[\w.]* B\d+\.\d+\.\d+).\x04\v)">
@@ -441,8 +444,9 @@
441
444
  XJzaW9uMSgEJk5ldHNjYXBlLURpcmVjdG9yeS82LjExIEIyMDAyLjI4MS4wODUzMC8ECw==
442
445
  </example>
443
446
  <param pos="0" name="service.vendor" value="Netscape"/>
444
- <param pos="0" name="service.product" value="Netscape Directory Server"/>
447
+ <param pos="0" name="service.product" value="Directory Server"/>
445
448
  <param pos="1" name="service.version"/>
449
+ <param pos="0" name="service.cpe23" value="cpe:/a:netscape:directory_server:{service.version}"/>
446
450
  </fingerprint>
447
451
 
448
452
  <fingerprint pattern="(?im:IBM Lotus Software0.\x04\rvendorversion1.\x04.Release (\d+\.\d+[\w .]*)0.\x04.dominomajminversion)">
@@ -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,46 @@
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
+ </fingerprint>
263
+
264
+ <fingerprint pattern="^model=MacBookPro16,1$">
265
+ <description>MacBook Pro (16-inch, 2019)</description>
266
+ <example>model=MacBookPro16,1</example>
267
+ <param pos="0" name="os.vendor" value="Apple"/>
268
+ <param pos="0" name="os.family" value="Mac OS X"/>
269
+ <param pos="0" name="os.product" value="Mac OS X"/>
270
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
271
+ <param pos="0" name="hw.vendor" value="Apple"/>
272
+ <param pos="0" name="hw.family" value="MacBook Pro"/>
273
+ <param pos="0" name="hw.product" value="MacBook Pro (16-inch, 2019)"/>
274
+ <param pos="0" name="hw.device" value="Laptop"/>
275
+ </fingerprint>
276
+
277
+ <fingerprint pattern="^model=MacBookPro16,[23]$">
278
+ <description>MacBook Pro (13-inch, 2020)</description>
279
+ <example>model=MacBookPro16,2</example>
280
+ <example>model=MacBookPro16,3</example>
281
+ <param pos="0" name="os.vendor" value="Apple"/>
282
+ <param pos="0" name="os.family" value="Mac OS X"/>
283
+ <param pos="0" name="os.product" value="Mac OS X"/>
284
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
285
+ <param pos="0" name="hw.vendor" value="Apple"/>
286
+ <param pos="0" name="hw.family" value="MacBook Pro"/>
287
+ <param pos="0" name="hw.product" value="MacBook Pro (13-inch, 2020)"/>
288
+ <param pos="0" name="hw.device" value="Laptop"/>
289
+ </fingerprint>
290
+
241
291
  <fingerprint pattern="^model=MacBookPro15,4$">
242
292
  <description>MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)</description>
243
293
  <example>model=MacBookPro15,4</example>
@@ -381,9 +431,10 @@
381
431
  <param pos="0" name="hw.device" value="Laptop"/>
382
432
  </fingerprint>
383
433
 
384
- <fingerprint pattern="^model=MacBookPro11,4$">
434
+ <fingerprint pattern="^model=MacBookPro11,[45]$">
385
435
  <description>MacBook Pro (Retina, 15-inch, Mid 2015)</description>
386
436
  <example>model=MacBookPro11,4</example>
437
+ <example>model=MacBookPro11,5</example>
387
438
  <param pos="0" name="os.vendor" value="Apple"/>
388
439
  <param pos="0" name="os.family" value="Mac OS X"/>
389
440
  <param pos="0" name="os.product" value="Mac OS X"/>
@@ -472,6 +523,19 @@
472
523
  <param pos="0" name="hw.device" value="Laptop"/>
473
524
  </fingerprint>
474
525
 
526
+ <fingerprint pattern="^model=MacBookPro9,1$">
527
+ <description>MacBook Pro (15-inch, Mid 2012)</description>
528
+ <example>model=MacBookPro9,1</example>
529
+ <param pos="0" name="os.vendor" value="Apple"/>
530
+ <param pos="0" name="os.family" value="Mac OS X"/>
531
+ <param pos="0" name="os.product" value="Mac OS X"/>
532
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
533
+ <param pos="0" name="hw.vendor" value="Apple"/>
534
+ <param pos="0" name="hw.family" value="MacBook Pro"/>
535
+ <param pos="0" name="hw.product" value="MacBook Pro (15-inch, Mid 2012)"/>
536
+ <param pos="0" name="hw.device" value="Laptop"/>
537
+ </fingerprint>
538
+
475
539
  <fingerprint pattern="^model=MacBookPro8,3$">
476
540
  <description>MacBook Pro (17-inch, Late 2011)</description>
477
541
  <example>model=MacBookPro8,3</example>
@@ -671,6 +735,32 @@
671
735
 
672
736
  <!-- MacBookAir - Reference for the following: https://support.apple.com/en-us/HT201862 -->
673
737
 
738
+ <fingerprint pattern="^model=MacBookAir10,1$">
739
+ <description>MacBook Air (M1, 2020)</description>
740
+ <example>model=MacBookAir10,1</example>
741
+ <param pos="0" name="os.vendor" value="Apple"/>
742
+ <param pos="0" name="os.family" value="Mac OS X"/>
743
+ <param pos="0" name="os.product" value="Mac OS X"/>
744
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
745
+ <param pos="0" name="hw.vendor" value="Apple"/>
746
+ <param pos="0" name="hw.family" value="MacBook"/>
747
+ <param pos="0" name="hw.product" value="MacBook Air (M1, 2020)"/>
748
+ <param pos="0" name="hw.device" value="Laptop"/>
749
+ </fingerprint>
750
+
751
+ <fingerprint pattern="^model=MacBookAir9,1$">
752
+ <description>MacBook Air (Retina, 13-inch, 2020)</description>
753
+ <example>model=MacBookAir9,1</example>
754
+ <param pos="0" name="os.vendor" value="Apple"/>
755
+ <param pos="0" name="os.family" value="Mac OS X"/>
756
+ <param pos="0" name="os.product" value="Mac OS X"/>
757
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
758
+ <param pos="0" name="hw.vendor" value="Apple"/>
759
+ <param pos="0" name="hw.family" value="MacBook"/>
760
+ <param pos="0" name="hw.product" value="MacBook Air (Retina, 13-inch, 2020)"/>
761
+ <param pos="0" name="hw.device" value="Laptop"/>
762
+ </fingerprint>
763
+
674
764
  <fingerprint pattern="^model=MacBookAir8,2$">
675
765
  <description>MacBook Air (Retina, 13-inch, 2019)</description>
676
766
  <example>model=MacBookAir8,2</example>
@@ -842,6 +932,19 @@
842
932
 
843
933
  <!-- MacMini - Reference for the following: https://support.apple.com/en-us/HT201894 -->
844
934
 
935
+ <fingerprint pattern="^model=Macmini9,1$">
936
+ <description>Mac mini (M1, 2020)</description>
937
+ <example>model=Macmini9,1</example>
938
+ <param pos="0" name="os.vendor" value="Apple"/>
939
+ <param pos="0" name="os.family" value="Mac OS X"/>
940
+ <param pos="0" name="os.product" value="Mac OS X"/>
941
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
942
+ <param pos="0" name="hw.vendor" value="Apple"/>
943
+ <param pos="0" name="hw.family" value="Mac mini"/>
944
+ <param pos="0" name="hw.product" value="Mac mini (M1, 2020)"/>
945
+ <param pos="0" name="hw.device" value="Desktop"/>
946
+ </fingerprint>
947
+
845
948
  <fingerprint pattern="^model=Macmini8,1$">
846
949
  <description>Mac mini (Late 2018)</description>
847
950
  <example>model=Macmini8,1</example>
@@ -1122,6 +1225,19 @@
1122
1225
 
1123
1226
  <!-- iMAC - Reference for the following: https://support.apple.com/en-us/HT201634 -->
1124
1227
 
1228
+ <fingerprint pattern="^model=iMac20,1$">
1229
+ <description>iMac (Retina 5K, 27-inch, 2020)</description>
1230
+ <example>model=iMac20,1</example>
1231
+ <param pos="0" name="os.vendor" value="Apple"/>
1232
+ <param pos="0" name="os.family" value="Mac OS X"/>
1233
+ <param pos="0" name="os.product" value="Mac OS X"/>
1234
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
1235
+ <param pos="0" name="hw.vendor" value="Apple"/>
1236
+ <param pos="0" name="hw.family" value="iMac"/>
1237
+ <param pos="0" name="hw.product" value="iMac (Retina 5K, 27-inch, 2020)"/>
1238
+ <param pos="0" name="hw.device" value="Desktop"/>
1239
+ </fingerprint>
1240
+
1125
1241
  <fingerprint pattern="^model=iMac19,1$">
1126
1242
  <description>iMac (Retina 5K, 27-inch, 2019)</description>
1127
1243
  <example>model=iMac19,1</example>
@@ -1369,8 +1485,21 @@
1369
1485
  <param pos="0" name="hw.device" value="Desktop"/>
1370
1486
  </fingerprint>
1371
1487
 
1488
+ <fingerprint pattern="^model=iMac11,1$">
1489
+ <description>iMac 10 (27-inch, Late 2009)</description>
1490
+ <example>model=iMac11,1</example>
1491
+ <param pos="0" name="os.vendor" value="Apple"/>
1492
+ <param pos="0" name="os.family" value="Mac OS X"/>
1493
+ <param pos="0" name="os.product" value="Mac OS X"/>
1494
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
1495
+ <param pos="0" name="hw.vendor" value="Apple"/>
1496
+ <param pos="0" name="hw.family" value="iMac"/>
1497
+ <param pos="0" name="hw.product" value="iMac (27-inch, Late 2009)"/>
1498
+ <param pos="0" name="hw.device" value="Desktop"/>
1499
+ </fingerprint>
1500
+
1372
1501
  <fingerprint pattern="^model=iMac10,1$">
1373
- <description>iMac (27-inch, Late 2009)</description>
1502
+ <description>iMac 11 (27-inch, Late 2009)</description>
1374
1503
  <example>model=iMac10,1</example>
1375
1504
  <param pos="0" name="os.vendor" value="Apple"/>
1376
1505
  <param pos="0" name="os.family" value="Mac OS X"/>
@@ -1395,10 +1524,50 @@
1395
1524
  <param pos="0" name="hw.device" value="Desktop"/>
1396
1525
  </fingerprint>
1397
1526
 
1527
+ <fingerprint pattern="^model=iMac8,1$">
1528
+ <description>iMac (20/24-inch, Early 2008)</description>
1529
+ <example>model=iMac8,1</example>
1530
+ <param pos="0" name="os.vendor" value="Apple"/>
1531
+ <param pos="0" name="os.family" value="Mac OS X"/>
1532
+ <param pos="0" name="os.product" value="Mac OS X"/>
1533
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:mac_os_x:-"/>
1534
+ <param pos="0" name="hw.vendor" value="Apple"/>
1535
+ <param pos="0" name="hw.family" value="iMac"/>
1536
+ <param pos="0" name="hw.product" value="iMac (20/24-inch, Early 2008)"/>
1537
+ <param pos="0" name="hw.device" value="Desktop"/>
1538
+ </fingerprint>
1539
+
1398
1540
  <!-- iPad Pro - Reference for the following: https://www.theiphonewiki.com/ -->
1399
1541
 
1542
+ <fingerprint pattern="^model=J42[01]AP$">
1543
+ <description>iPad Pro (12.9-inch, 4th generation)</description>
1544
+ <example>model=J420AP</example>
1545
+ <example>model=J421AP</example>
1546
+ <param pos="0" name="os.vendor" value="Apple"/>
1547
+ <param pos="0" name="os.family" value="iOS"/>
1548
+ <param pos="0" name="os.product" value="iOS"/>
1549
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1550
+ <param pos="0" name="hw.vendor" value="Apple"/>
1551
+ <param pos="0" name="hw.family" value="iPad Pro"/>
1552
+ <param pos="0" name="hw.product" value="iPad Pro (12.9-inch, 4th generation)"/>
1553
+ <param pos="0" name="hw.device" value="Tablet"/>
1554
+ </fingerprint>
1555
+
1556
+ <fingerprint pattern="^model=J41[78]AP$">
1557
+ <description>iPad Pro (11-inch, 2nd generation)</description>
1558
+ <example>model=J417AP</example>
1559
+ <param pos="0" name="os.vendor" value="Apple"/>
1560
+ <param pos="0" name="os.family" value="iOS"/>
1561
+ <param pos="0" name="os.product" value="iOS"/>
1562
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1563
+ <param pos="0" name="hw.vendor" value="Apple"/>
1564
+ <param pos="0" name="hw.family" value="iPad Pro"/>
1565
+ <param pos="0" name="hw.product" value="iPad Pro (11-inch, 2nd generation)"/>
1566
+ <param pos="0" name="hw.device" value="Tablet"/>
1567
+ </fingerprint>
1568
+
1400
1569
  <fingerprint pattern="^model=J32[01]x?AP$">
1401
- <description>iPad Pro (12.9-inch)</description>
1570
+ <description>iPad Pro (12.9-inch, 3rd generation)</description>
1402
1571
  <example>model=J320AP</example>
1403
1572
  <example>model=J321xAP</example>
1404
1573
  <param pos="0" name="os.vendor" value="Apple"/>
@@ -1407,7 +1576,7 @@
1407
1576
  <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1408
1577
  <param pos="0" name="hw.vendor" value="Apple"/>
1409
1578
  <param pos="0" name="hw.family" value="iPad Pro"/>
1410
- <param pos="0" name="hw.product" value="iPad Pro (12.9-inch)"/>
1579
+ <param pos="0" name="hw.product" value="iPad Pro (12.9-inch, 3rd generation)"/>
1411
1580
  <param pos="0" name="hw.device" value="Tablet"/>
1412
1581
  </fingerprint>
1413
1582
 
@@ -1428,6 +1597,7 @@
1428
1597
  <fingerprint pattern="^model=J20[78]AP$">
1429
1598
  <description>iPad Pro (10.5-inch)</description>
1430
1599
  <example>model=J207AP</example>
1600
+ <example>model=J208AP</example>
1431
1601
  <param pos="0" name="os.vendor" value="Apple"/>
1432
1602
  <param pos="0" name="os.family" value="iOS"/>
1433
1603
  <param pos="0" name="os.product" value="iOS"/>
@@ -1451,10 +1621,38 @@
1451
1621
  <param pos="0" name="hw.device" value="Tablet"/>
1452
1622
  </fingerprint>
1453
1623
 
1624
+ <fingerprint pattern="^model=J12[01]AP$">
1625
+ <description>iPad Pro (12.9-inch, 2nd generation)</description>
1626
+ <example>model=J120AP</example>
1627
+ <example>model=J121AP</example>
1628
+ <param pos="0" name="os.vendor" value="Apple"/>
1629
+ <param pos="0" name="os.family" value="iOS"/>
1630
+ <param pos="0" name="os.product" value="iOS"/>
1631
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1632
+ <param pos="0" name="hw.vendor" value="Apple"/>
1633
+ <param pos="0" name="hw.family" value="iPad Pro"/>
1634
+ <param pos="0" name="hw.product" value="iPad Pro (12.9-inch, 2nd generation)"/>
1635
+ <param pos="0" name="hw.device" value="Tablet"/>
1636
+ </fingerprint>
1637
+
1638
+ <fingerprint pattern="^model=J9[89]aAP$">
1639
+ <description>iPad Pro (12.9-inch)</description>
1640
+ <example>model=J98aAP</example>
1641
+ <example>model=J99aAP</example>
1642
+ <param pos="0" name="os.vendor" value="Apple"/>
1643
+ <param pos="0" name="os.family" value="iOS"/>
1644
+ <param pos="0" name="os.product" value="iOS"/>
1645
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1646
+ <param pos="0" name="hw.vendor" value="Apple"/>
1647
+ <param pos="0" name="hw.family" value="iPad Pro"/>
1648
+ <param pos="0" name="hw.product" value="iPad Pro (12.9-inch)"/>
1649
+ <param pos="0" name="hw.device" value="Tablet"/>
1650
+ </fingerprint>
1651
+
1454
1652
  <!-- iPad -->
1455
1653
 
1456
1654
  <fingerprint pattern="^model=J7[12]bAP$">
1457
- <description>iPad 6th generation)</description>
1655
+ <description>iPad (6th generation)</description>
1458
1656
  <example>model=J72bAP</example>
1459
1657
  <example>model=J71bAP</example>
1460
1658
  <param pos="0" name="os.vendor" value="Apple"/>
@@ -1619,9 +1817,10 @@
1619
1817
 
1620
1818
  <!-- Apple TV -->
1621
1819
 
1622
- <fingerprint pattern="^model=J105aAP$">
1820
+ <fingerprint pattern="^model=(?:J105aAP|AppleTV6,2)$">
1623
1821
  <description>Apple TV 4K</description>
1624
1822
  <example>model=J105aAP</example>
1823
+ <example>model=AppleTV6,2</example>
1625
1824
  <param pos="0" name="os.vendor" value="Apple"/>
1626
1825
  <param pos="0" name="os.family" value="tvOS"/>
1627
1826
  <param pos="0" name="os.product" value="tvOS"/>
@@ -1632,9 +1831,10 @@
1632
1831
  <param pos="0" name="hw.device" value="Media Server"/>
1633
1832
  </fingerprint>
1634
1833
 
1635
- <fingerprint pattern="^model=J42dAP$">
1834
+ <fingerprint pattern="^model=(?:J42dAP|AppleTV5,3)$">
1636
1835
  <description>Apple TV (4th generation)</description>
1637
1836
  <example>model=J42dAP</example>
1837
+ <example>model=AppleTV5,3</example>
1638
1838
  <param pos="0" name="os.vendor" value="Apple"/>
1639
1839
  <param pos="0" name="os.family" value="tvOS"/>
1640
1840
  <param pos="0" name="os.product" value="tvOS"/>
@@ -1645,11 +1845,13 @@
1645
1845
  <param pos="0" name="hw.device" value="Media Server"/>
1646
1846
  </fingerprint>
1647
1847
 
1648
- <fingerprint pattern="^model=J33[Ii]?AP$">
1848
+ <fingerprint pattern="^model=(?:J33[Ii]?AP|AppleTV3,[21])$">
1649
1849
  <description>Apple TV (3rd generation)</description>
1650
1850
  <example>model=J33IAP</example>
1651
1851
  <example>model=J33iAP</example>
1652
1852
  <example>model=J33AP</example>
1853
+ <example>model=AppleTV3,2</example>
1854
+ <example>model=AppleTV3,1</example>
1653
1855
  <param pos="0" name="os.vendor" value="Apple"/>
1654
1856
  <param pos="0" name="os.family" value="tvOS"/>
1655
1857
  <param pos="0" name="os.product" value="tvOS"/>
@@ -1660,9 +1862,10 @@
1660
1862
  <param pos="0" name="hw.device" value="Media Server"/>
1661
1863
  </fingerprint>
1662
1864
 
1663
- <fingerprint pattern="^model=K66AP$">
1865
+ <fingerprint pattern="^model=(?:K66AP|AppleTV2,1)$">
1664
1866
  <description>Apple TV (2nd generation)</description>
1665
1867
  <example>model=K66AP</example>
1868
+ <example>model=AppleTV2,1</example>
1666
1869
  <param pos="0" name="os.vendor" value="Apple"/>
1667
1870
  <param pos="0" name="os.family" value="tvOS"/>
1668
1871
  <param pos="0" name="os.product" value="tvOS"/>
@@ -1673,7 +1876,102 @@
1673
1876
  <param pos="0" name="hw.device" value="Media Server"/>
1674
1877
  </fingerprint>
1675
1878
 
1676
- <!-- iPad Pro - Reference for the following: https://www.theiphonewiki.com/ -->
1879
+ <!-- iPhones - Reference for the following: https://www.theiphonewiki.com/wiki/Category:Devices
1880
+ and http://phonedb.net/ -->
1881
+
1882
+ <fingerprint pattern="^model=D79AP$">
1883
+ <description>iPhone SE (2020)</description>
1884
+ <example>model=D79AP</example>
1885
+ <param pos="0" name="os.vendor" value="Apple"/>
1886
+ <param pos="0" name="os.family" value="iOS"/>
1887
+ <param pos="0" name="os.product" value="iOS"/>
1888
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1889
+ <param pos="0" name="hw.vendor" value="Apple"/>
1890
+ <param pos="0" name="hw.family" value="iPhone"/>
1891
+ <param pos="0" name="hw.product" value="iPhone SE (2020)"/>
1892
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1893
+ </fingerprint>
1894
+
1895
+ <fingerprint pattern="^model=D54pAP$">
1896
+ <description>iPhone 12 Pro Max 5G</description>
1897
+ <example>model=D54pAP</example>
1898
+ <param pos="0" name="os.vendor" value="Apple"/>
1899
+ <param pos="0" name="os.family" value="iOS"/>
1900
+ <param pos="0" name="os.product" value="iOS"/>
1901
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1902
+ <param pos="0" name="hw.vendor" value="Apple"/>
1903
+ <param pos="0" name="hw.family" value="iPhone"/>
1904
+ <param pos="0" name="hw.product" value="iPhone 12 Pro Max 5G"/>
1905
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1906
+ </fingerprint>
1907
+
1908
+ <fingerprint pattern="^model=D53pAP$">
1909
+ <description>iPhone 12 Pro 5G</description>
1910
+ <example>model=D53pAP</example>
1911
+ <param pos="0" name="os.vendor" value="Apple"/>
1912
+ <param pos="0" name="os.family" value="iOS"/>
1913
+ <param pos="0" name="os.product" value="iOS"/>
1914
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1915
+ <param pos="0" name="hw.vendor" value="Apple"/>
1916
+ <param pos="0" name="hw.family" value="iPhone"/>
1917
+ <param pos="0" name="hw.product" value="iPhone 12 Pro 5G"/>
1918
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1919
+ </fingerprint>
1920
+
1921
+ <fingerprint pattern="^model=D53gAP$">
1922
+ <description>iPhone 12 5G</description>
1923
+ <example>model=D53gAP</example>
1924
+ <param pos="0" name="os.vendor" value="Apple"/>
1925
+ <param pos="0" name="os.family" value="iOS"/>
1926
+ <param pos="0" name="os.product" value="iOS"/>
1927
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1928
+ <param pos="0" name="hw.vendor" value="Apple"/>
1929
+ <param pos="0" name="hw.family" value="iPhone"/>
1930
+ <param pos="0" name="hw.product" value="iPhone 12 5G"/>
1931
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1932
+ </fingerprint>
1933
+
1934
+ <fingerprint pattern="^model=D52g?AP$">
1935
+ <description>iPhone 12 Mini 5G</description>
1936
+ <example>model=D52gAP</example>
1937
+ <example>model=D52AP</example>
1938
+ <param pos="0" name="os.vendor" value="Apple"/>
1939
+ <param pos="0" name="os.family" value="iOS"/>
1940
+ <param pos="0" name="os.product" value="iOS"/>
1941
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1942
+ <param pos="0" name="hw.vendor" value="Apple"/>
1943
+ <param pos="0" name="hw.family" value="iPhone"/>
1944
+ <param pos="0" name="hw.product" value="iPhone 12 Mini 5G"/>
1945
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1946
+ </fingerprint>
1947
+
1948
+ <fingerprint pattern="^model=D431p?AP$">
1949
+ <description>iPhone 11 Pro Max</description>
1950
+ <example>model=D431pAP</example>
1951
+ <example>model=D431AP</example>
1952
+ <param pos="0" name="os.vendor" value="Apple"/>
1953
+ <param pos="0" name="os.family" value="iOS"/>
1954
+ <param pos="0" name="os.product" value="iOS"/>
1955
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1956
+ <param pos="0" name="hw.vendor" value="Apple"/>
1957
+ <param pos="0" name="hw.family" value="iPhone"/>
1958
+ <param pos="0" name="hw.product" value="iPhone 11 Pro Max"/>
1959
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1960
+ </fingerprint>
1961
+
1962
+ <fingerprint pattern="^model=D421p?AP$">
1963
+ <description>iPhone 11 Pro</description>
1964
+ <example>model=D421pAP</example>
1965
+ <example>model=D421AP</example>
1966
+ <param pos="0" name="os.vendor" value="Apple"/>
1967
+ <param pos="0" name="os.family" value="iOS"/>
1968
+ <param pos="0" name="os.product" value="iOS"/>
1969
+ <param pos="0" name="os.cpe23" value="cpe:/o:apple:iphone_os:-"/>
1970
+ <param pos="0" name="hw.vendor" value="Apple"/>
1971
+ <param pos="0" name="hw.family" value="iPhone"/>
1972
+ <param pos="0" name="hw.product" value="iPhone 11 Pro"/>
1973
+ <param pos="0" name="hw.device" value="Mobile Phone"/>
1974
+ </fingerprint>
1677
1975
 
1678
1976
  <fingerprint pattern="^model=D331p?AP$">
1679
1977
  <description>iPhone XS Max</description>