'The list of all MAC addresses on this machine.'

def __getmacaddrs(self):

    macaddrs = []
    if sys.platform.startswith('win'):
        c = re.compile((('\\s(' + ('[0-9a-f]{2}-' * 5)) + '[0-9a-f]{2})(\\s|$)'), re.IGNORECASE)
        (p_in, p_out, p_err) = os.popen3('ipconfig    /all')
        for line in p_out:
            m = c.search(line)
            if m:
                macaddrs.append(re.sub('-', ':', m.group(1)).upper())
    elif sys.platform.startswith('darwin'):
        c = re.compile((('\\s(' + ('[0-9a-f]{2}:' * 5)) + '[0-9a-f]{2})(\\s|$)'), re.IGNORECASE)
        output = subprocess.check_output('/sbin/ifconfig    -a', shell=True)
        matches = c.findall(output)
        for m in matches:
            macaddrs.append(m[0].upper())
    else:
        c = re.compile((('\\s(' + ('[0-9a-f]{2}-' * 5)) + '[0-9a-f]{2})(\\s|$)'), re.IGNORECASE)
        for line in os.popen('ipconfig    /all'):
            m = c.search(line)
            if m:
                macaddrs.append(re.sub('-', ':', m.group(1)).upper())
    macaddrs.extend(self._serials)
    return macaddrs
