Python-nmapを使用してマシンのMACアドレスを取得するにはどうすればよいですか?
私は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'])
次のコードを使用して、同じネットワーク(ローカルネットワーク)上のシステムの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'])