diff --git a/scripts/build_data.py b/scripts/build_data.py index 9600143..c660a0f 100755 --- a/scripts/build_data.py +++ b/scripts/build_data.py @@ -56,62 +56,114 @@ def create_innocuous_macs_db(db_path: str) -> None: "amazon-", "AmazonFireTV", 64, 26883, "Android"), ("streaming", "44:D5:F2", "Amazon", "Fire TV Cube", "amazon-", "AmazonFireTV", 64, 26883, "Android"), + ("streaming", "34:D2:70", "Amazon", "Fire TV Stick 4K Max", + "amazon-", "AmazonFireTV", 64, 26883, "Android"), ("streaming", "D8:31:34", "Roku", "Roku Ultra", "Roku-", "Roku/DVP-12.0", 64, 65535, "Linux"), ("streaming", "B0:A7:37", "Roku", "Roku Express", "Roku-", "Roku/DVP-10.0", 64, 65535, "Linux"), + ("streaming", "10:59:32", "Roku", "Roku Streaming Stick 4K", + "Roku-", "Roku/DVP-13.0", 64, 65535, "Linux"), + ("streaming", "CC:6D:A0", "Roku", "Roku Express 4K", + "Roku-", "Roku/DVP-11.0", 64, 65535, "Linux"), ("streaming", "54:60:09", "Google", "Chromecast", "Chromecast-", "Google", 64, 65535, "Linux"), ("streaming", "F4:F5:D8", "Google", "Chromecast with Google TV", "Chromecast-", "Google", 64, 65535, "Android"), + ("streaming", "48:D6:D5", "Google", "Chromecast with Google TV 4K", + "Chromecast-", "Google", 64, 65535, "Android"), ("streaming", "A4:83:E7", "Apple", "Apple TV 4K", "Apple-TV", "AAPLBK", 64, 65535, "tvOS"), ("streaming", "40:CB:C0", "Apple", "Apple TV HD", "Apple-TV", "AAPLBK", 64, 65535, "tvOS"), + ("streaming", "00:04:4B", "Nvidia", "Nvidia Shield TV Pro", + "SHIELD-", "NVIDIA", 64, 65535, "Android"), + ("streaming", "48:B0:2D", "Nvidia", "Nvidia Shield TV", + "SHIELD-", "NVIDIA", 64, 65535, "Android"), # ── Smart TVs ────────────────────────────────────────────────── ("smart_tv", "8C:79:F5", "Samsung", "Samsung Smart TV", "Samsung-TV", "Samsung", 128, 65535, "Tizen"), ("smart_tv", "BC:14:EF", "Samsung", "Samsung QLED TV", "Samsung-TV", "Samsung", 128, 65535, "Tizen"), + ("smart_tv", "F0:6E:0B", "Samsung", "Samsung Frame TV", + "Samsung-TV", "Samsung", 128, 65535, "Tizen"), ("smart_tv", "A8:23:FE", "LG", "LG webOS TV", "LG-TV", "LG", 64, 65535, "webOS"), ("smart_tv", "58:FD:B1", "LG", "LG OLED TV", "LG-TV", "LG", 64, 65535, "webOS"), + ("smart_tv", "38:8C:50", "LG", "LG NanoCell TV", + "LG-TV", "LG", 64, 65535, "webOS"), ("smart_tv", "D4:38:9C", "Vizio", "Vizio SmartCast TV", "VIZIO-TV", "Vizio", 64, 65535, "Linux"), ("smart_tv", "C0:79:82", "TCL", "TCL Roku TV", "TCL-TV", "Roku/DVP", 64, 65535, "Linux"), ("smart_tv", "C8:02:10", "Sony", "Sony Bravia Android TV", "Sony-TV", "Sony", 64, 65535, "Android"), + ("smart_tv", "04:95:E6", "Hisense", "Hisense Vidaa TV", + "Hisense-TV", "Hisense", 64, 65535, "Linux"), + ("smart_tv", "E4:B3:18", "Insignia", "Insignia Fire TV", + "amazon-", "AmazonFireTV", 64, 26883, "Android"), + ("smart_tv", "7C:2A:DB", "Philips", "Philips Android TV", + "Philips-TV", "Philips", 64, 65535, "Android"), + ("smart_tv", "E0:91:53", "Toshiba", "Toshiba Fire TV", + "amazon-", "AmazonFireTV", 64, 26883, "Android"), # ── Smart speakers / assistants ──────────────────────────────── ("smart_speaker", "48:A6:B8", "Sonos", "Sonos One", "Sonos-", "Sonos", 64, 65535, "Linux"), ("smart_speaker", "5C:AA:FD", "Sonos", "Sonos Beam", "Sonos-", "Sonos", 64, 65535, "Linux"), + ("smart_speaker", "78:28:CA", "Sonos", "Sonos Move", + "Sonos-", "Sonos", 64, 65535, "Linux"), + ("smart_speaker", "B8:E9:37", "Sonos", "Sonos Era 100", + "Sonos-", "Sonos", 64, 65535, "Linux"), ("smart_speaker", "30:FD:38", "Google", "Google Home Mini", "Google-Home-", "Google", 64, 65535, "Linux"), ("smart_speaker", "1C:F2:9A", "Google", "Google Nest Hub", "Google-Nest-", "Google", 64, 65535, "Linux"), + ("smart_speaker", "20:DF:B9", "Google", "Google Nest Mini", + "Google-Nest-", "Google", 64, 65535, "Linux"), + ("smart_speaker", "F8:0F:F9", "Google", "Google Nest Audio", + "Google-Nest-", "Google", 64, 65535, "Linux"), ("smart_speaker", "68:54:FD", "Amazon", "Echo Dot", "amazon-", "AmazonEcho", 64, 26883, "Android"), ("smart_speaker", "74:C2:46", "Amazon", "Echo Show", "amazon-", "AmazonEcho", 64, 26883, "Android"), + ("smart_speaker", "F0:81:73", "Amazon", "Echo Pop", + "amazon-", "AmazonEcho", 64, 26883, "Android"), + ("smart_speaker", "38:F7:3D", "Amazon", "Echo Studio", + "amazon-", "AmazonEcho", 64, 26883, "Android"), + ("smart_speaker", "AC:63:BE", "Apple", "HomePod Mini", + "HomePod-", "Apple", 64, 65535, "audioOS"), + ("smart_speaker", "28:6D:97", "Apple", "HomePod", + "HomePod-", "Apple", 64, 65535, "audioOS"), + ("smart_speaker", "30:21:3B", "Bose", "Bose SoundLink", + "Bose-", "Bose", 64, 65535, "Linux"), + ("smart_speaker", "04:52:C7", "Bose", "Bose Home Speaker 500", + "Bose-", "Bose", 64, 65535, "Linux"), # ── Smart home / IoT ────────────────────────────────────────── ("iot", "4C:EB:D6", "Amazon", "Ring Doorbell", "Ring-", "Amazon", 64, 65535, "Linux"), + ("iot", "6C:63:9C", "Amazon", "Ring Spotlight Cam", + "Ring-", "Amazon", 64, 65535, "Linux"), ("iot", "18:B4:30", "Nest", "Nest Thermostat", "Nest-", "Nest", 64, 65535, "Linux"), - ("iot", "18:B4:30", "Nest", "Nest Protect", + ("iot", "64:16:66", "Nest", "Nest Protect", + "Nest-", "Nest", 64, 65535, "Linux"), + ("iot", "18:B4:30", "Nest", "Nest Cam Indoor", "Nest-", "Nest", 64, 65535, "Linux"), ("iot", "00:17:88", "Philips", "Philips Hue Bridge", "Philips-hue", "Philips-hue", 64, 65535, "Linux"), ("iot", "D8:0D:17", "TP-Link", "TP-Link Kasa Smart Plug", "TP-Link-", "TP-Link", 64, 65535, "Linux"), + ("iot", "B0:95:75", "TP-Link", "TP-Link Tapo Camera", + "Tapo-", "TP-Link", 64, 65535, "Linux"), ("iot", "2C:AA:8E", "Wyze", "Wyze Cam v3", "Wyze-", "Wyze", 64, 65535, "Linux"), + ("iot", "A4:DA:22", "Wyze", "Wyze Cam Outdoor", + "Wyze-", "Wyze", 64, 65535, "Linux"), ("iot", "44:61:32", "Ecobee", "Ecobee Thermostat", "ecobee-", "ecobee", 64, 65535, "Linux"), ("iot", "50:14:79", "iRobot", "Roomba i7", @@ -124,12 +176,48 @@ def create_innocuous_macs_db(db_path: str) -> None: "raspberrypi", "RaspberryPi", 64, 29200, "Linux"), ("iot", "B8:27:EB", "Raspberry Pi", "IoT Controller", "raspberrypi", "RaspberryPi", 64, 29200, "Linux"), + ("iot", "2C:F4:32", "Raspberry Pi", "Raspberry Pi 5", + "raspberrypi", "RaspberryPi", 64, 29200, "Linux"), + ("iot", "98:CD:AC", "SimpliSafe", "SimpliSafe Hub", + "SimpliSafe-", "SimpliSafe", 64, 65535, "Linux"), + ("iot", "CC:DB:A7", "Arlo", "Arlo Pro 4", + "Arlo-", "Arlo", 64, 65535, "Linux"), + ("iot", "9C:21:6A", "TP-Link", "TP-Link Kasa Smart Switch", + "TP-Link-", "TP-Link", 64, 65535, "Linux"), + ("iot", "78:11:DC", "Xiaomi", "Xiaomi Mi Smart Sensor", + "Xiaomi-", "Xiaomi", 64, 65535, "Linux"), + ("iot", "04:CF:8C", "Xiaomi", "Xiaomi Roborock", + "Roborock-", "Xiaomi", 64, 65535, "Linux"), + ("iot", "50:C7:BF", "TP-Link", "TP-Link Kasa Cam", + "Kasa-", "TP-Link", 64, 65535, "Linux"), + ("iot", "B0:BE:76", "Eufy", "Eufy Doorbell", + "eufy-", "Anker", 64, 65535, "Linux"), + ("iot", "58:D5:6E", "Wemo", "Wemo Smart Plug", + "Wemo-", "Belkin", 64, 65535, "Linux"), + ("iot", "94:10:3E", "Belkin", "Belkin WeMo Switch", + "Wemo-", "Belkin", 64, 65535, "Linux"), + ("iot", "38:2B:78", "Chamberlain", "myQ Smart Garage", + "myQ-", "Chamberlain", 64, 65535, "Linux"), + ("iot", "00:1A:22", "Lutron", "Lutron Caseta Bridge", + "Lutron-", "Lutron", 64, 65535, "Linux"), + ("iot", "D0:73:D5", "Lifx", "Lifx Smart Bulb", + "LIFX-", "LIFX", 64, 65535, "Linux"), + ("iot", "7C:64:56", "Samsung", "SmartThings Hub", + "SmartThings-", "Samsung", 64, 65535, "Linux"), + ("iot", "68:DB:F5", "August", "August Smart Lock", + "August-", "August", 64, 65535, "Linux"), + ("iot", "B0:CE:18", "Honeywell", "Honeywell T6 Thermostat", + "Honeywell-", "Honeywell", 64, 65535, "Linux"), # ── Printers ────────────────────────────────────────────────── ("printer", "3C:D9:2B", "HP", "HP LaserJet Pro", "HP", "Hewlett-Packard", 128, 8192, "HP JetDirect"), ("printer", "C8:B5:B7", "HP", "HP OfficeJet Pro", "HP", "Hewlett-Packard", 128, 8192, "HP JetDirect"), + ("printer", "94:57:A5", "HP", "HP Color LaserJet", + "HP", "Hewlett-Packard", 128, 8192, "HP JetDirect"), + ("printer", "D0:BF:9C", "HP", "HP ENVY Pro", + "HP", "Hewlett-Packard", 128, 8192, "HP JetDirect"), ("printer", "30:05:5C", "Brother", "Brother HL-L2350DW", "BRN", "Brother", 128, 8192, "Brother"), ("printer", "00:80:77", "Brother", "Brother MFC-L2750DW", @@ -138,42 +226,112 @@ def create_innocuous_macs_db(db_path: str) -> None: "BRN", "Brother", 128, 8192, "Brother"), ("printer", "2C:F0:5D", "Epson", "Epson EcoTank ET-4760", "EPSON", "EPSON", 128, 8192, "Epson"), + ("printer", "00:26:AB", "Epson", "Epson WorkForce Pro", + "EPSON", "EPSON", 128, 8192, "Epson"), ("printer", "64:EB:8C", "Canon", "Canon PIXMA G6020", "Canon", "Canon", 128, 8192, "Canon"), + ("printer", "18:0C:AC", "Canon", "Canon imageCLASS", + "Canon", "Canon", 128, 8192, "Canon"), + ("printer", "00:C0:EE", "Kyocera", "Kyocera ECOSYS P2235dn", + "KYOCERA", "KYOCERA", 128, 8192, "Kyocera"), + ("printer", "00:21:B7", "Lexmark", "Lexmark MS431dn", + "Lexmark-", "Lexmark", 128, 8192, "Lexmark"), + ("printer", "00:00:74", "Ricoh", "Ricoh SP C261SFNw", + "Ricoh-", "RICOH", 128, 8192, "Ricoh"), + ("printer", "00:00:AA", "Xerox", "Xerox VersaLink C400", + "Xerox-", "XEROX", 128, 8192, "Xerox"), # ── Gaming consoles ─────────────────────────────────────────── ("gaming", "7C:ED:8D", "Microsoft", "Xbox Series X", "Xbox-", "Microsoft", 128, 65535, "Windows"), + ("gaming", "C8:3F:26", "Microsoft", "Xbox Series S", + "Xbox-", "Microsoft", 128, 65535, "Windows"), ("gaming", "00:D9:D1", "Sony", "PlayStation 5", "PS5-", "Sony", 64, 65535, "FreeBSD"), ("gaming", "98:B6:E9", "Sony", "PlayStation 4", "PS4-", "Sony", 64, 65535, "FreeBSD"), ("gaming", "7C:BB:8A", "Nintendo", "Nintendo Switch", "Nintendo-", "Nintendo", 64, 65535, "Nintendo"), + ("gaming", "58:2F:40", "Nintendo", "Nintendo Switch OLED", + "Nintendo-", "Nintendo", 64, 65535, "Nintendo"), + ("gaming", "34:AF:B3", "Valve", "Steam Deck", + "steamdeck-", "Valve", 64, 29200, "Linux"), # ── Phones / tablets ────────────────────────────────────────── ("phone", "A4:83:E7", "Apple", "iPhone 15 Pro", "iphone", "dhcpcd-6.x.x", 64, 65535, "iOS"), ("phone", "40:CB:C0", "Apple", "iPad Air", "ipad", "dhcpcd-6.x.x", 64, 65535, "iPadOS"), + ("phone", "3C:06:30", "Apple", "iPhone 14", + "iphone", "dhcpcd-6.x.x", 64, 65535, "iOS"), + ("phone", "48:A9:1C", "Apple", "iPhone 13", + "iphone", "dhcpcd-6.x.x", 64, 65535, "iOS"), ("tablet", "3C:28:6D", "Samsung", "Galaxy Tab S9", "Samsung-Tab", "dhcpcd-6.x.x", 64, 65535, "Android"), ("phone", "DC:1A:C5", "Samsung", "Galaxy S24", "Galaxy-S", "dhcpcd-6.x.x", 64, 65535, "Android"), + ("phone", "84:25:19", "Samsung", "Galaxy S23", + "Galaxy-S", "dhcpcd-6.x.x", 64, 65535, "Android"), + ("phone", "50:55:27", "Google", "Pixel 8 Pro", + "Pixel-", "dhcpcd-6.x.x", 64, 65535, "Android"), + ("phone", "94:B8:6D", "Google", "Pixel 7", + "Pixel-", "dhcpcd-6.x.x", 64, 65535, "Android"), + ("phone", "4C:4F:EE", "OnePlus", "OnePlus 12", + "OnePlus-", "dhcpcd-6.x.x", 64, 65535, "Android"), + ("phone", "9C:2E:A1", "Xiaomi", "Xiaomi 14", + "Xiaomi-", "dhcpcd-6.x.x", 64, 65535, "Android"), + ("tablet", "64:A2:F9", "Apple", "iPad Pro M2", + "ipad", "dhcpcd-6.x.x", 64, 65535, "iPadOS"), + + # ── Wearables ───────────────────────────────────────────────── + ("wearable", "38:EC:0D", "Apple", "Apple Watch Ultra", + "Apple-Watch", "Apple", 64, 65535, "watchOS"), + ("wearable", "44:00:49", "Apple", "Apple Watch SE", + "Apple-Watch", "Apple", 64, 65535, "watchOS"), + ("wearable", "C8:28:E5", "Fitbit", "Fitbit Sense 2", + "Fitbit-", "Fitbit", 64, 65535, "FitbitOS"), + ("wearable", "E0:E0:FC", "Garmin", "Garmin Venu 3", + "Garmin-", "Garmin", 64, 65535, "Linux"), + ("wearable", "CC:79:CF", "Samsung", "Galaxy Watch 6", + "Galaxy-Watch", "Samsung", 64, 65535, "Tizen"), # ── Network gear (hide as infrastructure) ───────────────────── - ("iot", "B4:FB:E4", "Ubiquiti", "UniFi AP", + ("network", "B4:FB:E4", "Ubiquiti", "UniFi AP", "UAP-", "Ubiquiti", 64, 65535, "Linux"), - ("iot", "78:8A:20", "Ubiquiti", "USG Gateway", + ("network", "78:8A:20", "Ubiquiti", "USG Gateway", "USG-", "Ubiquiti", 64, 65535, "Linux"), - ("iot", "14:CC:20", "TP-Link", "TP-Link Archer AX50", + ("network", "24:5A:4C", "Ubiquiti", "UniFi Switch", + "USW-", "Ubiquiti", 64, 65535, "Linux"), + ("network", "14:CC:20", "TP-Link", "TP-Link Archer AX50", "TL-", "TP-Link", 64, 65535, "Linux"), - ("iot", "AC:84:C6", "TP-Link", "TP-Link Deco M5", + ("network", "AC:84:C6", "TP-Link", "TP-Link Deco M5", "Deco-", "TP-Link", 64, 65535, "Linux"), - ("iot", "20:A6:CD", "Netgear", "Netgear Orbi", + ("network", "20:A6:CD", "Netgear", "Netgear Orbi", "Orbi-", "Netgear", 64, 65535, "Linux"), - ("iot", "C4:04:15", "Netgear", "Netgear Nighthawk", + ("network", "C4:04:15", "Netgear", "Netgear Nighthawk", "NETGEAR-", "Netgear", 64, 65535, "Linux"), + ("network", "60:38:E0", "Linksys", "Linksys Velop", + "Linksys-", "Linksys", 64, 65535, "Linux"), + ("network", "04:D4:C4", "ASUS", "ASUS RT-AX86U", + "ASUS-RT-", "ASUS", 64, 65535, "Linux"), + ("network", "F8:BB:BF", "eero", "eero Pro 6E", + "eero-", "eero", 64, 65535, "Linux"), + ("network", "68:D7:9A", "eero", "eero 6+", + "eero-", "eero", 64, 65535, "Linux"), + ("network", "74:DA:88", "TP-Link", "TP-Link Deco XE75", + "Deco-", "TP-Link", 64, 65535, "Linux"), + ("network", "AC:9E:17", "ASUS", "ASUS ZenWiFi", + "ASUS-", "ASUS", 64, 65535, "Linux"), + + # ── NAS / home servers ──────────────────────────────────────── + ("nas", "00:11:32", "Synology", "Synology DS920+", + "DiskStation-", "Synology", 64, 29200, "Linux"), + ("nas", "00:11:32", "Synology", "Synology DS423", + "DiskStation-", "Synology", 64, 29200, "Linux"), + ("nas", "24:5E:BE", "QNAP", "QNAP TS-464", + "QNAP-", "QNAP", 64, 29200, "Linux"), + ("nas", "00:08:9B", "QNAP", "QNAP TS-253E", + "QNAP-", "QNAP", 64, 29200, "Linux"), ] conn.executemany("""