mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-14 00:24:40 +00:00
use netaddr to lookup mac address
This commit is contained in:
parent
78148368b5
commit
bde7fab3f9
@ -34,17 +34,11 @@ import os
|
||||
import os.path
|
||||
import sys
|
||||
import ujson
|
||||
from netaddr import *
|
||||
|
||||
if __name__ == '__main__':
|
||||
result = []
|
||||
|
||||
# import mac manufacturer mac address table (index by mac prefix)
|
||||
mac_table = {}
|
||||
if os.path.isfile('/usr/local/share/nmap/nmap-mac-prefixes'):
|
||||
for mac in open('/usr/local/share/nmap/nmap-mac-prefixes').read().split('\n'):
|
||||
if len(mac) > 8:
|
||||
mac_table[mac[0:6]] = mac[7:]
|
||||
|
||||
# import dhcp_leases (index by ip address)
|
||||
dhcp_leases = {}
|
||||
dhcp_leases_filename = '/var/dhcpd/var/db/dhcpd.leases'
|
||||
@ -70,9 +64,10 @@ if __name__ == '__main__':
|
||||
'manufacturer': '',
|
||||
'hostname': ''
|
||||
}
|
||||
manufacturer_mac = record['mac'].replace(':' ,'')[:6].upper()
|
||||
if manufacturer_mac in mac_table:
|
||||
record['manufacturer'] = mac_table[manufacturer_mac]
|
||||
manufacturer_mac = EUI(record['mac'])
|
||||
oui = manufacturer_mac.oui
|
||||
if oui.registration().org:
|
||||
record['manufacturer'] = oui.registration().org
|
||||
if record['ip'] in dhcp_leases:
|
||||
record['hostname'] = dhcp_leases[record['ip']]['hostname']
|
||||
result.append(record)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user