Как я могу получить 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