Как я могу получить MAC-адреса машин, использующих python-nmap?

Как я могу получить MAC-адреса машин, использующих python-nmap?

Я использую python-nmap для сканирования своей локальной сети, я могу получить IP нескольких систем, но не их MAC-адреса.

Как я могу получить MAC-адреса в результатах сканирования?

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

1 ответ

Решение

Мне удалось получить MAC-адреса систем в той же сети (моя собственная локальная сеть), используя следующий код.

Более того, вы должны запустить этот код как root (используя 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'])

Источник: возможно ли получить MAC-адрес для машины, используя nmap

Другие вопросы по тегам