I want to incorporate into a piece of software the ability to look up a manufacturer based on a mac address. By googling "mac address lookup" and similar, I have noticed several websites that make this correlation which suggests this data source is available somewhere. Where can I find this data source that correlates a mac address (input) with a manufacturer (output)?
The first half (24 bits) of your mac-address is called an OUI (Organizationally Unique Identifier), and identifies the company. The list is available on ieee.org:
http://standards.ieee.org/develop/regauth/oui/oui.txt
They are formatted like this:
The gaps between sequential hex-numbers are probably Privately Registered OUI's. There is no open list for those, but I've never encountered a MAC-address in such ranges.
As @Bart De Vos says the IEEE maintains the canonical list of OUIs. Additionally there is an Individual Address Block (IAB) list at http://standards.ieee.org/develop/regauth/iab/iab.txt. However, entries can be privately registered which means that they will be omitted from
oui.txt
andiab.txt
. The Wireshark development team maintains a much more complete list:https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf
We pull entries from the IEEE's public OUI and IAB lists, individual contributors and any other source we can.
The Nmap team maintains a separate list at http://nmap.org/svn/nmap-mac-prefixes.
You might have better luck pulling this out via Hardware ID, which is a lot more specific, and harder to spoof
you should be able to get it via a simple WMI call to Win32_PnPSignedDriver
though unfortunately this would only work for Windows based machines.