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

时间:2012-11-03 18:28:49

标签: nmap

我在文本文件中有一个远程机器列表。我可以使用nmap知道他们的MAC地址吗?

10 个答案:

答案 0 :(得分:49)

如果您使用的是nmap,则如果您与目标位于同一网段,则MAC地址 可用。如果您以root用户身份运行,则较新版本的nmap将仅向您显示MAC地址。

即:

  

sudo nmap -sP -n 192.168.0.0/24

答案 1 :(得分:16)

使用 snmp-interfaces.nse nmap脚本(用lua编写)获取远程机器的MAC地址,如下所示:

nmap -sU -p 161 -T4 -d -v -n -Pn --script snmp-interfaces 80.234.33.182

Completed NSE at 13:25, 2.69s elapsed
Nmap scan report for 80.234.33.182
Host is up, received user-set (0.078s latency).
Scanned at 2014-08-22 13:25:29 Арабское время (зима) for 3s
PORT    STATE SERVICE REASON
161/udp open  snmp    udp-response
| snmp-interfaces: 
|   eth
|     MAC address: 00:50:60:03:81:c9 (Tandberg Telecom AS)
|     Type: ethernetCsmacd  Speed: 10 Mbps
|     Status: up
|     Traffic stats: 1.27 Gb sent, 53.91 Mb received
|   lo
|     Type: softwareLoopback  Speed: 0 Kbps
|     Status: up
|_    Traffic stats: 4.10 Kb sent, 4.10 Kb received

答案 2 :(得分:4)

在当前版本的nmap中,您可以使用:

sudo nmap -sn 192.168.0.*

这将打印所有可用主机的MAC地址。当然,请提供您自己的网络,子网和主机ID。

可以找到进一步的解释here

答案 3 :(得分:3)

有些脚本可以满足您的需求。如果节点正在运行Samba或Windows,则nbstat.nse将显示MAC地址和供应商。

sudo nmap -sU -script=nbstat.nse -p137 --open 172.192.10.0/23 -oX 172.192.10.0.xml | grep MAC * | awk -F";" {'print $4'}

答案 4 :(得分:2)

是的,请记住使用root帐户。

=======================================

qq@peliosis:~$ sudo nmap -sP -n xxx.xxx.xxx

Starting Nmap 6.00 ( http://nmap.org ) at 2016-06-24 16:45 CST

Nmap scan report for xxx.xxx.xxx

Host is up (0.0014s latency).

MAC Address: 00:13:D4:0F:F0:C1 (Asustek Computer)

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

答案 5 :(得分:2)

if $ ping -c 1 192.168.x.x 

返回

1 packets transmitted, 1 received, 0% packet loss, time ###ms

然后你可以通过arping返回MAC地址,但ARP只能在本地网络上运行,而不能通过互联网。

$ arping -c 1 192.168.x.x

ARPING 192.168.x.x from 192.168.x.x wlan0
Unicast reply from 192.168.x.x [AA:BB:CC:##:##:##]  192.772ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

最后,您可以使用AA:BB:CC并删除冒号,以识别其供应商ID中的设备。

$ grep -i '709E29' /usr/local/share/nmap/nmap-mac-prefixes 
709E29 Sony Interactive Entertainment

答案 6 :(得分:1)

只需标准扫描即可返回MAC。

nmap -sS target

答案 7 :(得分:1)

nmap只有在

时才能发现远程目标的MAC地址
  • 目标与机器nmap运行在同一链接上,或
  • 目标通过SNMP,NetBIOS等泄漏此信息。

如果目标使用EUI-64标识符,则IPv6会带来另一种可能性,然后可以从IP地址推断出MAC地址。

除了上述可能性之外,还有没有可靠的方法来通过网络扫描技术获取远程目标的MAC地址。

答案 8 :(得分:1)

我不够酷,无法对帖子发表评论。 所以我想我需要发一个新帖子。 不过上面的推荐 " sudo nmap -sn 192.168.0.0/24" 是获取IP的所有MAC的最快捷方法 本地网络/ vlan /子网 OP没有提到的是获取MAC地址的唯一方法 这样,你必须使用sudo(或其他超级用户权限,即Windows管理员) 命令 nmap -sn 192.168.0.0/24将发现网络上的主机,但不会返回MAC,因为您没有处于SU模式。

答案 9 :(得分:0)

使用最新版本的nmap 6.40,它会自动显示MAC地址。例如:

nmap 192.168.0.1-255

此命令会将您的网络从192.168.0.1扫描到255,并在您的网络上显示主机及其MAC地址。

如果您想显示单个客户端的mac地址,请使用此命令确保您使用root或使用" sudo"

sudo nmap -Pn 192.168.0.1

此命令将显示主机MAC地址和开放端口。

希望这很有帮助。