首页 > 解决方案 > 如何从 ip(例如 192.168.1.3)Linux Shell 或 python3 在本地找到设备主机名

问题描述

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

标签: pythonlinuxshelllocal-network

解决方案


为此,您需要使用 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?


推荐阅读