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:
They are formatted like this:
00-03-93 (hex) Apple Computer, Inc. 000393 (base 16) Apple Computer, Inc. 20650 Valley Green Dr. Cupertino CA 95014 UNITED STATES
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
iab.txt. The Wireshark development team maintains a much more complete list:
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.