MAC Address to Vendors

This is a simple python script that utilizes MAC to vendor API from macvendors.com to get the statistics of different devices connected to a network, especially on guest wifi networks.

The mac addresses are copied to a text file. The script reads each line from the text file at a time and submit the API requests to get corresponding vendor name.

root@myhost~# cat macfile.txt
c0bd-d151-b49b
a4d1-d2d5-d40a
98e7-f5e2-c706
c0cc-f870-c76a
7081-ebac-b6f5
d4f4-6fa7-afb0
0402-1f02-0431
d0fc-cc5b-74f8
e8b4-c833-faf6

The python script uses request library for processing http requests. No registration or API key is required for up to 1,000 requests per day at 1 request per second. In this example I have added 1 second delay in the script after each request. For higher limits, please checkout their various plans.

MAC addresses can be in any of the following formats.

  • 00-11-22-33-44-55
  • 00:11:22:33:44:55
  • 00.11.22.33.44.55
  • 001122334455
  • 0011.2233.4455

File getmac.py

#!/usr/bin/python
import requests
import sys
import time

URL= 'https://api.macvendors.com/'

def main():
        session = requests.Session()
        myfile = open("macfile.txt","r")
        data = ""
        lines = myfile.readlines()
        for line in lines:
                #print (line)
                response = session.get(URL+line,headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'})
                print "MAC:" +line.replace('\n', '') +" :" + (response.text)
                time.sleep(1)

if __name__ == '__main__':# main method
   main()

You can execute the script as follows

root@myhost ~# python getmac.py
MAC:c0bd-d151-b49b :SAMSUNG ELECTRO-MECHANICS(THAILAND)
MAC:a4d1-d2d5-d40a :Apple, Inc.
MAC:98e7-f5e2-c706 :HUAWEI TECHNOLOGIES CO.,LTD
MAC:c0cc-f870-c76a :Apple, Inc.
MAC:7081-ebac-b6f5 :Apple, Inc.
MAC:d4f4-6fa7-afb0 :Apple, Inc.
MAC:0402-1f02-0431 :HUAWEI TECHNOLOGIES CO.,LTD
MAC:d0fc-cc5b-74f8 :Samsung Electronics Co.,Ltd
MAC:e8b4-c833-faf6 :Samsung Electronics Co.,Ltd
MAC:5cf7-e6dd-fd79 :Apple, Inc.
MAC:90b0-edb5-f9b2 :Apple, Inc.
MAC:8cf5-a3e0-d8bf :SAMSUNG ELECTRO-MECHANICS(THAILAND)