根据主机名或 Mac 地址获取机器的 IP 地址

根据主机名或 Mac 地址获取机器的 IP 地址

是否可以从主机名或机器自己的 mac 地址获取我的机器的 IP 地址?

如果是,怎么办?如果不是,您能建议其他方法吗?

答案1

在评论中的所有建议中,这个似乎是最简单的。

sudo apt-get install arp-scan

sudo arp-scan --interface=wlan0 --localnet其中 wlan0 是您的接口,如果您使用有线网络,您可能会将 wlan0 更改为 eth0。您可以使用ifconfig类似下面的输出找到您的接口,该输出提供本地子网上每台机器的 IP 和 MAC 地址。

$ sudo arp-scan --interface=eth0 --localnet
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.15.2    XX:XX:XX:XX:XX:XX   NETGEAR
192.168.15.24   XX:XX:XX:XX:XX:XX   BROTHER INDUSTRIES, LTD.
192.168.15.103  XX:XX:XX:XX:XX:XX   GIGA-BYTE TECHNOLOGY CO.,LTD.

资料来源:

1)http://www.binarytides.com/scan-the-local-network-with-arp-scan-on-ubuntu/

2)https://superuser.com/questions/261818/how-can-i-list-all-ips-in-the-connected-network-through-terminal-preferably

3)经验

答案2

从技术上讲,这是可能的,但从逻辑上讲不是。只有当主机名绑定到特定 IP 时,我们才能通过 ping 主机名来获取 IP。在本地主机中,主机文件可以完成这项工作;在业务网络上,DNS 可以完成这项工作;在互联网上,DNS 也可以完成这项工作;但 A 记录/cname 也可以完成这项工作。我们还可以获得分配给特定 MAC ID 的 IP 或主机名设置,但这在编程上是可行的,不确定您是否可以使用简单的命令来完成这项工作

要了解您的公共 IP 地址:www.ipconfig.in

编辑:

getent hosts <hostname> | awk

这在本地也有效。

相关内容