【发布时间】:2012-11-13 05:21:41
【问题描述】:
我有一个 shell 脚本,它使用 etherwake 唤醒本地网络上的一台机器。 机器唤醒后,无法确定IP地址。
在尝试回答我自己的问题时,我想出了:
ip=$(ping -c 1 hostname | head -1 | awk '{print $3}' | sed 's/[()]//g')
这个解决方案规定我知道远程机器的主机名,这不是那么繁琐。
如果我只知道 MAC 地址,有没有办法获取 IP?
【问题讨论】:
-
如果您知道主机名,请解析它的 ip,就像解析任何其他主机名一样。需要注意的是,ping 命令首先在其代码中调用 gethostbyname 来解析主机名的 ip。
-
如果您与具有已知 MAC 地址的系统位于同一交换机/集线器/交叉阴谋集团,则可以执行 RARP
-
@ahmad :看起来 arping 是获取已知 IP 的 MAC 的便捷方式。我没有看到它可以以另一种方式工作。
-
@johnathon :追求这个问题使我得出结论,知道主机名可以导致其他一切。 gethostip -- 主机名 => IP arping -- 主机名 => IP 和 MAC
-
resolving mac address for IP 的可能重复项
标签: linux networking