UNPKG

arpping

Version:

Discover and search for internet-connected devices (locally) using ping and arp

51 lines (48 loc) 951 B
const addresses: { [key: string]: string[] } = { "Apple": [ "2:f:b5", "1c:36:bb", "8c:85:90", "8:66:98", "dc:2b:2a", "34:8:bc", "e0:ac:cb", "dc:a9:04", "dc:a9:4" ], "RaspberryPi": [ "b8:27:eb" ], "ParticlePhoton": [ "e0:4f:43" ], "Sonos": [ "94:9f:3e", "78:28:ca" ], "Netgear": [ "a0:40:a0" ], "Roku": [ "20:f5:43" ] } const stringAddresses = JSON.stringify(addresses); /** * Cross references provided mac address with lookup table (incomplete) * @param {String} mac * @param {String} type * * @returns {String} */ export default function macLookup(mac: string, type?: string | undefined) { const leading = mac.split(':').slice(0, 3).join(':'); if (type && addresses[ type ]) { if (addresses[ type ].includes(leading)) return type; } if (!stringAddresses.includes(leading)) return null; for (const vendor in addresses) { if (addresses[ vendor ].includes(leading)) return vendor; } return null; }