Here's a little script that can tell you the producer assigned to a (globally unique) MAC address according to the officially designated allocations. With this you will be able to quantify the number of Apple users who can not follow instructions sufficiently to stop themselves tripping the network trip wire.
If you're googling for "mac address allocations" you really want the "Organizationally Unique Identifier" from here
#!/usr/bin/python
import os, pickle, sys
OUI_ALLOCATIONS="http://standards.ieee.org/regauth/oui/oui.txt"
CACHE_FILE="/home/ianw/.mac2prod.cache"
class MACCache:
maccache = {}
def __init__(self, recache):
if (recache):
self.setup_cache()
return
try:
f = open(CACHE_FILE, "r")
unpickler = pickle.Unpickler(f)
self.maccache = unpickler.load()
except:
self.setup_cache()
def setup_cache(self):
f = os.popen("wget --quiet -O - " + OUI_ALLOCATIONS)
for l in f.readlines():
if l.find("(hex)") > 0:
sl = l.split("\t")
name = sl[2].strip()
mac = sl[0][0:8].replace("-",":")
self.maccache[mac] = name
of = open(CACHE_FILE, 'w')
pickler = pickle.Pickler(of)
pickler.dump(self.maccache)
def usage():
print "usage: mac2prod [-re-cache] 00:00:00:00:00:00"
sys.exit(1)
if not len(sys.argv):
usage()
if (sys.argv[1] == "-re-cache"):
recache = True
sys.argv.remove(sys.argv[1])
else:
recache = False
if len(sys.argv[1]) != 17 or len(sys.argv[1].split(":")) != 6 :
usage()
mc = MACCache(recache)
try:
print mc.maccache[sys.argv[1][0:8].upper()]
except:
print "Unknown Producer"