在Linux上使用Nmap命令从Mac地址获取IP?

时间:2014-12-16 11:46:31

标签: linux awk nmap

鉴于以下Nmap输出,如何提取与特定MAC地址匹配的IP地址?

Nmap scan report for 10.0.0.2
Host is up (0.0011s latency).
MAC Address: 00:02:CF:E2:52:4E (ZyGate Communications)
Nmap scan report for 10.0.0.9
Host is up (0.015s latency).
MAC Address: 1C:18:4A:08:88:48 (Unknown)
Nmap scan report for 10.0.0.35
Host is up (0.019s latency).
MAC Address: B8:B4:2E:F9:2B:B1 (Unknown)
Nmap scan report for 10.0.0.40
Host is up (0.00036s latency).
MAC Address: 00:25:11:2C:F6:9C (Elitegroup Computer System )

我想要一个像这样的管道,但它不起作用:

nmap -sP 10.0.0.0-255 | grep 00:25:11 | awk '{print IP ADDRESS}'

2 个答案:

答案 0 :(得分:2)

这可能有所帮助;

nmap -sP....|awk -v mac="00:25:11" '/report for/{ip=$5}$0~mac{print ip}'

您只需更改mac="00:25:11"部分即可进行不同的MAC过滤。

如果您在示例中测试此行,则输出:

10.0.0.40

答案 1 :(得分:0)

嗯,首先 - 真正的问题是什么?!

通常,您无法从MAC获取或解析IP,反之亦然。您可以尝试建立最近找到的IP + MAC匹配的数据库,但这对是独立的。 MAC欺骗和移动笔记本电脑/智能手机可能有助于想象。设备有MAC,但ISP提供IP。没有办法解决另一个问题。您可以通过TCP / IP数据包获得此信息。