diff -r dd21f8ef033a Lib/uuid.py --- a/Lib/uuid.py Sun Dec 07 17:26:43 2014 -0500 +++ b/Lib/uuid.py Mon Dec 08 23:23:54 2014 +0200 @@ -352,7 +352,8 @@ def _ifconfig_getnode(): """Get the hardware address on Unix by running ifconfig.""" # This works on Linux ('' or '-a'), Tru64 ('-av'), but not all Unixes. for args in ('', '-a', '-av'): - mac = _find_mac('ifconfig', args, [b'hwaddr', b'ether'], lambda i: i+1) + mac = _find_mac('ifconfig', args, [b'hwaddr', b'ether', b'address:'], + lambda i: i+1) if mac: return mac @@ -372,7 +373,15 @@ def _arp_getnode(): return None # Try getting the MAC addr from arp based on our IP address (Solaris). - return _find_mac('arp', '-an', [os.fsencode(ip_addr)], lambda i: -1) + mac = _find_mac('arp', '-an', [os.fsencode(ip_addr)], lambda i: -1) + if mac: + return mac + + # This works on NetBSD + mac = _find_mac('arp', '-an', [os.fsencode('(%s)' % ip_addr)], + lambda i: i+2) + if mac: + return mac def _lanscan_getnode(): """Get the hardware address on Unix by running lanscan."""