web-dev-qa-db-fra.com

Comment puis-je obtenir les adresses MAC des machines utilisant python-nmap?

Comment puis-je obtenir les adresses MAC des machines utilisant python-nmap?

J'utilise python-nmap pour analyser mon réseau local. Je peux obtenir l'adresse IP de plusieurs systèmes, mais pas leurs adresses MAC.

Comment puis-je obtenir les adresses MAC dans les résultats de l'analyse?

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'])
3
kaio

J'ai réussi à obtenir les adresses MAC des systèmes sur le même réseau (mon propre réseau local) en utilisant le code suivant.

De plus vous devez exécuter ce code en tant que root (en utilisant 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'])

Source: est-il possible d’obtenir l’adresse MAC d’une machine en utilisant nmap

1
Sylvain Pineau