如何使用 python-nmap 获取机器的 MAC 地址?

如何使用 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'])

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

来源:是否可以使用 nmap 获取机器的 MAC 地址

相关内容