web-dev-qa-db-ja.com

python-nmapを使用してマシンのMACアドレスを取得するにはどうすればよいですか?

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

次のコードを使用して、同じネットワーク(ローカルネットワーク)上のシステムの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'])

ソース: nmapを使用してマシンのMACアドレスを取得することは可能ですか

1
Sylvain Pineau