如何从 ip(例如 192.168.1.3)Linux Shell 或 python3 中找到本地设备主机名

How can I find devices hostname in local area from ip (ex. 192.168.1.3) Linux Shell or python3

我有一个 python 脚本可以显示连接到路由器的设备的本地 ip 和 mac,我还需要显示设备名称。

您需要为此目的使用 DNS 之类的东西,除非您提前在主机文件或字典之类的东西中知道机器名称。

要在 Python 中执行 DNS 查找,最简单的方法是使用套接字库:

import socket
print(socket.gethostbyname(ip_from_search)) # sends out a dns query

DNS 的问题很可能是您的本地网络没有 DNS 服务器。

另一种选择是,如果您有凭据并以这种方式提取主机名,则尝试连接到设备。为此,以下线程可能会有所帮助: How to use SSH to run a local shell script on a remote machine?