Como posso obter os endereços MAC de máquinas usando o python-nmap?

3

Como posso obter os endereços MAC de máquinas usando o python-nmap?

Estou usando o python-nmap para escanear minha rede local, posso obter o ip de vários sistemas, mas não seus endereços MAC.

Como posso obter os endereços MAC nos resultados da verificação?

nm = nmap.PortScanner()    
a=nm.scan(hosts=cidr2, arguments='-sP') 

for k,v in a['scan'].iteritems(): 
        if str(v['status']['state']) == 'up':
                     number_thread += 1
                     print str(v)
             try:    print str(v['addresses']['ipv4']) + ' => ' + str(v['addresses']['mac'])
             except: print str(v['addresses']['ipv4'])
    
por kaio 09.03.2015 / 16:31

1 resposta

1

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

    
por Sylvain Pineau 09.03.2015 / 17:01