@johannes-berggren/netprobe 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1442 @@
1
+ // Common MAC address vendor prefixes (OUI database subset)
2
+ const OUI_DATABASE: Record<string, string> = {
3
+ // Apple
4
+ '00:03:93': 'Apple',
5
+ '00:0A:27': 'Apple',
6
+ '00:0A:95': 'Apple',
7
+ '00:0D:93': 'Apple',
8
+ '00:10:FA': 'Apple',
9
+ '00:11:24': 'Apple',
10
+ '00:14:51': 'Apple',
11
+ '00:16:CB': 'Apple',
12
+ '00:17:F2': 'Apple',
13
+ '00:19:E3': 'Apple',
14
+ '00:1B:63': 'Apple',
15
+ '00:1C:B3': 'Apple',
16
+ '00:1D:4F': 'Apple',
17
+ '00:1E:52': 'Apple',
18
+ '00:1E:C2': 'Apple',
19
+ '00:1F:5B': 'Apple',
20
+ '00:1F:F3': 'Apple',
21
+ '00:21:E9': 'Apple',
22
+ '00:22:41': 'Apple',
23
+ '00:23:12': 'Apple',
24
+ '00:23:32': 'Apple',
25
+ '00:23:6C': 'Apple',
26
+ '00:23:DF': 'Apple',
27
+ '00:24:36': 'Apple',
28
+ '00:25:00': 'Apple',
29
+ '00:25:4B': 'Apple',
30
+ '00:25:BC': 'Apple',
31
+ '00:26:08': 'Apple',
32
+ '00:26:4A': 'Apple',
33
+ '00:26:B0': 'Apple',
34
+ '00:26:BB': 'Apple',
35
+ '00:30:65': 'Apple',
36
+ '00:3E:E1': 'Apple',
37
+ '00:50:E4': 'Apple',
38
+ '00:56:CD': 'Apple',
39
+ '00:61:71': 'Apple',
40
+ '00:6D:52': 'Apple',
41
+ '00:88:65': 'Apple',
42
+ '00:B3:62': 'Apple',
43
+ '00:C6:10': 'Apple',
44
+ '00:CD:FE': 'Apple',
45
+ '00:DB:70': 'Apple',
46
+ '00:F4:B9': 'Apple',
47
+ '00:F7:6F': 'Apple',
48
+ '04:0C:CE': 'Apple',
49
+ '04:15:52': 'Apple',
50
+ '04:1B:BA': 'Apple',
51
+ '04:26:65': 'Apple',
52
+ '04:48:9A': 'Apple',
53
+ '04:4B:ED': 'Apple',
54
+ '04:52:F3': 'Apple',
55
+ '04:54:53': 'Apple',
56
+ '04:69:F8': 'Apple',
57
+ '04:D3:CF': 'Apple',
58
+ '04:DB:56': 'Apple',
59
+ '04:E5:36': 'Apple',
60
+ '04:F1:3E': 'Apple',
61
+ '04:F7:E4': 'Apple',
62
+ '08:00:07': 'Apple',
63
+ '08:66:98': 'Apple',
64
+ '08:6D:41': 'Apple',
65
+ '08:74:02': 'Apple',
66
+ '0C:3E:9F': 'Apple',
67
+ '0C:4D:E9': 'Apple',
68
+ '0C:51:01': 'Apple',
69
+ '0C:74:C2': 'Apple',
70
+ '0C:77:1A': 'Apple',
71
+ '0C:BC:9F': 'Apple',
72
+ '10:1C:0C': 'Apple',
73
+ '10:40:F3': 'Apple',
74
+ '10:41:7F': 'Apple',
75
+ '10:93:E9': 'Apple',
76
+ '10:94:BB': 'Apple',
77
+ '10:9A:DD': 'Apple',
78
+ '10:DD:B1': 'Apple',
79
+ '14:10:9F': 'Apple',
80
+ '14:5A:05': 'Apple',
81
+ '14:8F:C6': 'Apple',
82
+ '14:99:E2': 'Apple',
83
+ '18:20:32': 'Apple',
84
+ '18:34:51': 'Apple',
85
+ '18:65:90': 'Apple',
86
+ '18:9E:FC': 'Apple',
87
+ '18:AF:61': 'Apple',
88
+ '18:AF:8F': 'Apple',
89
+ '18:E7:F4': 'Apple',
90
+ '18:EE:69': 'Apple',
91
+ '18:F6:43': 'Apple',
92
+ '1C:1A:C0': 'Apple',
93
+ '1C:36:BB': 'Apple',
94
+ '1C:5C:F2': 'Apple',
95
+ '1C:91:48': 'Apple',
96
+ '1C:9E:46': 'Apple',
97
+ '1C:AB:A7': 'Apple',
98
+ '1C:E6:2B': 'Apple',
99
+ '20:3C:AE': 'Apple',
100
+ '20:78:F0': 'Apple',
101
+ '20:7D:74': 'Apple',
102
+ '20:9B:CD': 'Apple',
103
+ '20:A2:E4': 'Apple',
104
+ '20:AB:37': 'Apple',
105
+ '20:C9:D0': 'Apple',
106
+ '24:1E:EB': 'Apple',
107
+ '24:24:0E': 'Apple',
108
+ '24:5B:A7': 'Apple',
109
+ '24:A0:74': 'Apple',
110
+ '24:AB:81': 'Apple',
111
+ '24:E3:14': 'Apple',
112
+ '24:F0:94': 'Apple',
113
+ '28:0B:5C': 'Apple',
114
+ '28:37:37': 'Apple',
115
+ '28:5A:EB': 'Apple',
116
+ '28:6A:B8': 'Apple',
117
+ '28:6A:BA': 'Apple',
118
+ '28:A0:2B': 'Apple',
119
+ '28:CF:DA': 'Apple',
120
+ '28:CF:E9': 'Apple',
121
+ '28:E0:2C': 'Apple',
122
+ '28:E1:4C': 'Apple',
123
+ '28:E7:CF': 'Apple',
124
+ '28:ED:E0': 'Apple',
125
+ '28:F0:76': 'Apple',
126
+ '2C:1F:23': 'Apple',
127
+ '2C:20:0B': 'Apple',
128
+ '2C:33:61': 'Apple',
129
+ '2C:3A:E8': 'Apple',
130
+ '2C:54:91': 'Apple',
131
+ '2C:B4:3A': 'Apple',
132
+ '2C:BE:08': 'Apple',
133
+ '2C:F0:A2': 'Apple',
134
+ '2C:F0:EE': 'Apple',
135
+ '30:10:E4': 'Apple',
136
+ '30:35:AD': 'Apple',
137
+ '30:63:6B': 'Apple',
138
+ '30:90:AB': 'Apple',
139
+ '30:C8:2A': 'Apple',
140
+ '30:F7:C5': 'Apple',
141
+ '34:08:BC': 'Apple',
142
+ '34:12:98': 'Apple',
143
+ '34:15:9E': 'Apple',
144
+ '34:36:3B': 'Apple',
145
+ '34:51:C9': 'Apple',
146
+ '34:A3:95': 'Apple',
147
+ '34:AB:37': 'Apple',
148
+ '34:C0:59': 'Apple',
149
+ '34:E2:FD': 'Apple',
150
+ '38:0F:4A': 'Apple',
151
+ '38:48:4C': 'Apple',
152
+ '38:53:9C': 'Apple',
153
+ '38:66:F0': 'Apple',
154
+ '38:71:DE': 'Apple',
155
+ '38:B5:4D': 'Apple',
156
+ '38:C9:86': 'Apple',
157
+ '38:CA:DA': 'Apple',
158
+ '3C:06:30': 'Apple',
159
+ '3C:07:54': 'Apple',
160
+ '3C:15:C2': 'Apple',
161
+ '3C:2E:F9': 'Apple',
162
+ '3C:2E:FF': 'Apple',
163
+ '3C:D0:F8': 'Apple',
164
+ '3C:E0:72': 'Apple',
165
+ '40:30:04': 'Apple',
166
+ '40:33:1A': 'Apple',
167
+ '40:3C:FC': 'Apple',
168
+ '40:4D:7F': 'Apple',
169
+ '40:6C:8F': 'Apple',
170
+ '40:78:6A': 'Apple',
171
+ '40:83:1D': 'Apple',
172
+ '40:88:05': 'Apple',
173
+ '40:98:AD': 'Apple',
174
+ '40:9C:28': 'Apple',
175
+ '40:A6:D9': 'Apple',
176
+ '40:B3:95': 'Apple',
177
+ '40:BC:60': 'Apple',
178
+ '40:CB:C0': 'Apple',
179
+ '40:D3:2D': 'Apple',
180
+ '44:00:10': 'Apple',
181
+ '44:2A:60': 'Apple',
182
+ '44:4C:0C': 'Apple',
183
+ '44:D8:84': 'Apple',
184
+ '44:FB:42': 'Apple',
185
+ '48:3B:38': 'Apple',
186
+ '48:43:7C': 'Apple',
187
+ '48:4B:AA': 'Apple',
188
+ '48:60:BC': 'Apple',
189
+ '48:74:6E': 'Apple',
190
+ '48:A1:95': 'Apple',
191
+ '48:BF:6B': 'Apple',
192
+ '48:D7:05': 'Apple',
193
+ '48:E1:E9': 'Apple',
194
+ '4C:32:75': 'Apple',
195
+ '4C:56:9D': 'Apple',
196
+ '4C:57:CA': 'Apple',
197
+ '4C:74:03': 'Apple',
198
+ '4C:7C:5F': 'Apple',
199
+ '4C:8D:79': 'Apple',
200
+ '4C:B1:99': 'Apple',
201
+ '50:32:37': 'Apple',
202
+ '50:7A:55': 'Apple',
203
+ '50:82:D5': 'Apple',
204
+ '50:A6:7F': 'Apple',
205
+ '50:BC:96': 'Apple',
206
+ '50:EA:D6': 'Apple',
207
+ '54:26:96': 'Apple',
208
+ '54:33:CB': 'Apple',
209
+ '54:4E:90': 'Apple',
210
+ '54:72:4F': 'Apple',
211
+ '54:7C:69': 'Apple',
212
+ '54:99:63': 'Apple',
213
+ '54:9F:13': 'Apple',
214
+ '54:AE:27': 'Apple',
215
+ '54:E4:3A': 'Apple',
216
+ '54:EA:A8': 'Apple',
217
+ '58:1F:AA': 'Apple',
218
+ '58:40:4E': 'Apple',
219
+ '58:55:CA': 'Apple',
220
+ '58:67:1A': 'Apple',
221
+ '58:7F:57': 'Apple',
222
+ '58:B0:35': 'Apple',
223
+ '5C:59:48': 'Apple',
224
+ '5C:5C:C3': 'Apple',
225
+ '5C:8D:4E': 'Apple',
226
+ '5C:95:AE': 'Apple',
227
+ '5C:96:9D': 'Apple',
228
+ '5C:97:F3': 'Apple',
229
+ '5C:AD:CF': 'Apple',
230
+ '5C:F5:DA': 'Apple',
231
+ '5C:F7:E6': 'Apple',
232
+ '5C:F9:38': 'Apple',
233
+ '60:03:08': 'Apple',
234
+ '60:1C:BC': 'Apple',
235
+ '60:30:D4': 'Apple',
236
+ '60:33:4B': 'Apple',
237
+ '60:69:44': 'Apple',
238
+ '60:8C:4A': 'Apple',
239
+ '60:92:17': 'Apple',
240
+ '60:A3:7D': 'Apple',
241
+ '60:C5:47': 'Apple',
242
+ '60:D9:C7': 'Apple',
243
+ '60:F4:45': 'Apple',
244
+ '60:F8:1D': 'Apple',
245
+ '60:FA:CD': 'Apple',
246
+ '60:FB:42': 'Apple',
247
+ '60:FE:C5': 'Apple',
248
+ '64:20:0C': 'Apple',
249
+ '64:4B:F0': 'Apple',
250
+ '64:76:BA': 'Apple',
251
+ '64:9A:BE': 'Apple',
252
+ '64:A3:CB': 'Apple',
253
+ '64:B0:A6': 'Apple',
254
+ '64:B9:E8': 'Apple',
255
+ '64:E6:82': 'Apple',
256
+ '68:09:27': 'Apple',
257
+ '68:5B:35': 'Apple',
258
+ '68:64:4B': 'Apple',
259
+ '68:96:7B': 'Apple',
260
+ '68:9C:70': 'Apple',
261
+ '68:A8:6D': 'Apple',
262
+ '68:AB:1E': 'Apple',
263
+ '68:AE:20': 'Apple',
264
+ '68:D9:3C': 'Apple',
265
+ '68:DB:CA': 'Apple',
266
+ '68:FB:7E': 'Apple',
267
+ '68:FE:F7': 'Apple',
268
+ '6C:19:C0': 'Apple',
269
+ '6C:3E:6D': 'Apple',
270
+ '6C:40:08': 'Apple',
271
+ '6C:4D:73': 'Apple',
272
+ '6C:70:9F': 'Apple',
273
+ '6C:72:E7': 'Apple',
274
+ '6C:8D:C1': 'Apple',
275
+ '6C:94:F8': 'Apple',
276
+ '6C:96:CF': 'Apple',
277
+ '6C:AB:31': 'Apple',
278
+ '6C:C2:6B': 'Apple',
279
+ '70:11:24': 'Apple',
280
+ '70:14:A6': 'Apple',
281
+ '70:3E:AC': 'Apple',
282
+ '70:48:0F': 'Apple',
283
+ '70:56:81': 'Apple',
284
+ '70:73:CB': 'Apple',
285
+ '70:81:EB': 'Apple',
286
+ '70:A2:B3': 'Apple',
287
+ '70:CD:60': 'Apple',
288
+ '70:DE:E2': 'Apple',
289
+ '70:E7:2C': 'Apple',
290
+ '70:EC:E4': 'Apple',
291
+ '70:F0:87': 'Apple',
292
+ '74:1B:B2': 'Apple',
293
+ '74:42:8B': 'Apple',
294
+ '74:81:14': 'Apple',
295
+ '74:8D:08': 'Apple',
296
+ '74:E1:B6': 'Apple',
297
+ '74:E2:F5': 'Apple',
298
+ '78:31:C1': 'Apple',
299
+ '78:32:1B': 'Apple',
300
+ '78:3A:84': 'Apple',
301
+ '78:4F:43': 'Apple',
302
+ '78:67:D7': 'Apple',
303
+ '78:6C:1C': 'Apple',
304
+ '78:7E:61': 'Apple',
305
+ '78:88:6D': 'Apple',
306
+ '78:9F:70': 'Apple',
307
+ '78:A3:E4': 'Apple',
308
+ '78:CA:39': 'Apple',
309
+ '78:D7:5F': 'Apple',
310
+ '78:FD:94': 'Apple',
311
+ '7C:01:91': 'Apple',
312
+ '7C:04:D0': 'Apple',
313
+ '7C:11:BE': 'Apple',
314
+ '7C:50:49': 'Apple',
315
+ '7C:6D:62': 'Apple',
316
+ '7C:6D:F8': 'Apple',
317
+ '7C:9A:1D': 'Apple',
318
+ '7C:C3:A1': 'Apple',
319
+ '7C:C5:37': 'Apple',
320
+ '7C:D1:C3': 'Apple',
321
+ '7C:F0:5F': 'Apple',
322
+ '7C:FA:DF': 'Apple',
323
+ '80:00:6E': 'Apple',
324
+ '80:49:71': 'Apple',
325
+ '80:82:23': 'Apple',
326
+ '80:92:9F': 'Apple',
327
+ '80:A9:97': 'Apple',
328
+ '80:B0:3D': 'Apple',
329
+ '80:BE:05': 'Apple',
330
+ '80:D6:05': 'Apple',
331
+ '80:E6:50': 'Apple',
332
+ '80:EA:96': 'Apple',
333
+ '80:ED:2C': 'Apple',
334
+ '84:29:99': 'Apple',
335
+ '84:38:35': 'Apple',
336
+ '84:41:67': 'Apple',
337
+ '84:78:8B': 'Apple',
338
+ '84:85:06': 'Apple',
339
+ '84:89:AD': 'Apple',
340
+ '84:8E:0C': 'Apple',
341
+ '84:A1:34': 'Apple',
342
+ '84:B1:53': 'Apple',
343
+ '84:FC:AC': 'Apple',
344
+ '84:FC:FE': 'Apple',
345
+ '88:19:08': 'Apple',
346
+ '88:1F:A1': 'Apple',
347
+ '88:53:95': 'Apple',
348
+ '88:63:DF': 'Apple',
349
+ '88:64:40': 'Apple',
350
+ '88:66:A5': 'Apple',
351
+ '88:6B:6E': 'Apple',
352
+ '88:C6:63': 'Apple',
353
+ '88:CB:87': 'Apple',
354
+ '88:E8:7F': 'Apple',
355
+ '8C:00:6D': 'Apple',
356
+ '8C:29:37': 'Apple',
357
+ '8C:2D:AA': 'Apple',
358
+ '8C:58:77': 'Apple',
359
+ '8C:7B:9D': 'Apple',
360
+ '8C:7C:92': 'Apple',
361
+ '8C:85:90': 'Apple',
362
+ '8C:8E:F2': 'Apple',
363
+ '8C:8F:E9': 'Apple',
364
+ '8C:FA:BA': 'Apple',
365
+ '90:27:E4': 'Apple',
366
+ '90:3C:92': 'Apple',
367
+ '90:60:F1': 'Apple',
368
+ '90:72:40': 'Apple',
369
+ '90:84:0D': 'Apple',
370
+ '90:8D:6C': 'Apple',
371
+ '90:B0:ED': 'Apple',
372
+ '90:B2:1F': 'Apple',
373
+ '90:B9:31': 'Apple',
374
+ '90:C1:C6': 'Apple',
375
+ '90:FD:61': 'Apple',
376
+ '94:94:26': 'Apple',
377
+ '94:E9:6A': 'Apple',
378
+ '94:F6:A3': 'Apple',
379
+ '98:01:A7': 'Apple',
380
+ '98:03:D8': 'Apple',
381
+ '98:10:E8': 'Apple',
382
+ '98:5A:EB': 'Apple',
383
+ '98:69:8A': 'Apple',
384
+ '98:B8:E3': 'Apple',
385
+ '98:CA:33': 'Apple',
386
+ '98:D6:BB': 'Apple',
387
+ '98:E0:D9': 'Apple',
388
+ '98:F0:AB': 'Apple',
389
+ '98:FE:94': 'Apple',
390
+ '9C:04:EB': 'Apple',
391
+ '9C:20:7B': 'Apple',
392
+ '9C:29:3F': 'Apple',
393
+ '9C:35:EB': 'Apple',
394
+ '9C:4F:DA': 'Apple',
395
+ '9C:84:BF': 'Apple',
396
+ '9C:8B:A0': 'Apple',
397
+ '9C:F3:87': 'Apple',
398
+ '9C:F4:8E': 'Apple',
399
+ 'A0:18:28': 'Apple',
400
+ 'A0:3B:E3': 'Apple',
401
+ 'A0:4E:A7': 'Apple',
402
+ 'A0:56:F3': 'Apple',
403
+ 'A0:99:9B': 'Apple',
404
+ 'A0:D7:95': 'Apple',
405
+ 'A0:ED:CD': 'Apple',
406
+ 'A4:31:35': 'Apple',
407
+ 'A4:5E:60': 'Apple',
408
+ 'A4:67:06': 'Apple',
409
+ 'A4:83:E7': 'Apple',
410
+ 'A4:B1:97': 'Apple',
411
+ 'A4:B8:05': 'Apple',
412
+ 'A4:C3:61': 'Apple',
413
+ 'A4:D1:8C': 'Apple',
414
+ 'A4:D1:D2': 'Apple',
415
+ 'A4:D9:31': 'Apple',
416
+ 'A4:F1:E8': 'Apple',
417
+ 'A8:20:66': 'Apple',
418
+ 'A8:5B:78': 'Apple',
419
+ 'A8:5C:2C': 'Apple',
420
+ 'A8:66:7F': 'Apple',
421
+ 'A8:88:08': 'Apple',
422
+ 'A8:8E:24': 'Apple',
423
+ 'A8:96:8A': 'Apple',
424
+ 'A8:BB:CF': 'Apple',
425
+ 'A8:BE:27': 'Apple',
426
+ 'A8:FA:D8': 'Apple',
427
+ 'AC:1F:74': 'Apple',
428
+ 'AC:29:3A': 'Apple',
429
+ 'AC:3C:0B': 'Apple',
430
+ 'AC:61:EA': 'Apple',
431
+ 'AC:7F:3E': 'Apple',
432
+ 'AC:87:A3': 'Apple',
433
+ 'AC:BC:32': 'Apple',
434
+ 'AC:CF:5C': 'Apple',
435
+ 'AC:E4:B5': 'Apple',
436
+ 'AC:FD:EC': 'Apple',
437
+ 'B0:19:C6': 'Apple',
438
+ 'B0:34:95': 'Apple',
439
+ 'B0:48:1A': 'Apple',
440
+ 'B0:65:BD': 'Apple',
441
+ 'B0:70:2D': 'Apple',
442
+ 'B0:9F:BA': 'Apple',
443
+ 'B4:18:D1': 'Apple',
444
+ 'B4:4B:D2': 'Apple',
445
+ 'B4:8B:19': 'Apple',
446
+ 'B4:9C:DF': 'Apple',
447
+ 'B4:F0:AB': 'Apple',
448
+ 'B4:F6:1C': 'Apple',
449
+ 'B8:09:8A': 'Apple',
450
+ 'B8:17:C2': 'Apple',
451
+ 'B8:41:A4': 'Apple',
452
+ 'B8:44:D9': 'Apple',
453
+ 'B8:53:AC': 'Apple',
454
+ 'B8:5A:F7': 'Apple',
455
+ 'B8:63:4D': 'Apple',
456
+ 'B8:78:2E': 'Apple',
457
+ 'B8:8D:12': 'Apple',
458
+ 'B8:C1:11': 'Apple',
459
+ 'B8:C7:5D': 'Apple',
460
+ 'B8:E8:56': 'Apple',
461
+ 'B8:F6:B1': 'Apple',
462
+ 'B8:FF:61': 'Apple',
463
+ 'BC:3B:AF': 'Apple',
464
+ 'BC:4C:C4': 'Apple',
465
+ 'BC:52:B7': 'Apple',
466
+ 'BC:54:36': 'Apple',
467
+ 'BC:67:1C': 'Apple',
468
+ 'BC:6C:21': 'Apple',
469
+ 'BC:9F:EF': 'Apple',
470
+ 'BC:A9:20': 'Apple',
471
+ 'BC:D0:74': 'Apple',
472
+ 'BC:EC:5D': 'Apple',
473
+ 'BC:FE:D9': 'Apple',
474
+ 'C0:1A:DA': 'Apple',
475
+ 'C0:2C:5C': 'Apple',
476
+ 'C0:63:94': 'Apple',
477
+ 'C0:84:7A': 'Apple',
478
+ 'C0:9F:42': 'Apple',
479
+ 'C0:A5:3E': 'Apple',
480
+ 'C0:CC:F8': 'Apple',
481
+ 'C0:CE:CD': 'Apple',
482
+ 'C0:D0:12': 'Apple',
483
+ 'C0:D3:C0': 'Apple',
484
+ 'C0:F2:FB': 'Apple',
485
+ 'C4:2C:03': 'Apple',
486
+ 'C4:61:8B': 'Apple',
487
+ 'C4:B3:01': 'Apple',
488
+ 'C8:1E:E7': 'Apple',
489
+ 'C8:2A:14': 'Apple',
490
+ 'C8:33:4B': 'Apple',
491
+ 'C8:34:8E': 'Apple',
492
+ 'C8:3C:85': 'Apple',
493
+ 'C8:69:CD': 'Apple',
494
+ 'C8:6F:1D': 'Apple',
495
+ 'C8:85:50': 'Apple',
496
+ 'C8:B5:B7': 'Apple',
497
+ 'C8:BC:C8': 'Apple',
498
+ 'C8:D0:83': 'Apple',
499
+ 'C8:E0:EB': 'Apple',
500
+ 'C8:F6:50': 'Apple',
501
+ 'CC:08:8D': 'Apple',
502
+ 'CC:08:E0': 'Apple',
503
+ 'CC:20:E8': 'Apple',
504
+ 'CC:25:EF': 'Apple',
505
+ 'CC:29:F5': 'Apple',
506
+ 'CC:2D:B7': 'Apple',
507
+ 'CC:44:63': 'Apple',
508
+ 'CC:78:5F': 'Apple',
509
+ 'CC:C7:60': 'Apple',
510
+ 'D0:03:4B': 'Apple',
511
+ 'D0:23:DB': 'Apple',
512
+ 'D0:25:98': 'Apple',
513
+ 'D0:33:11': 'Apple',
514
+ 'D0:4F:7E': 'Apple',
515
+ 'D0:81:7A': 'Apple',
516
+ 'D0:A6:37': 'Apple',
517
+ 'D0:C5:F3': 'Apple',
518
+ 'D0:D2:B0': 'Apple',
519
+ 'D0:E1:40': 'Apple',
520
+ 'D4:61:9D': 'Apple',
521
+ 'D4:9A:20': 'Apple',
522
+ 'D4:A3:3D': 'Apple',
523
+ 'D4:DC:CD': 'Apple',
524
+ 'D4:F4:6F': 'Apple',
525
+ 'D8:00:4D': 'Apple',
526
+ 'D8:1D:72': 'Apple',
527
+ 'D8:30:62': 'Apple',
528
+ 'D8:9E:3F': 'Apple',
529
+ 'D8:A2:5E': 'Apple',
530
+ 'D8:BB:2C': 'Apple',
531
+ 'D8:CF:9C': 'Apple',
532
+ 'D8:D1:CB': 'Apple',
533
+ 'DC:08:56': 'Apple',
534
+ 'DC:0C:5C': 'Apple',
535
+ 'DC:2B:2A': 'Apple',
536
+ 'DC:2B:61': 'Apple',
537
+ 'DC:37:14': 'Apple',
538
+ 'DC:41:5F': 'Apple',
539
+ 'DC:56:E7': 'Apple',
540
+ 'DC:86:D8': 'Apple',
541
+ 'DC:9B:9C': 'Apple',
542
+ 'DC:A4:CA': 'Apple',
543
+ 'DC:A9:04': 'Apple',
544
+ 'E0:5F:45': 'Apple',
545
+ 'E0:66:78': 'Apple',
546
+ 'E0:AC:CB': 'Apple',
547
+ 'E0:B5:2D': 'Apple',
548
+ 'E0:B9:BA': 'Apple',
549
+ 'E0:C7:67': 'Apple',
550
+ 'E0:C9:7A': 'Apple',
551
+ 'E0:F5:C6': 'Apple',
552
+ 'E0:F8:47': 'Apple',
553
+ 'E4:25:E7': 'Apple',
554
+ 'E4:2B:34': 'Apple',
555
+ 'E4:8B:7F': 'Apple',
556
+ 'E4:98:D6': 'Apple',
557
+ 'E4:9A:DC': 'Apple',
558
+ 'E4:9A:79': 'Apple',
559
+ 'E4:C6:3D': 'Apple',
560
+ 'E4:CE:8F': 'Apple',
561
+ 'E4:E4:AB': 'Apple',
562
+ 'E8:04:0B': 'Apple',
563
+ 'E8:06:88': 'Apple',
564
+ 'E8:80:2E': 'Apple',
565
+ 'E8:8D:28': 'Apple',
566
+ 'E8:B2:AC': 'Apple',
567
+ 'EC:35:86': 'Apple',
568
+ 'EC:85:2F': 'Apple',
569
+ 'F0:18:98': 'Apple',
570
+ 'F0:24:75': 'Apple',
571
+ 'F0:4F:7C': 'Apple',
572
+ 'F0:5B:7B': 'Apple',
573
+ 'F0:79:59': 'Apple',
574
+ 'F0:98:9D': 'Apple',
575
+ 'F0:99:B6': 'Apple',
576
+ 'F0:99:BF': 'Apple',
577
+ 'F0:B0:E7': 'Apple',
578
+ 'F0:B4:79': 'Apple',
579
+ 'F0:C1:F1': 'Apple',
580
+ 'F0:CB:A1': 'Apple',
581
+ 'F0:D1:A9': 'Apple',
582
+ 'F0:DB:E2': 'Apple',
583
+ 'F0:DB:F8': 'Apple',
584
+ 'F0:DC:E2': 'Apple',
585
+ 'F0:F6:1C': 'Apple',
586
+ 'F4:0F:24': 'Apple',
587
+ 'F4:1B:A1': 'Apple',
588
+ 'F4:31:C3': 'Apple',
589
+ 'F4:37:B7': 'Apple',
590
+ 'F4:5C:89': 'Apple',
591
+ 'F4:5F:D4': 'Apple',
592
+ 'F4:BD:9E': 'Apple',
593
+ 'F4:F1:5A': 'Apple',
594
+ 'F4:F5:24': 'Apple',
595
+ 'F4:F5:D8': 'Apple',
596
+ 'F4:F5:E8': 'Apple',
597
+ 'F8:03:77': 'Apple',
598
+ 'F8:1E:DF': 'Apple',
599
+ 'F8:27:93': 'Apple',
600
+ 'F8:38:80': 'Apple',
601
+ 'F8:62:14': 'Apple',
602
+ 'F8:95:C7': 'Apple',
603
+ 'F8:E9:4E': 'Apple',
604
+ 'FC:25:3F': 'Apple',
605
+ 'FC:A1:3E': 'Apple',
606
+ 'FC:D8:48': 'Apple',
607
+ 'FC:E9:98': 'Apple',
608
+ 'FC:FC:48': 'Apple',
609
+
610
+ // Samsung
611
+ '00:00:F0': 'Samsung',
612
+ '00:07:AB': 'Samsung',
613
+ '00:09:18': 'Samsung',
614
+ '00:12:47': 'Samsung',
615
+ '00:12:FB': 'Samsung',
616
+ '00:13:77': 'Samsung',
617
+ '00:15:99': 'Samsung',
618
+ '00:15:B9': 'Samsung',
619
+ '00:16:32': 'Samsung',
620
+ '00:16:6B': 'Samsung',
621
+ '00:16:6C': 'Samsung',
622
+ '00:17:C9': 'Samsung',
623
+ '00:17:D5': 'Samsung',
624
+ '00:18:AF': 'Samsung',
625
+ '00:1A:8A': 'Samsung',
626
+ '00:1C:43': 'Samsung',
627
+ '00:1D:25': 'Samsung',
628
+ '00:1D:F6': 'Samsung',
629
+ '00:1E:7D': 'Samsung',
630
+ '00:1F:CC': 'Samsung',
631
+ '00:1F:CD': 'Samsung',
632
+ '00:21:19': 'Samsung',
633
+ '00:21:4C': 'Samsung',
634
+ '00:21:D1': 'Samsung',
635
+ '00:21:D2': 'Samsung',
636
+ '00:23:39': 'Samsung',
637
+ '00:23:3A': 'Samsung',
638
+ '00:23:99': 'Samsung',
639
+ '00:23:D6': 'Samsung',
640
+ '00:23:D7': 'Samsung',
641
+ '00:24:54': 'Samsung',
642
+ '00:24:90': 'Samsung',
643
+ '00:24:91': 'Samsung',
644
+ '00:25:66': 'Samsung',
645
+ '00:25:67': 'Samsung',
646
+ '00:26:37': 'Samsung',
647
+ '00:26:5D': 'Samsung',
648
+ '00:26:5F': 'Samsung',
649
+ '4C:BC:A5': 'Samsung',
650
+ '50:01:BB': 'Samsung',
651
+ '50:F5:20': 'Samsung',
652
+ '5C:0A:5B': 'Samsung',
653
+ '5C:F6:DC': 'Samsung',
654
+ '78:25:AD': 'Samsung',
655
+ '84:11:9E': 'Samsung',
656
+ '94:35:0A': 'Samsung',
657
+ 'A0:82:1F': 'Samsung',
658
+ 'BC:14:01': 'Samsung',
659
+ 'C4:57:6E': 'Samsung',
660
+ 'CC:07:AB': 'Samsung',
661
+ 'D0:22:BE': 'Samsung',
662
+ 'D4:87:D8': 'Samsung',
663
+ 'E4:7C:F9': 'Samsung',
664
+ 'F4:7B:5E': 'Samsung',
665
+
666
+ // Google
667
+ '00:1A:11': 'Google',
668
+ '08:9E:08': 'Google',
669
+ '3C:5A:B4': 'Google',
670
+ '54:60:09': 'Google',
671
+ '94:EB:2C': 'Google',
672
+ 'A4:77:33': 'Google',
673
+ 'D4:F5:47': 'Google',
674
+ 'F4:F5:D8': 'Google',
675
+ 'F8:8F:CA': 'Google',
676
+
677
+ // Amazon
678
+ '00:BB:3A': 'Amazon',
679
+ '0C:47:C9': 'Amazon',
680
+ '10:CE:A9': 'Amazon',
681
+ '18:74:2E': 'Amazon',
682
+ '34:D2:70': 'Amazon',
683
+ '38:F7:3D': 'Amazon',
684
+ '40:A2:DB': 'Amazon',
685
+ '44:65:0D': 'Amazon',
686
+ '50:DC:E7': 'Amazon',
687
+ '68:37:E9': 'Amazon',
688
+ '68:54:FD': 'Amazon',
689
+ '74:75:48': 'Amazon',
690
+ '84:D6:D0': 'Amazon',
691
+ '8C:C8:CD': 'Amazon',
692
+ 'A0:02:DC': 'Amazon',
693
+ 'AC:63:BE': 'Amazon',
694
+ 'B4:7C:9C': 'Amazon',
695
+ 'F0:27:2D': 'Amazon',
696
+ 'F0:81:73': 'Amazon',
697
+ 'FC:65:DE': 'Amazon',
698
+
699
+ // Philips (Hue)
700
+ '00:17:88': 'Philips',
701
+ 'EC:B5:FA': 'Philips',
702
+
703
+ // Sonos
704
+ '00:0E:58': 'Sonos',
705
+ '34:7E:5C': 'Sonos',
706
+ '48:A6:B8': 'Sonos',
707
+ '54:2A:1B': 'Sonos',
708
+ '5C:AA:FD': 'Sonos',
709
+ '78:28:CA': 'Sonos',
710
+ '94:9F:3E': 'Sonos',
711
+ 'B8:E9:37': 'Sonos',
712
+
713
+ // Nest
714
+ '18:B4:30': 'Nest',
715
+ '64:16:66': 'Nest',
716
+
717
+ // Ring
718
+ '0C:8C:24': 'Ring',
719
+ '34:3E:A4': 'Ring',
720
+
721
+ // TP-Link
722
+ '00:1D:0F': 'TP-Link',
723
+ '14:CC:20': 'TP-Link',
724
+ '14:CF:92': 'TP-Link',
725
+ '14:EB:B6': 'TP-Link',
726
+ '18:D6:C7': 'TP-Link',
727
+ '1C:3B:F3': 'TP-Link',
728
+ '30:B5:C2': 'TP-Link',
729
+ '50:3E:AA': 'TP-Link',
730
+ '50:C7:BF': 'TP-Link',
731
+ '54:C8:0F': 'TP-Link',
732
+ '5C:A6:E6': 'TP-Link',
733
+ '60:32:B1': 'TP-Link',
734
+ '60:E3:27': 'TP-Link',
735
+ '64:6E:97': 'TP-Link',
736
+ '64:70:02': 'TP-Link',
737
+ '70:4F:57': 'TP-Link',
738
+ '78:44:76': 'TP-Link',
739
+ '90:9A:4A': 'TP-Link',
740
+ '94:0C:6D': 'TP-Link',
741
+ '98:DA:C4': 'TP-Link',
742
+ 'A0:F3:C1': 'TP-Link',
743
+ 'AC:15:A2': 'TP-Link',
744
+ 'B0:4E:26': 'TP-Link',
745
+ 'B0:95:75': 'TP-Link',
746
+ 'B4:B0:24': 'TP-Link',
747
+ 'C0:4A:00': 'TP-Link',
748
+ 'C0:E4:2D': 'TP-Link',
749
+ 'C4:E9:84': 'TP-Link',
750
+ 'D8:07:B6': 'TP-Link',
751
+ 'D8:47:32': 'TP-Link',
752
+ 'E4:D3:32': 'TP-Link',
753
+ 'E8:94:F6': 'TP-Link',
754
+ 'EC:08:6B': 'TP-Link',
755
+ 'F4:F2:6D': 'TP-Link',
756
+
757
+ // Netgear
758
+ '00:09:5B': 'Netgear',
759
+ '00:0F:B5': 'Netgear',
760
+ '00:14:6C': 'Netgear',
761
+ '00:18:4D': 'Netgear',
762
+ '00:1B:2F': 'Netgear',
763
+ '00:1E:2A': 'Netgear',
764
+ '00:1F:33': 'Netgear',
765
+ '00:22:3F': 'Netgear',
766
+ '00:24:B2': 'Netgear',
767
+ '00:26:F2': 'Netgear',
768
+ '04:A1:51': 'Netgear',
769
+ '08:36:C9': 'Netgear',
770
+ '08:BD:43': 'Netgear',
771
+ '10:0C:6B': 'Netgear',
772
+ '10:0D:7F': 'Netgear',
773
+ '20:0C:C8': 'Netgear',
774
+ '28:80:88': 'Netgear',
775
+ '28:C6:8E': 'Netgear',
776
+ '2C:B0:5D': 'Netgear',
777
+ '30:46:9A': 'Netgear',
778
+ '44:94:FC': 'Netgear',
779
+ '4C:60:DE': 'Netgear',
780
+ '54:07:7D': 'Netgear',
781
+ '6C:B0:CE': 'Netgear',
782
+ '84:1B:5E': 'Netgear',
783
+ '8C:3B:AD': 'Netgear',
784
+ '9C:3D:CF': 'Netgear',
785
+ 'A0:04:60': 'Netgear',
786
+ 'A0:21:B7': 'Netgear',
787
+ 'A0:40:A0': 'Netgear',
788
+ 'A4:2B:8C': 'Netgear',
789
+ 'B0:7F:B9': 'Netgear',
790
+ 'B0:B9:8A': 'Netgear',
791
+ 'C0:3F:0E': 'Netgear',
792
+ 'C4:04:15': 'Netgear',
793
+ 'C4:3D:C7': 'Netgear',
794
+ 'CC:40:D0': 'Netgear',
795
+ 'D8:EB:46': 'Netgear',
796
+ 'DC:EF:09': 'Netgear',
797
+ 'E0:46:9A': 'Netgear',
798
+ 'E0:91:F5': 'Netgear',
799
+ 'E4:F4:C6': 'Netgear',
800
+ 'E8:FC:AF': 'Netgear',
801
+ 'F8:73:94': 'Netgear',
802
+
803
+ // Linksys
804
+ '00:04:5A': 'Linksys',
805
+ '00:06:25': 'Linksys',
806
+ '00:0C:41': 'Linksys',
807
+ '00:0F:66': 'Linksys',
808
+ '00:12:17': 'Linksys',
809
+ '00:13:10': 'Linksys',
810
+ '00:14:BF': 'Linksys',
811
+ '00:16:B6': 'Linksys',
812
+ '00:18:39': 'Linksys',
813
+ '00:18:F8': 'Linksys',
814
+ '00:1A:70': 'Linksys',
815
+ '00:1C:10': 'Linksys',
816
+ '00:1D:7E': 'Linksys',
817
+ '00:1E:E5': 'Linksys',
818
+ '00:21:29': 'Linksys',
819
+ '00:22:6B': 'Linksys',
820
+ '00:23:69': 'Linksys',
821
+ '00:25:9C': 'Linksys',
822
+ '14:91:82': 'Linksys',
823
+ '20:AA:4B': 'Linksys',
824
+ '58:6D:8F': 'Linksys',
825
+ '68:7F:74': 'Linksys',
826
+ '98:FC:11': 'Linksys',
827
+ 'C0:C1:C0': 'Linksys',
828
+ 'E8:9F:80': 'Linksys',
829
+
830
+ // ASUS
831
+ '00:0C:6E': 'ASUS',
832
+ '00:0E:A6': 'ASUS',
833
+ '00:11:2F': 'ASUS',
834
+ '00:11:D8': 'ASUS',
835
+ '00:13:D4': 'ASUS',
836
+ '00:15:F2': 'ASUS',
837
+ '00:17:31': 'ASUS',
838
+ '00:18:F3': 'ASUS',
839
+ '00:1A:92': 'ASUS',
840
+ '00:1D:60': 'ASUS',
841
+ '00:1E:8C': 'ASUS',
842
+ '00:1F:C6': 'ASUS',
843
+ '00:22:15': 'ASUS',
844
+ '00:23:54': 'ASUS',
845
+ '00:24:8C': 'ASUS',
846
+ '00:25:22': 'ASUS',
847
+ '00:26:18': 'ASUS',
848
+ '04:92:26': 'ASUS',
849
+ '08:60:6E': 'ASUS',
850
+ '10:7B:44': 'ASUS',
851
+ '10:BF:48': 'ASUS',
852
+ '10:C3:7B': 'ASUS',
853
+ '14:DA:E9': 'ASUS',
854
+ '1C:87:2C': 'ASUS',
855
+ '1C:B7:2C': 'ASUS',
856
+ '20:CF:30': 'ASUS',
857
+ '2C:4D:54': 'ASUS',
858
+ '2C:56:DC': 'ASUS',
859
+ '2C:FD:A1': 'ASUS',
860
+ '30:85:A9': 'ASUS',
861
+ '30:B5:C2': 'ASUS',
862
+ '34:97:F6': 'ASUS',
863
+ '38:2C:4A': 'ASUS',
864
+ '38:D5:47': 'ASUS',
865
+ '3C:97:0E': 'ASUS',
866
+ '40:16:7E': 'ASUS',
867
+ '44:D9:E7': 'ASUS',
868
+ '48:5B:39': 'ASUS',
869
+ '4C:ED:FB': 'ASUS',
870
+ '50:46:5D': 'ASUS',
871
+ '54:04:A6': 'ASUS',
872
+ '54:A0:50': 'ASUS',
873
+ '60:45:CB': 'ASUS',
874
+ '60:A4:4C': 'ASUS',
875
+ '6C:B3:11': 'ASUS',
876
+ '70:8B:CD': 'ASUS',
877
+ '74:D0:2B': 'ASUS',
878
+ '78:24:AF': 'ASUS',
879
+ '88:D7:F6': 'ASUS',
880
+ '90:E6:BA': 'ASUS',
881
+ '94:DE:80': 'ASUS',
882
+ 'AC:9E:17': 'ASUS',
883
+ 'B0:6E:BF': 'ASUS',
884
+ 'BC:AE:C5': 'ASUS',
885
+ 'BC:EE:7B': 'ASUS',
886
+ 'C8:60:00': 'ASUS',
887
+ 'D4:5D:64': 'ASUS',
888
+ 'D8:50:E6': 'ASUS',
889
+ 'E0:3F:49': 'ASUS',
890
+ 'E0:CB:4E': 'ASUS',
891
+ 'F0:79:59': 'ASUS',
892
+ 'F4:6D:04': 'ASUS',
893
+ 'F8:32:E4': 'ASUS',
894
+
895
+ // Cisco
896
+ '00:00:0C': 'Cisco',
897
+ '00:01:42': 'Cisco',
898
+ '00:01:43': 'Cisco',
899
+ '00:01:63': 'Cisco',
900
+ '00:01:64': 'Cisco',
901
+ '00:01:96': 'Cisco',
902
+ '00:01:97': 'Cisco',
903
+ '00:01:C7': 'Cisco',
904
+ '00:01:C9': 'Cisco',
905
+ '00:02:16': 'Cisco',
906
+ '00:02:17': 'Cisco',
907
+ '00:02:3D': 'Cisco',
908
+ '00:02:4A': 'Cisco',
909
+ '00:02:4B': 'Cisco',
910
+ '00:02:7D': 'Cisco',
911
+ '00:02:7E': 'Cisco',
912
+ '00:02:B9': 'Cisco',
913
+ '00:02:BA': 'Cisco',
914
+ '00:02:FC': 'Cisco',
915
+ '00:02:FD': 'Cisco',
916
+
917
+ // Intel
918
+ '00:02:B3': 'Intel',
919
+ '00:03:47': 'Intel',
920
+ '00:04:23': 'Intel',
921
+ '00:07:E9': 'Intel',
922
+ '00:0C:F1': 'Intel',
923
+ '00:0E:0C': 'Intel',
924
+ '00:0E:35': 'Intel',
925
+ '00:11:11': 'Intel',
926
+ '00:12:F0': 'Intel',
927
+ '00:13:02': 'Intel',
928
+ '00:13:20': 'Intel',
929
+ '00:13:CE': 'Intel',
930
+ '00:13:E8': 'Intel',
931
+ '00:15:00': 'Intel',
932
+ '00:15:17': 'Intel',
933
+ '00:16:6F': 'Intel',
934
+ '00:16:76': 'Intel',
935
+ '00:16:EA': 'Intel',
936
+ '00:16:EB': 'Intel',
937
+ '00:17:35': 'Intel',
938
+ '00:18:DE': 'Intel',
939
+ '00:19:D1': 'Intel',
940
+ '00:19:D2': 'Intel',
941
+ '00:1B:21': 'Intel',
942
+ '00:1B:77': 'Intel',
943
+ '00:1C:BF': 'Intel',
944
+ '00:1C:C0': 'Intel',
945
+ '00:1D:E0': 'Intel',
946
+ '00:1D:E1': 'Intel',
947
+ '00:1E:64': 'Intel',
948
+ '00:1E:65': 'Intel',
949
+ '00:1E:67': 'Intel',
950
+ '00:1F:3B': 'Intel',
951
+ '00:1F:3C': 'Intel',
952
+ '00:20:E0': 'Intel',
953
+ '00:21:5C': 'Intel',
954
+ '00:21:5D': 'Intel',
955
+ '00:21:6A': 'Intel',
956
+ '00:21:6B': 'Intel',
957
+ '00:22:FA': 'Intel',
958
+ '00:22:FB': 'Intel',
959
+ '00:23:14': 'Intel',
960
+ '00:23:15': 'Intel',
961
+ '00:24:D6': 'Intel',
962
+ '00:24:D7': 'Intel',
963
+ '00:26:C6': 'Intel',
964
+ '00:26:C7': 'Intel',
965
+ '00:27:10': 'Intel',
966
+
967
+ // Microsoft
968
+ '00:03:FF': 'Microsoft',
969
+ '00:0D:3A': 'Microsoft',
970
+ '00:12:5A': 'Microsoft',
971
+ '00:15:5D': 'Microsoft',
972
+ '00:17:FA': 'Microsoft',
973
+ '00:1D:D8': 'Microsoft',
974
+ '00:22:48': 'Microsoft',
975
+ '00:25:AE': 'Microsoft',
976
+ '00:50:F2': 'Microsoft',
977
+ '28:18:78': 'Microsoft',
978
+ '30:59:B7': 'Microsoft',
979
+ '48:50:73': 'Microsoft',
980
+ '50:1A:C5': 'Microsoft',
981
+ '58:82:A8': 'Microsoft',
982
+ '60:45:BD': 'Microsoft',
983
+ '7C:1E:52': 'Microsoft',
984
+ '7C:ED:8D': 'Microsoft',
985
+ '98:5F:D3': 'Microsoft',
986
+ 'B8:31:B5': 'Microsoft',
987
+ 'C8:3F:26': 'Microsoft',
988
+ 'DC:B4:C4': 'Microsoft',
989
+
990
+ // Dell
991
+ '00:06:5B': 'Dell',
992
+ '00:08:74': 'Dell',
993
+ '00:0B:DB': 'Dell',
994
+ '00:0D:56': 'Dell',
995
+ '00:0F:1F': 'Dell',
996
+ '00:11:43': 'Dell',
997
+ '00:12:3F': 'Dell',
998
+ '00:13:72': 'Dell',
999
+ '00:14:22': 'Dell',
1000
+ '00:15:C5': 'Dell',
1001
+ '00:16:F0': 'Dell',
1002
+ '00:18:8B': 'Dell',
1003
+ '00:19:B9': 'Dell',
1004
+ '00:1A:A0': 'Dell',
1005
+ '00:1C:23': 'Dell',
1006
+ '00:1D:09': 'Dell',
1007
+ '00:1E:4F': 'Dell',
1008
+ '00:1E:C9': 'Dell',
1009
+ '00:1F:5B': 'Dell',
1010
+ '00:21:70': 'Dell',
1011
+ '00:21:9B': 'Dell',
1012
+ '00:22:19': 'Dell',
1013
+ '00:23:AE': 'Dell',
1014
+ '00:24:E8': 'Dell',
1015
+ '00:25:64': 'Dell',
1016
+ '00:26:B9': 'Dell',
1017
+ '10:98:36': 'Dell',
1018
+ '14:18:77': 'Dell',
1019
+ '14:9E:CF': 'Dell',
1020
+ '14:FE:B5': 'Dell',
1021
+ '18:03:73': 'Dell',
1022
+ '18:66:DA': 'Dell',
1023
+ '18:A9:9B': 'Dell',
1024
+ '18:DB:F2': 'Dell',
1025
+ '18:FB:7B': 'Dell',
1026
+ '1C:40:24': 'Dell',
1027
+ '20:47:47': 'Dell',
1028
+ '24:6E:96': 'Dell',
1029
+ '24:B6:FD': 'Dell',
1030
+ '28:F1:0E': 'Dell',
1031
+ '34:17:EB': 'Dell',
1032
+ '34:E6:D7': 'Dell',
1033
+
1034
+ // HP
1035
+ '00:01:E6': 'HP',
1036
+ '00:01:E7': 'HP',
1037
+ '00:02:A5': 'HP',
1038
+ '00:04:EA': 'HP',
1039
+ '00:06:0D': 'HP',
1040
+ '00:08:02': 'HP',
1041
+ '00:08:83': 'HP',
1042
+ '00:0A:57': 'HP',
1043
+ '00:0B:CD': 'HP',
1044
+ '00:0D:9D': 'HP',
1045
+ '00:0E:7F': 'HP',
1046
+ '00:0F:20': 'HP',
1047
+ '00:0F:61': 'HP',
1048
+ '00:10:83': 'HP',
1049
+ '00:10:E3': 'HP',
1050
+ '00:11:0A': 'HP',
1051
+ '00:11:85': 'HP',
1052
+ '00:12:79': 'HP',
1053
+ '00:13:21': 'HP',
1054
+ '00:14:38': 'HP',
1055
+ '00:14:C2': 'HP',
1056
+ '00:15:60': 'HP',
1057
+ '00:16:35': 'HP',
1058
+ '00:17:08': 'HP',
1059
+ '00:17:A4': 'HP',
1060
+ '00:18:71': 'HP',
1061
+ '00:18:FE': 'HP',
1062
+ '00:19:BB': 'HP',
1063
+ '00:1A:4B': 'HP',
1064
+ '00:1B:78': 'HP',
1065
+ '00:1C:2E': 'HP',
1066
+ '00:1C:C4': 'HP',
1067
+ '00:1D:31': 'HP',
1068
+ '00:1D:B3': 'HP',
1069
+ '00:1E:0B': 'HP',
1070
+ '00:1F:29': 'HP',
1071
+ '00:1F:FE': 'HP',
1072
+ '00:21:5A': 'HP',
1073
+ '00:22:64': 'HP',
1074
+ '00:23:7D': 'HP',
1075
+ '00:24:81': 'HP',
1076
+ '00:25:B3': 'HP',
1077
+ '00:26:55': 'HP',
1078
+ '00:26:F1': 'HP',
1079
+
1080
+ // Lenovo
1081
+ '00:06:1B': 'Lenovo',
1082
+ '00:09:2D': 'Lenovo',
1083
+ '00:0A:E4': 'Lenovo',
1084
+ '00:0E:C4': 'Lenovo',
1085
+ '00:10:C6': 'Lenovo',
1086
+ '00:12:FE': 'Lenovo',
1087
+ '00:14:D1': 'Lenovo',
1088
+ '00:16:D4': 'Lenovo',
1089
+ '00:1A:6B': 'Lenovo',
1090
+ '00:1C:25': 'Lenovo',
1091
+ '00:1E:37': 'Lenovo',
1092
+ '00:1F:16': 'Lenovo',
1093
+ '00:20:E0': 'Lenovo',
1094
+ '00:21:86': 'Lenovo',
1095
+ '00:22:67': 'Lenovo',
1096
+ '00:23:3D': 'Lenovo',
1097
+ '00:23:7D': 'Lenovo',
1098
+ '00:24:23': 'Lenovo',
1099
+ '00:24:7E': 'Lenovo',
1100
+ '00:25:00': 'Lenovo',
1101
+ '00:26:2D': 'Lenovo',
1102
+ '08:9E:01': 'Lenovo',
1103
+ '0C:9D:92': 'Lenovo',
1104
+ '14:1F:78': 'Lenovo',
1105
+ '18:46:17': 'Lenovo',
1106
+ '20:16:D8': 'Lenovo',
1107
+ '28:D2:44': 'Lenovo',
1108
+ '34:E6:AD': 'Lenovo',
1109
+ '40:DF:02': 'Lenovo',
1110
+ '44:39:C4': 'Lenovo',
1111
+ '50:7B:9D': 'Lenovo',
1112
+ '54:EE:75': 'Lenovo',
1113
+ '58:20:59': 'Lenovo',
1114
+ '5C:80:B6': 'Lenovo',
1115
+ '60:D8:19': 'Lenovo',
1116
+ '68:F7:28': 'Lenovo',
1117
+ '6C:72:20': 'Lenovo',
1118
+ '70:F1:A1': 'Lenovo',
1119
+ '7C:7A:91': 'Lenovo',
1120
+ '8C:EC:4B': 'Lenovo',
1121
+ '98:FA:9B': 'Lenovo',
1122
+ 'C8:F7:50': 'Lenovo',
1123
+ 'E8:2A:EA': 'Lenovo',
1124
+ 'F0:DE:F1': 'Lenovo',
1125
+
1126
+ // LG
1127
+ '00:1C:62': 'LG',
1128
+ '00:1E:75': 'LG',
1129
+ '00:1F:6B': 'LG',
1130
+ '00:1F:E2': 'LG',
1131
+ '00:22:A9': 'LG',
1132
+ '00:24:83': 'LG',
1133
+ '00:26:E2': 'LG',
1134
+ '00:AA:70': 'LG',
1135
+ '08:D4:2B': 'LG',
1136
+ '10:68:3F': 'LG',
1137
+ '14:C9:13': 'LG',
1138
+ '20:21:A5': 'LG',
1139
+ '28:CF:E9': 'LG',
1140
+ '30:19:66': 'LG',
1141
+ '30:8C:FB': 'LG',
1142
+ '34:4D:F7': 'LG',
1143
+ '38:8C:50': 'LG',
1144
+ '3C:BD:D8': 'LG',
1145
+ '40:B0:FA': 'LG',
1146
+ '48:59:29': 'LG',
1147
+ '4C:BC:A5': 'LG',
1148
+ '50:55:27': 'LG',
1149
+ '58:3F:54': 'LG',
1150
+ '5C:70:A3': 'LG',
1151
+ '60:E3:AC': 'LG',
1152
+ '64:99:5C': 'LG',
1153
+ '6C:5C:14': 'LG',
1154
+ '78:00:9E': 'LG',
1155
+ '78:5D:C8': 'LG',
1156
+ '88:C9:D0': 'LG',
1157
+ 'A0:39:EE': 'LG',
1158
+ 'A8:16:B2': 'LG',
1159
+ 'A8:23:FE': 'LG',
1160
+ 'AC:0D:FE': 'LG',
1161
+ 'B4:E6:2A': 'LG',
1162
+ 'BC:F5:AC': 'LG',
1163
+ 'C4:36:6C': 'LG',
1164
+ 'CC:FA:00': 'LG',
1165
+ 'D0:13:FD': 'LG',
1166
+ 'D8:FB:5E': 'LG',
1167
+ 'E8:5B:5B': 'LG',
1168
+ 'EC:F4:51': 'LG',
1169
+ 'F8:0C:F3': 'LG',
1170
+ 'FC:F1:36': 'LG',
1171
+
1172
+ // Sony
1173
+ '00:01:4A': 'Sony',
1174
+ '00:04:1F': 'Sony',
1175
+ '00:0A:D9': 'Sony',
1176
+ '00:0B:0D': 'Sony',
1177
+ '00:0D:FA': 'Sony',
1178
+ '00:0E:07': 'Sony',
1179
+ '00:0F:DE': 'Sony',
1180
+ '00:12:EE': 'Sony',
1181
+ '00:13:A9': 'Sony',
1182
+ '00:15:C1': 'Sony',
1183
+ '00:16:20': 'Sony',
1184
+ '00:18:13': 'Sony',
1185
+ '00:19:63': 'Sony',
1186
+ '00:1A:80': 'Sony',
1187
+ '00:1D:28': 'Sony',
1188
+ '00:1D:BA': 'Sony',
1189
+ '00:1E:A4': 'Sony',
1190
+ '00:1F:E4': 'Sony',
1191
+ '00:21:4F': 'Sony',
1192
+ '00:22:98': 'Sony',
1193
+ '00:23:45': 'Sony',
1194
+ '00:24:BE': 'Sony',
1195
+ '00:25:E7': 'Sony',
1196
+ '00:26:43': 'Sony',
1197
+
1198
+ // Roku
1199
+ '00:0D:4B': 'Roku',
1200
+ '08:05:81': 'Roku',
1201
+ '10:59:32': 'Roku',
1202
+ '20:EF:BD': 'Roku',
1203
+ '2C:E9:79': 'Roku',
1204
+ '3C:C0:C6': 'Roku',
1205
+ '58:FC:DB': 'Roku',
1206
+ '84:EA:ED': 'Roku',
1207
+ '88:DE:A9': 'Roku',
1208
+ 'AC:3A:7A': 'Roku',
1209
+ 'B0:A7:37': 'Roku',
1210
+ 'B8:3E:59': 'Roku',
1211
+ 'C8:3A:6B': 'Roku',
1212
+ 'D0:4D:2C': 'Roku',
1213
+ 'DC:3A:5E': 'Roku',
1214
+
1215
+ // Ubiquiti
1216
+ '00:15:6D': 'Ubiquiti',
1217
+ '00:27:22': 'Ubiquiti',
1218
+ '04:18:D6': 'Ubiquiti',
1219
+ '18:E8:29': 'Ubiquiti',
1220
+ '24:5A:4C': 'Ubiquiti',
1221
+ '44:D9:E7': 'Ubiquiti',
1222
+ '68:D7:9A': 'Ubiquiti',
1223
+ '74:83:C2': 'Ubiquiti',
1224
+ '78:8A:20': 'Ubiquiti',
1225
+ '80:2A:A8': 'Ubiquiti',
1226
+ 'AC:8B:A9': 'Ubiquiti',
1227
+ 'B4:FB:E4': 'Ubiquiti',
1228
+ 'DC:9F:DB': 'Ubiquiti',
1229
+ 'E0:63:DA': 'Ubiquiti',
1230
+ 'F0:9F:C2': 'Ubiquiti',
1231
+ 'FC:EC:DA': 'Ubiquiti',
1232
+
1233
+ // Raspberry Pi
1234
+ '28:CD:C1': 'Raspberry Pi',
1235
+ 'B8:27:EB': 'Raspberry Pi',
1236
+ 'DC:A6:32': 'Raspberry Pi',
1237
+ 'E4:5F:01': 'Raspberry Pi',
1238
+
1239
+ // Nintendo
1240
+ '00:09:BF': 'Nintendo',
1241
+ '00:16:56': 'Nintendo',
1242
+ '00:17:AB': 'Nintendo',
1243
+ '00:19:1D': 'Nintendo',
1244
+ '00:19:FD': 'Nintendo',
1245
+ '00:1A:E9': 'Nintendo',
1246
+ '00:1B:7A': 'Nintendo',
1247
+ '00:1B:EA': 'Nintendo',
1248
+ '00:1C:BE': 'Nintendo',
1249
+ '00:1D:BC': 'Nintendo',
1250
+ '00:1E:35': 'Nintendo',
1251
+ '00:1E:A9': 'Nintendo',
1252
+ '00:1F:32': 'Nintendo',
1253
+ '00:1F:C5': 'Nintendo',
1254
+ '00:21:47': 'Nintendo',
1255
+ '00:21:BD': 'Nintendo',
1256
+ '00:22:4C': 'Nintendo',
1257
+ '00:22:AA': 'Nintendo',
1258
+ '00:23:31': 'Nintendo',
1259
+ '00:23:CC': 'Nintendo',
1260
+ '00:24:1E': 'Nintendo',
1261
+ '00:24:44': 'Nintendo',
1262
+ '00:24:F3': 'Nintendo',
1263
+ '00:25:A0': 'Nintendo',
1264
+ '00:26:59': 'Nintendo',
1265
+ '00:27:09': 'Nintendo',
1266
+ '04:03:D6': 'Nintendo',
1267
+ '2C:10:C1': 'Nintendo',
1268
+ '34:AF:2C': 'Nintendo',
1269
+ '40:D2:8A': 'Nintendo',
1270
+ '58:2F:40': 'Nintendo',
1271
+ '58:BD:A3': 'Nintendo',
1272
+ '5C:52:1E': 'Nintendo',
1273
+ '64:B5:C6': 'Nintendo',
1274
+ '78:A2:A0': 'Nintendo',
1275
+ '7C:BB:8A': 'Nintendo',
1276
+ '8C:56:C5': 'Nintendo',
1277
+ '98:41:5C': 'Nintendo',
1278
+ '98:B6:E9': 'Nintendo',
1279
+ 'A4:38:CC': 'Nintendo',
1280
+ 'A4:5C:27': 'Nintendo',
1281
+ 'A4:C0:E1': 'Nintendo',
1282
+ 'B8:8A:EC': 'Nintendo',
1283
+ 'CC:FB:65': 'Nintendo',
1284
+ 'D8:6B:F7': 'Nintendo',
1285
+ 'DC:68:EB': 'Nintendo',
1286
+ 'E0:0C:7F': 'Nintendo',
1287
+ 'E0:E7:51': 'Nintendo',
1288
+ 'E8:4E:CE': 'Nintendo',
1289
+
1290
+ // Huawei
1291
+ '00:18:82': 'Huawei',
1292
+ '00:1E:10': 'Huawei',
1293
+ '00:25:68': 'Huawei',
1294
+ '00:25:9E': 'Huawei',
1295
+ '00:46:4B': 'Huawei',
1296
+ '00:E0:FC': 'Huawei',
1297
+ '04:BD:70': 'Huawei',
1298
+ '04:C0:6F': 'Huawei',
1299
+ '04:F9:38': 'Huawei',
1300
+ '08:19:A6': 'Huawei',
1301
+ '08:63:61': 'Huawei',
1302
+ '08:7A:4C': 'Huawei',
1303
+ '0C:37:DC': 'Huawei',
1304
+ '0C:96:BF': 'Huawei',
1305
+ '10:1B:54': 'Huawei',
1306
+ '10:44:00': 'Huawei',
1307
+ '10:47:80': 'Huawei',
1308
+ '10:C6:1F': 'Huawei',
1309
+ '14:30:04': 'Huawei',
1310
+ '14:A5:1A': 'Huawei',
1311
+ '18:C5:8A': 'Huawei',
1312
+ '1C:1D:67': 'Huawei',
1313
+ '1C:8E:5C': 'Huawei',
1314
+ '20:08:ED': 'Huawei',
1315
+ '20:0B:C7': 'Huawei',
1316
+ '20:2B:C1': 'Huawei',
1317
+ '20:F1:7C': 'Huawei',
1318
+ '24:09:95': 'Huawei',
1319
+ '24:1F:A0': 'Huawei',
1320
+ '24:4C:07': 'Huawei',
1321
+ '28:3C:E4': 'Huawei',
1322
+ '28:5F:DB': 'Huawei',
1323
+ '28:6E:D4': 'Huawei',
1324
+ '2C:AB:00': 'Huawei',
1325
+ '2C:CF:58': 'Huawei',
1326
+ '30:D1:7E': 'Huawei',
1327
+ '30:F3:35': 'Huawei',
1328
+
1329
+ // Xiaomi
1330
+ '00:9E:C8': 'Xiaomi',
1331
+ '04:CF:8C': 'Xiaomi',
1332
+ '0C:1D:AF': 'Xiaomi',
1333
+ '10:2A:B3': 'Xiaomi',
1334
+ '14:F6:5A': 'Xiaomi',
1335
+ '18:59:36': 'Xiaomi',
1336
+ '20:34:FB': 'Xiaomi',
1337
+ '28:6C:07': 'Xiaomi',
1338
+ '28:E3:1F': 'Xiaomi',
1339
+ '2C:DC:AD': 'Xiaomi',
1340
+ '34:80:B3': 'Xiaomi',
1341
+ '3C:BD:3E': 'Xiaomi',
1342
+ '40:31:3C': 'Xiaomi',
1343
+ '44:23:7C': 'Xiaomi',
1344
+ '4C:49:E3': 'Xiaomi',
1345
+ '50:8F:4C': 'Xiaomi',
1346
+ '58:44:98': 'Xiaomi',
1347
+ '5C:C3:07': 'Xiaomi',
1348
+ '64:09:80': 'Xiaomi',
1349
+ '64:B4:73': 'Xiaomi',
1350
+ '68:DF:DD': 'Xiaomi',
1351
+ '6C:5C:B1': 'Xiaomi',
1352
+ '74:23:44': 'Xiaomi',
1353
+ '74:51:BA': 'Xiaomi',
1354
+ '78:02:F8': 'Xiaomi',
1355
+ '7C:1C:4E': 'Xiaomi',
1356
+ '84:A9:38': 'Xiaomi',
1357
+ '88:C3:97': 'Xiaomi',
1358
+ '8C:DE:F9': 'Xiaomi',
1359
+ '98:FA:E3': 'Xiaomi',
1360
+ '9C:99:A0': 'Xiaomi',
1361
+ 'A4:77:58': 'Xiaomi',
1362
+ 'AC:C1:EE': 'Xiaomi',
1363
+ 'B0:E2:35': 'Xiaomi',
1364
+ 'C4:0B:CB': 'Xiaomi',
1365
+ 'C8:02:8F': 'Xiaomi',
1366
+ 'D4:97:0B': 'Xiaomi',
1367
+ 'E8:AB:F3': 'Xiaomi',
1368
+ 'F0:B4:29': 'Xiaomi',
1369
+ 'F4:F5:DB': 'Xiaomi',
1370
+ 'FC:64:BA': 'Xiaomi',
1371
+
1372
+ // Sagemcom (ISP routers)
1373
+ 'F0:81:75': 'Sagemcom',
1374
+ '40:65:A3': 'Sagemcom',
1375
+ '10:56:11': 'Sagemcom',
1376
+ '00:1E:5A': 'Sagemcom',
1377
+ '00:23:87': 'Sagemcom',
1378
+ '00:1F:9F': 'Sagemcom',
1379
+ '38:35:FB': 'Sagemcom',
1380
+ '80:20:DA': 'Sagemcom',
1381
+ '90:4D:4A': 'Sagemcom',
1382
+ 'A4:4E:31': 'Sagemcom',
1383
+ 'C8:0E:77': 'Sagemcom',
1384
+ 'D4:35:1D': 'Sagemcom',
1385
+ 'E8:BE:81': 'Sagemcom',
1386
+ 'F8:8E:85': 'Sagemcom',
1387
+
1388
+ // Arris (Cable modems)
1389
+ '00:00:CA': 'Arris',
1390
+ '00:1D:CE': 'Arris',
1391
+ '00:1D:CF': 'Arris',
1392
+ '00:1D:D0': 'Arris',
1393
+ '00:1D:D1': 'Arris',
1394
+ '00:1D:D2': 'Arris',
1395
+ '04:E5:98': 'Arris',
1396
+ '08:00:28': 'Arris',
1397
+ '08:3E:0C': 'Arris',
1398
+ '10:86:8C': 'Arris',
1399
+ '14:AB:F0': 'Arris',
1400
+ '14:CF:E2': 'Arris',
1401
+ '18:1B:EB': 'Arris',
1402
+ '18:35:D1': 'Arris',
1403
+ '1C:1B:0D': 'Arris',
1404
+ '20:3D:66': 'Arris',
1405
+ '20:E5:64': 'Arris',
1406
+ '24:DE:C6': 'Arris',
1407
+ '30:60:23': 'Arris',
1408
+ '38:70:0C': 'Arris',
1409
+ '44:E1:37': 'Arris',
1410
+ '50:39:55': 'Arris',
1411
+ '50:4A:5E': 'Arris',
1412
+ '58:8D:09': 'Arris',
1413
+ '5C:B0:66': 'Arris',
1414
+ '64:00:6A': 'Arris',
1415
+ '70:54:F5': 'Arris',
1416
+ '74:56:12': 'Arris',
1417
+ '78:96:84': 'Arris',
1418
+ '84:E0:58': 'Arris',
1419
+ '88:71:B1': 'Arris',
1420
+ '8C:7F:3B': 'Arris',
1421
+ '90:01:3B': 'Arris',
1422
+ 'A0:02:CB': 'Arris',
1423
+ 'A0:55:DE': 'Arris',
1424
+ 'A4:A2:4A': 'Arris',
1425
+ 'A8:4E:3F': 'Arris',
1426
+ 'B0:77:AC': 'Arris',
1427
+ 'BC:64:4B': 'Arris',
1428
+ 'C4:9A:02': 'Arris',
1429
+ 'C8:AA:21': 'Arris',
1430
+ 'D0:58:75': 'Arris',
1431
+ 'D4:05:98': 'Arris',
1432
+ 'E8:89:2C': 'Arris',
1433
+ 'F8:0B:BE': 'Arris',
1434
+ };
1435
+
1436
+ export function lookupVendor(mac: string): string {
1437
+ // Normalize MAC: uppercase, use colons, take first 3 octets
1438
+ const normalized = mac.toUpperCase().replace(/-/g, ':');
1439
+ const prefix = normalized.split(':').slice(0, 3).join(':');
1440
+
1441
+ return OUI_DATABASE[prefix] || 'Unknown';
1442
+ }