Consegui obter os endereços MAC de sistemas na mesma rede (minha própria rede local) usando o seguinte código.
Além disso, você precisa executar este código como root (usando sudo
)
#!/usr/bin/env python
import nmap
nm = nmap.PortScanner()
cidr2='192.168.1.99/24'
a=nm.scan(hosts=cidr2, arguments='-sP')
for k,v in a['scan'].iteritems():
if str(v['status']['state']) == 'up':
print str(v)
try: print str(v['addresses']['ipv4']) + ' => ' + str(v['addresses']['mac'])
except: print str(v['addresses']['ipv4'])
Fonte: é possível obter o endereço MAC da máquina usando o nmap