是否可以从主机名或机器自己的 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/
3)经验
答案2
从技术上讲,这是可能的,但从逻辑上讲不是。只有当主机名绑定到特定 IP 时,我们才能通过 ping 主机名来获取 IP。在本地主机中,主机文件可以完成这项工作;在业务网络上,DNS 可以完成这项工作;在互联网上,DNS 也可以完成这项工作;但 A 记录/cname 也可以完成这项工作。我们还可以获得分配给特定 MAC ID 的 IP 或主机名设置,但这在编程上是可行的,不确定您是否可以使用简单的命令来完成这项工作
要了解您的公共 IP 地址:www.ipconfig.in
编辑:
getent hosts <hostname> | awk
这在本地也有效。